Hello!
I've managed to reduce your code to a much simpler test case (without
parsec) but I'm still not sure why this is happening:
{-# LANGUAGE MultiParamTypeClasses, FlexibleContexts #-}
data D m
= D { bar1 :: P m ()
, bar2 :: P m ()
}
data P m c = P
class S m c where
foo :: S m () => P m ()
foo = undefined
emptyDef :: S m () => D m
emptyDef
= D
{ bar1 = foo
, bar2 = foo
}
haskellStyle :: S m () => D m
haskellStyle
= emptyDef
{ bar1 = foo
, bar2 = foo
}
Cheers,
--
Felipe.
_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell-cafe