SWI-Prolog
carstenheisterkamp