> 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