a lambda calculus parser/evaluator in c++