Комментарий о scala.tools.reflect.Toolbox
поставил меня на правильный путь, и я смог ответить на свой вопрос.Примерно так я и искал:
import scala.reflect.runtime._
import scala.reflect.runtime.universe._
import scala.tools.reflect.ToolBox
object Main extends App {
val cm = universe.runtimeMirror(getClass.getClassLoader)
val toolBox = cm.mkToolBox()
val f = toolBox.eval(toolBox.parse("""(x:Double) => x*x"""))
f match {
case f1:scala.Function1[Double, Any] =>
println(f1(4.4))
case _ =>
throw new Exception("Expected a Function1[Double,Any] but got something else")
}
}