Prolog interpreter with C++ compiler just a C++ template meta programing toy still under constructing