SWI-Prolog
DanielSchwartz