【发布时间】:2013-08-14 10:41:34
【问题描述】:
由于这些灵活的上下文和实例在 Haskell 标准中不可用,我认为在使用它们时存在潜在问题。这些是什么?它们会导致一些歧义、不可判定性、重叠实例等吗?
有一个similar question 只询问FlexibleInstances,而不是FlexibleContexts,但答案只说“使用它们是安全的”。
【问题讨论】:
-
据我所知,它们只是他们在编写标准时没有考虑到的东西,但事实证明它们很有用,因此 GHC 将它们作为扩展包含在内。我能想到的明显缺陷是使用它们编写的代码不能与其他编译器一起使用。但我相信其他人知道的更多。
-
您可以在answer 的edit history 中看到一个示例。我first did something wrong(在修订版 1 中)并得到 GHCi 的建议添加 FlexibleContexts。它编译。 (我一开始在课堂上根本没有基因组约束,而是用 FlexContxs 编译的)。
-
@WillNess 这个很难发现,能不能给个答案?
标签: haskell ghc language-extension