SWI-Prolog
David