最新版本的 Happy 使用 GHC 7.10.4 给出以下错误消息
没有由实例声明的超类产生的 (Applicative HappyIdentity) 实例
我想我不应该搞砸Happy,但是我该如何解决我的问题呢?
从 GHC 7.10 开始,“Applicative Monad Proposal”已经实施。这是一个重大更改,Happy 库尚未更新以解决此问题。
haskell wiki 中有一个迁移指南,它正好解决了这个问题。
基本上,现在Applicative
和Functor
现在是Monad
您需要添加实例声明的超类。在这种情况下HappyIdentity
是一个实例,Monad
因此您需要添加实例Applicative HappyIdentity
和Functor HappyIdentity
. 此外,Monad
可以删除该实例,因为它现在是多余的。
在不自己修改库的情况下,唯一的选择是升级到较早的 GHC 版本或等到库维护者更新库。