atom feed35 messages in org.haskell.haskell[Haskell] PROPOSAL: class aliases
FromSent OnAttachments
John MeachamOct 12, 2005 7:41 pm 
Philippa CowderoyOct 12, 2005 7:55 pm 
John MeachamOct 12, 2005 8:16 pm 
Wolfgang JeltschOct 13, 2005 5:48 am 
John MeachamOct 13, 2005 6:03 am 
Malcolm WallaceOct 13, 2005 6:15 am 
Andres LoehOct 13, 2005 6:23 am 
Malcolm WallaceOct 13, 2005 6:29 am 
John MeachamOct 13, 2005 6:37 am 
John MeachamOct 13, 2005 6:39 am 
Simon Peyton-JonesOct 13, 2005 7:02 am 
Benjamin FranksenOct 13, 2005 7:26 am 
Benjamin FranksenOct 13, 2005 7:33 am 
S.M.KahrsOct 13, 2005 7:37 am 
John MeachamOct 13, 2005 8:32 am 
Simon Peyton-JonesOct 13, 2005 9:23 am 
Udo StenzelOct 13, 2005 9:46 am 
Jan-Willem MaessenOct 13, 2005 9:58 am 
Paul GovereauOct 13, 2005 1:21 pm 
Jacques CaretteOct 13, 2005 1:52 pm 
John MeachamOct 13, 2005 4:45 pm 
John MeachamOct 13, 2005 6:13 pm 
John MeachamOct 13, 2005 6:21 pm 
David MenendezOct 13, 2005 6:49 pm 
John MeachamOct 13, 2005 8:33 pm 
aj...@spamcop.netOct 13, 2005 11:25 pm 
Ashley YakeleyOct 14, 2005 6:20 am 
Ashley YakeleyOct 14, 2005 6:31 am 
Wolfgang JeltschOct 14, 2005 9:46 am 
Wolfgang JeltschOct 14, 2005 11:44 am 
Wolfgang JeltschOct 14, 2005 11:47 am 
Remi TurkOct 14, 2005 2:05 pm 
Udo StenzelOct 15, 2005 6:15 am 
Ross PatersonOct 27, 2005 6:58 am 
Wolfgang JeltschOct 28, 2005 7:05 am 
Subject:[Haskell] PROPOSAL: class aliases
From:Jacques Carette (care@mcmaster.ca)
Date:Oct 13, 2005 1:52:26 pm
List:org.haskell.haskell

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