我一直在玩plugins package提供的“eval”功能。它非常适合评估单个函数。
我想知道,有没有办法输入整个模块,并从该模块中评估一个值(但允许该值引用模块中的其他内容)
例如,现在我正在做类似
的事情x :: Int
where
y = 2
z = 3
x = y+z
我想做点什么
module Foo where
import Bar
x :: Int
x = y+z
y = 2 :: Int
z = 3 :: Int
然后我在字符串上使用“eval”并以某种方式返回x
。
我可以使用plugins.load函数,但我真的希望能够从字符串中评估directoy,而不必从对象或临时文件加载。