attoparsec
失败了。
Data/Attoparsec/ByteString/Internal.hs:519:7:
Illegal equational constraint a_audv ~ (ByteString, t)
(Use GADTs or TypeFamilies to permit this)
In the context: (a_audv ~ (ByteString, t))
While checking the inferred type for ‘succ'’
In the expression:
let
succ' t' pos' more' a
= succ t' pos' more' (substring pos (pos' - pos) t', a)
in runParser p t pos more lose succ'
In the second argument of ‘($)’, namely
‘\ t pos more lose succ
-> let succ' t' pos' more' a = ...
in runParser p t pos more lose succ'’
我错过了任何语言扩展吗?或者这个问题会更棘手吗?这是我的cabal文件:http://lpaste.net/105329
任何帮助都会令人难以置信:)快乐黑客!
答案 0 :(得分:2)
目前,使用ghc-7.8的最佳方法(如果您的发行包管理器不包含它)是转到ghc download page并按照current stable release的说明进行操作。有二进制包,或者你可以从源代码安装(使用源代码压缩包,这可以像./configure && make && make install
一样简单,但你需要有一个工作的ghc)。
如果您从源代码安装,可以考虑更改版本,例如到7.8.2.1。您可以通过修改AC_INIT
中的configure.ac
行,然后在autoreconf
之前执行configure
来执行此操作。如果您这样做,并且还安装到特定于版本的位置(例如/usr/local/ghc/ghc-7.8.2.1.src
,可以通过./configure --PREFIX=/path/to/install
设置),您将能够同时安装本地编译版本打包安装(或平台,或任何其他版本)。
请注意,ghc-7.8.3很快就会到期(最多可能在两周内);这是一个错误修复版本。目前还没有包含ghc-7.8的Haskell平台版本,因此目前不是一个选项。