SWI-Prolog
michaelby