libmx
A framework for dealing with lambda calculus expressions.
...Among other features it provides
o a template instantiation machine for evaluating the value of an lambda calculus expression,
o a template instantiation machine for evaluating the Hindley-Milner type (http://en.wikipedia.org/wiki/Hindley-Milner) of an lambda calculus expression, and
o reference counter based memory management for lambda calculus expressions and types.
"libmx" is written in C (C99).