Вы пытались покопаться в scala.tools.nsc?
Достаточно ли чего-то такого для вас (или, по крайней мере, для хорошей начальной точки)?
scala> val interpreter = new tools.nsc.Interpreter
interpreter: scala.tools.nsc.Interpreter = scala.tools.nsc.Interpreter@522c5afb
scala> interpreter interpret "(3, 5)"
res0: (Int, Int) = (3,5)
res139: scala.tools.nsc.InterpreterResults.Result = Success
scala> interpreter interpret "1 to 10 toList"
res1: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
res140: scala.tools.nsc.InterpreterResults.Result = Success
[Edit: кажется, что tools.nsc.Interpreter устарела.Теперь есть пакет tools.nsc.interpreter]