Look at Racket. It hosts multiple languages including prolog/solver variants. Racket is made to create variant languages so you could start with a working system and change it to try designs. Here's just a few relevant Racket links:
https://docs.racket-lang.org/racklog/index.html