On Wednesday 23 Jun 2004 12:40 pm, MR K P SCHUPKE wrote: > What you are suggesting - whilst it seems reasonable requires > a fundamental change to the type system. At the moment [] > signifies an empty list of type 'a' ... what you are suggesting > requires [] to have a different type from [a]... This means > a simple case statement : > > case a of > (a:as) -> > [] -> > > would now not type because everything on the LHS of the cases must > be the same type. > > Infact I don't see how it could be any other way... 'a' has a type > call it [a]... how could [] be any other type?
I think all occurences of [] have type forall a. [a] The case expression.. case a of (a':as) -> <expr1> [] -> <expr2> Should be typed as if written.. case a of (a':as) -> let a=(a':as) in <expr1> [] -> let a=[] in <expr2> Regards -- Adrian Hey _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe