Hi all
I am rather confused about default. In section 4.3.4 the report says "each ti must be a monotype for which Num ti holds" but according to grep this is the only place "monotype" appears in the report. If I have the module module TT (Foo(..)) where default (Foo, [Foo], Foo -> Int) data Foo = Foo deriving (Eq, Show) instance Num Foo where {} instance (Eq a, Show a) => Num [a] where {} instance Eq (a -> b) where {} instance Show (a -> b) where {} instance Num (a -> b) where {} then hugs accepts it and TT> 5 Program error: Undefined member: fromInteger ghc accepts it and TT> 5 5 nhc tells me Error when renaming:: Illegal type in default at 4:17 If I remove all the list and function stuff then hi says TT> 5 5 If I have a main = putStrLn $ show 5 then nhc gives me TT> main No default definition for class method fromInteger and ghci gives me Main> main *** Exception: TT.lhs:8: No instance nor default method for class operation PrelNum.fromInteger It seems to me that hugs is in the right with it's handling of 5, but I am not sure who is wrong with default ([Foo]) or (Foo -> Int). Finally, the context free grammar doesn't currently enforce the restriction that only one default declaration be given. Fixing it would make rather a mess, though. Ian _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell