SWI-Prolog
Michael