maude-help AT lists.siebelschool.illinois.edu
Subject: Maude-help mailing list
List archive
- From: Francisco Durán <duran AT lcc.uma.es>
- To: pbrowne <Patrick.Browne AT comp.dit.ie>
- Cc: maude-help AT cs.uiuc.edu
- Subject: Re: [Maude-help] Wadler's expression problem and Maude
- Date: Sat, 2 Jan 2010 01:16:58 +0100
- List-archive: <http://lists.cs.uiuc.edu/mailman/private/maude-help>
- List-id: <maude-help.cs.uiuc.edu>
Hi Pat,
I agree with you. I think Maude does not suffer from the expression problem. Order-sortedness gives a very expressive power, and makes "classifying" very precise.
I don't think however that I would buy your solution. If I wanted to define a new constructor for a sort S, I would import S in protecting mode, and define a supersort of it S'. Notice that in this way all functions on S still work, and I only need to worry about those I want to add. If I wanted to "extend" some of the previously defined functions to my new sort S', I'd just need to add the subsort overloaded declaration and cover the new cases. Notice that in this way you get the advantages of "closed types" for defining total functions at the time you have facilities for extending available types.
Happy new year,
Paco
El 31/12/2009, a las 22:49, pbrowne escribió:
Michael,
The expression problem can be described as the ability to add new
variants (either constructors or methods) to a data type (or sort)
without changing the existing code. The Haskell and OO language issues
are well described at:
http://stackoverflow.com/questions/870919/why-are-haskell-algebraic-data-types-closed
With respect to Maude, here is my current *opinion*
I *think* Maude supports subsort polymorphism that allows us to use
elements of a subsort in the function’s rank (arity and co-arity).
I *think* the Maude allows functions to be inherited and overridden in a
subsort (a bit like overriding and inheritance in object oriented
languages methods).
Therefore I *think* that a Maude sort can be extended by subsorting and
adding a new method.
I *think* that a new constructor could be added to an existing sort by
importing in a using rather than protecting mode.
So I (perhaps incorrectly) conclude that Maude does not suffer from the
expression problem.
!!!!Happy new year to all on the Maude list!!!!
Pat
Michael Katelman wrote:
Pat,
Could you clarify exactly what the "expression problem" is? I am
having difficulty following the wikipedia entry.
Since you mentioned type classes (a la Haskell), perhaps it's relevant
to note that while ad-hoc overloading of functions is allowed in
Maude, the situation is somewhat different from Haskell's type
classes. Haskell's type classes are used to support a sort of
restricted polymorphism where the type signature quantifies over a
subset of all types with the same overloaded operators, but the
"type-system" of Maude is not polymorphic; in the sense that the
signatures of functions cannot have universal quantifiers over
"types", like in Haskell.
At least that's my take on how the two are related.
-Mike
On Thu, Dec 31, 2009 at 5:44 AM, pbrowne <Patrick.Browne AT comp.dit.ie> wrote:hi,_______________________________________________
I have a question concerning Wadler's expression problem[1] for
algebraic data types. In relation to Haskells type classes is easy to
add a new operations on existing data types, it requires only the
definition of a new function. All the old functions on those types
continue to work unchanged. On the other hand, it is difficult to add
new structure to an existing data type: it requires the addition of a
new constructor for the existing data type.
Questions:
1)Does expression problem exist in Maude?
2)If it does not exist in Maude, is there an illustrative example available?
Pat
[1]http://en.wikipedia.org/wiki/Expression_Problem
_______________________________________________
Maude-help mailing list
Maude-help AT cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/maude-help
Maude-help mailing list
Maude-help AT cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/maude-help
_______________________________________________
Maude-help mailing list
Maude-help AT cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/maude-help
- Re: [Maude-help] Wadler's expression problem and Maude, Francisco Durán, 01/01/2010
- Re: [Maude-help] Wadler's expression problem and Maude, Michael Katelman, 01/02/2010
- Re: [Maude-help] Wadler's expression problem and Maude, Michael Katelman, 01/02/2010
- Re: [Maude-help] Wadler's expression problem and Maude, pbrowne, 01/02/2010
- Re: [Maude-help] Wadler's expression problem and Maude, Michael Katelman, 01/02/2010
- Re: [Maude-help] Wadler's expression problem and Maude, pbrowne, 01/02/2010
- Re: [Maude-help] Wadler's expression problem and Maude, Michael Katelman, 01/02/2010
- <Possible follow-up(s)>
- Re: [Maude-help] Wadler's expression problem and Maude, Marc Boyer, 01/04/2010
- Re: [Maude-help] Wadler's expression problem and Maude, pbrowne, 01/06/2010
- Re: [Maude-help] Wadler's expression problem and Maude, Marc Boyer, 01/06/2010
- Re: [Maude-help] Wadler's expression problem and Maude, pbrowne, 01/06/2010
- Re: [Maude-help] Wadler's expression problem and Maude, Michael Katelman, 01/02/2010
Archive powered by MHonArc 2.6.16.