SWI-Prolog
Sam