I'd venture to say.. Prolog and Shen. Specifically, I am implementing a modern Prolog in Rust that will encompass the results of some more recent (ie. current century) research within the logic programming/Prolog community. It's here:
Also, using the SICStus interface and semantics for attributed variables should make for some very general constraint solvers, yes.