Johannes Waldmann <[EMAIL PROTECTED]> wrote: > Sounds like the perfect example to illustrate the point > that information shouldn't be doubled in the first place.
Yes, I suppose one could argue that. > Can you say why you want the type in the export list? As a compact description of the module interface. Many people already do it, except that the signature is in a comment, and therefore not checked. > Or really, why you want an export list at all? An explicit interface would be useful for many purposes besides machine-checked documentation. For instance, it could be used to eliminate the hs-boot or hi-boot files used by some compilers when dealing with recursive modules. > Presumably because it constitutes the module's "interface", > but it is an ad-hoc thing (one interface per module). > We already have the concept of "type class" > which gives us re-usable interfaces. Isn't that much better? The near correspondence between type classes, modules, and records, is well-known, yet still they are separate concepts in Haskell. Perhaps one day they will be merged. However, in the meantime, for both records and classes one is forced to give a signature to the contained elements/methods. For consistency, modules should do the same... Regards, Malcolm _______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://haskell.org/mailman/listinfo/haskell-prime