> Why are type constructors and classes in the same namespace?
Because otherwise the syntax
module M ( T ) where
would be ambiguous. I suppose it could be resolved to mean "export the
class and/or data type T". It was proposed for Haskell 98 that the syntax
be changed to
module M ( class T ) where
or
module M ( type T ) where
but the proposal was not adopted, because of the amount of breakage this
would cause.
Cheers,
Simon
- Type and class names Marcin 'Qrczak' Kowalczyk
- Simon Marlow
