Modern ISO Prolog implementation written mostly in Rust
scryer-prolog
$ scryer-prolog
$ scryer-prolog program.pl
$ scryer-prolog -g "member(X, [1,2,3])."