SCalc is a library that provides elements for symbolic calculus and (relatively) fast evaluation. It is meant to be a simple calculus language, with support for variables and user-defined functions. Typical entries that the parser understands look like:
1 + 1 x = 2 1 + x sin(x) f : x -> x**2 f(3) f(x)
Its main entry points are SCalc::Session, an object that holds a complete session, keeping track of defined variables, SCalc::ParserResult, the return value for an evaluation and its children, SCalc::Expression, SCalc::FuncDef and SCalc::SyntaxError.