【发布时间】:2015-09-17 18:28:56
【问题描述】:
所以我的问题是:
1)(这更具体,与我遇到的问题有关)我如何知道数字的默认类型,即 GHCi 中目前使用的 default (T1, ...) 中的 Ts?
2) 有没有办法让输入代码和加载代码在 GHCi 中的行为始终相同? (不包括与键入代码在 IO Monad 中运行这一事实相关的差异)例如,我不应该包含某种扩展名(例如,ExtendedDefaultRules),以便文件中的代码完全按照提示运行.
3) 我如何调用 GHC 和 GHCi 以便相同的代码无论是通过 GHC 还是 GHCi 运行都显示相同的行为? (假设我加载一个应用程序的主文件并在 GHCi 中输入 run main)
谢谢
【问题讨论】:
-
查看downloads.haskell.org/~ghc/latest/docs/html/users_guide/… 的结尾以及从那里链接的部分。
-
我认为在 GHCi 中无法使单态性限制正常工作,因为无法根据解释器尚未看到的内容来推断表达式的类型。因此,您需要使用
NoMonomorphismRestriction或文件中的任何名称。 -
@dfeuer 我使用的是 7.10.2,因此限制不适用。但很高兴知道这一点。
-
单态限制当然适用于文件,即使在 7.10.2 中也是如此。
-
@ØrjanJohansen 很高兴知道,但为什么会有这样的差异?为什么文件也没有关闭?从阅读 RWH 书看来,这将被删除?为什么还没有被删除?此处需要澄清。
标签: haskell