Symbolism is a library that allows you to use symbolic programming techniques directly in C++. It allows you to program in a way similar in spirit to LISP or Prolog using only C++ operators: "()" for term construction and "==" for pattern matching.