Ambiguous type variable `a' in the top-level constraint:
`ATermConvertibleSML a'
arising from use of `las' at /home/maeder/haskell/examples/NoMonoRestr.hs:29
(comenting out the initial "OPTIONS" line, will make it go through)
Cheers Christian
{-# OPTIONS -fno-monomorphism-restriction #-} module NoMonoRestr where
data ShATerm = ShAAppl String [Int] [Int] data ATermTable = ATermTable getATerm :: ATermTable -> ShATerm getATerm = undefined data Annotation = Annotation data Annoted a = Annoted a [Annotation] from_sml_ATermAnnotedBasic_Items :: ATermConvertibleSML a => ATermTable -> (a,[Annotation]) from_sml_ATermAnnotedBasic_Items = undefined class ATermConvertibleSML t where from_sml_ShATerm :: ATermTable -> t instance (ATermConvertibleSML a) => ATermConvertibleSML (Annoted a) where from_sml_ShATerm att = case aterm of (ShAAppl con as _) -> (case con of "pos-BASIC-ITEMS" -> let (bi,las) = from_sml_ATermAnnotedBasic_Items att in Annoted bi las ) where aterm = getATerm att
_______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users