applicativeParsec.hs in Real World Haskell not compiling any more

A year ago I made a program. I took code from ApplicativeParsec.hs (capt. 16 Real World Haskell). The program compiled and ran flawless. Now (after a year) I've upgraded to GHC version 7.0.4 (Windows) and I want to change something. But the unchanged version doesn't compile any more. I get warning: ApplicativeParsec.hs:17:10: Illegal instance declaration for `Applicative (GenParser s a)' (All instance types must be of the form (T t1 ... tn) where T is not a synonym. Use -XTypeSynonymInstances if you want to disable this.) In the instance declaration for `Applicative (GenParser s a)' ApplicativeParsec.hs:22:10: Illegal instance declaration for `Alternative ....(same advice as above) So I added TypeSynonymInstances. Then I got: ApplicativeParsec.hs:22:10: Overlapping instances for Applicative (GenParser s a) arising from the superclasses of an instance declaration Matching instances: instance Applicative (Text.Parsec.Prim.ParsecT s u m) -- Defined in Text.Parsec.Prim instance Applicative (GenParser s a) -- Defined at ApplicativeParsec.hs:17:10-36 In the instance declaration for `Alternative (GenParser s a)' Then I added the OverlappingInstances directive. Same error and no compilation. I wonder, is this the new GHC version? And what can I do about it? Kees
participants (1)
-
Kees Bleijenberg