Here's an even smaller one:
{-# LANGUAGE MultiParamTypeClasses, FlexibleContexts #-}
data D m = D { bar :: 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 foo
haskellStyle :: S m () => D m
haskellStyle = emptyDef { bar = foo }
Cheers,
--
Felipe.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe
