OI in 7.10.1

Sergei Meshveliani mechvel at botik.ru
Thu May 21 12:00:02 UTC 2015

Please, what is wrong here?

module OI where
class Foo a where foo :: a -> Bool

instance Foo Bool where foo _ = True

data C a = C a

instance {-# OVERLAPPING #-} Foo a => Foo (C a) where foo (C a) = foo a
instance {-# OVERLAPPING #-} Foo (C Bool)       where foo _ = False

By this I intended to test the overlapping instance control. 
I set the pragma as it is shown in the User guide.
    ghc-7.10.1  -c -XFlexibleInstances OI.hs

reports  "Unrecognised pragma".

Please, advise,


More information about the Glasgow-haskell-users mailing list