SWI-Prolog
MichaelTurner