SWI-Prolog
Dave