as of the time of this writing, I'm running the newest GHC (7.9.20140608) and cabal (1.20.0.0), and it seems that attoparsec
is failing.
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'’
Am I missing any language extensions? Or would this issue be a little more tricky? Here is my cabal file: http://lpaste.net/105329
Any help with this would be incredible :) Happy Hacking!
For now, the best way to use ghc-7.8 (if your distro package manager doesn't include it) is to go to the ghc download page and follow the directions for the current stable release. There are binary packages, or you can install from source (with a source tarball, this can be as simple as ./configure && make && make install
, but you'll need to have a working ghc already).
If you do install from source, you might consider changing the version, e.g. to 7.8.2.1. You can do this by editing the AC_INIT
line in configure.ac
then executing autoreconf
before configure
. If you do this, and also install to a version-specific location (e.g. /usr/local/ghc/ghc-7.8.2.1.src
, this can be set via ./configure --PREFIX=/path/to/install
), you'll be able to have your locally-compiled version installed concurrently with the packaged installation (or platform, or any other versions).
Be advised that ghc-7.8.3 is due out shortly (probably within two weeks at most); it's a bugfix release. Also there is currently no Haskell Platform release that includes ghc-7.8, so that's not an option at this time.