LogicProgrammingInCpp (LC++) is a program structure in CeePlusPlus (a header) written using FunctoidsInCpp (FC++) by the same authors. It implements LogicProgramming in CeePlusPlus. http://people.cs.umass.edu/~yannis/lc++/ There is a paper ''Logic Programming in C++ with the LC++ Library'' by Brian M''''''cNamara and Yannis Smaragdakis which explains this and gives examples. http://people.cs.umass.edu/~yannis/lc++/paper.pdf Inspection of the paper reveals that the query mechanism uses ContinuationPassingStyle. The authors are not further developing it currently. This means that the main limitations which they identify in their paper have remained in that version. I have done some work towards resolving these as follows. * Increase the maximum number of parameters on a functor from 2 to 5 * Develop a way to set the number of results from a query. * Implement a way to remove the last assertion to a functoid * Clear all assertions on a functoid. (I haven't found a way to remove a particular assertion.) * Implement a variable based on BoostAny which can hold a number of different variable types. This I hope increases the usefulness of this code. -- JohnFletcher Mentioned in OoppExploringTheMultiparadigmShift. ---- I am wondering if I could use this to do DeclarativeMetaprogramming. ---- CategoryCpp CategoryMultiparadigm CategoryCppTemplates CategoryFunctionalProgramming