我一直在玩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,而不必从对象或临时文件加载 .