【问题标题】:Haskell: Problems using Happy 1.19.5 with GHC 7.10.3Haskell:在 GHC 7.10.3 中使用 Happy 1.19.5 时出现问题
【发布时间】:2016-04-11 08:54:50
【问题描述】:

Happy 的最新版本在 GHC 7.10.4 中给出以下错误消息

没有 (Applicative HappyIdentity) 的实例 由实例声明的超类产生

我想我不应该搞砸Happy,但是我该如何解决我的问题呢?

【问题讨论】:

  • happy 1.19.5 实际上用 GHC 7.10.3 对我来说编译得很好。您确定要编译 1.19.5 而不是旧版本吗?

标签: haskell happy


【解决方案1】:

从 GHC 7.10 开始,"Applicative Monad Proposal" 已经实现。这是一个重大更改,Happy 库尚未更新以解决此问题。

haskell wiki 中有一个migration guide,正好解决了这个问题。

基本上因为ApplicativeFunctor 现在是Monad 的超类,您需要添加实例声明。在这种情况下,HappyIdentityMonad 的一个实例,因此您需要添加实例Applicative HappyIdentityFunctor HappyIdentity。此外,Monad 实例可以删除,因为它现在是多余的。

在不自己修改库的情况下,唯一的选择是升级到较早的 GHC 版本或等到库维护者更新库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 2015-07-11
    • 2014-06-02
    • 1970-01-01
    相关资源
    最近更新 更多