SWI-Prolog
Hartperson