Kalk is a calculator (both program and library) that supports user-defined variables, functions, and units (experimental).