[Haskell-cafe] Polymorphic algebraic type constructors

MR K P SCHUPKE k.schupke at imperial.ac.uk
Wed Jun 23 07:40:08 EDT 2004

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?


More information about the Haskell-Cafe mailing list