如何在GHCi重载之间保持环境?

gor*_*um0 9 environment haskell ghci

基本上当我:load name.hs变量和绑定消失了.

有没有选择告诉ghci保留一切?

n. *_* m. 4

要加载新模块,您可以使用

Prelude> :m + Mymodule
Run Code Online (Sandbox Code Playgroud)

但重新加载并保持交互式绑定通常是不可能的。重新加载本质上是忘记所有模块并重新加载它们。绑定可能取决于已加载的模块。依赖关系逻辑表明,当 GHCI 忘记某个模块时,它还需要忘记依赖于该模块的所有内容,包括交互式绑定。

例如,GHCI 可以存储用于创建绑定的命令文本,并尝试在重新加载时重新运行这些命令,因为知道其中一些命令可能会失败。但这很快就会变得棘手,所以没有这样做。