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 Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe