2016-04-11 28 views
1

快乐的最新版本给出了GHC 7.10.4哈斯克尔:用快乐1.19.5与GHC问题7.10.3

没有实例(应用型HappyIdentity) 以下错误消息从一个实例的产生超声明

我认为我应该nof乱了快乐,但我怎么能解决我的问题?

+1

开心1.19.5实际上用GHC 7.10.3编译得很好。你确定你试图编译1.19.5而不是旧版本吗? – Xandaros

回答

1

从GHC 7.10开始,"Applicative Monad Proposal"已经实施。这是一个突破性改变,而快乐图书馆尚未更新以解决这个问题。

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

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

不需要自己修改库,唯一的选择就是推荐更早的GHC版本,或者等到图书馆维护人员更新库。