[Haskell] PROPOSAL: class aliases
Jacques Carette
carette at mcmaster.ca
Thu Oct 13 14:12:16 EDT 2005
Paul Govereau wrote:
> Of course, if we
>allow union and subtraction, then why not addition, intersection,
>complement (ok, maybe not complement).
>
>
Class definitions (including constraints and defaults) are essentially
(syntactic) theory signatures (as in Institutions, from Goguen,
Burstall, and later many others). And, as Oleg has pointed out some
months back, Haskell's classes have a close relationship to Ocaml's
Functor and Modules. Learning from what they have learned:
1) theory signatures form a category, and have 'natural' operations
defined on them. Addition, intersection, union, subtraction are amongst
them, as is renaming. They are all very useful operations on
specifications, so they ought to be available on class definitions as well.
2) A recent proposal to extend the language of Modules, co-authored by a
certain Paul Goverau
(see http://www.eecs.harvard.edu/~nr/pubs/els-abstract.html)
advocates something quite similar for ML!
I firmly believe that there is a translation of all of the proposals in
the above (via Oleg's work) into equivalent proposals for Haskell.
Which I would certainly like to see happen.
I would recommend making sure that all the transformations available in
Specware (http://www.specware.org/) be reviewed as well. They overlap
A LOT with the ones in (2) above, but I do not think the coverage is
complete.
Jacques
More information about the Haskell
mailing list