对于我正在编写的工具(http://hackage.haskell.org/package/explore),我需要一种在运行时读取 haskell 函数定义的方法,将它们应用于我的工具中的值并检索其应用程序的结果.
谁能给我一个使用 GHC(6.10.4 或 6.12.1)API 的非常基本的示例?
在运行时从文件中读取的示例函数定义:
f x = 10**(4/1102*x - 1)
预期的程序输出
--mapM_ print $ map f [428, 410, 389]
3.577165388142748
3.077536885227335
2.5821307011665815
!!更新!!
我发布了一个快速答案,但它在执行目录中创建了一个目标文件,任何避免这种情况和避免所有文件 IO 的提示都是最受欢迎的。我还希望看到一个可以在内存中完成所有操作的版本:例如,用户在 GUI 中提供函数定义,并且编译/评估不会创建任何目标文件。