A textual front end to the Mathematica kernel and a C++ class (MLBridge) one can use to construct such a front end.