Prolog.c: a simple Prolog interpreter written in 200 LOC of C++ (www.cl.cam.ac.uk)