Skip to Content.
Sympa Menu

maude-help - Re: [Maude-help] Wadler's expression problem and Maude

maude-help AT lists.cs.illinois.edu

Subject: Maude-help mailing list

List archive

Re: [Maude-help] Wadler's expression problem and Maude


Chronological Thread 
  • From: Marc Boyer <Marc.Boyer AT onera.fr>
  • To: maude-help AT cs.uiuc.edu
  • Subject: Re: [Maude-help] Wadler's expression problem and Maude
  • Date: Wed, 06 Jan 2010 14:23:00 +0100
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/maude-help>
  • List-id: <maude-help.cs.uiuc.edu>

pbrowne a écrit :
Marc Boyer wrote:
It is well known from years (and this is the core of ADT) that
the ability of a code to evolve depends on the separation of the
implementation and the interface.

What is an interface in Maude?
An interface could consist of the sort itself, its constructors and
other operations.

Even if a language does not offer any support for a concept,
you can use it as a programming rule.
You can use ADT and even OO in C.

It is of course better when your language support your coding
design.

In Maude an interface could be a theory module (fth)
used to declare module.

Yes. I did not use it.

> Acording to the Maude book [2] (8.3.1) fth
represents the syntactic and semantic properties to be satisfied by the
actual parameter modules used in an instantiation. If we consider
functional theories (fth) as interfaces then this similar to Goguen's
[2] *types as theories* slogan which provides a suitable theoretical
basis for extending sorts. In [4] Goguen and diaconescu implemented a
Cartesian and Polar example. I will try to implement their example in
Maude using functional theories (fth).

But in [4], multiple representation is achieved by coercion (implicit
conversion between Polar and Cart), and sub-sorting. Accessors
x_, y_ are defined on Cart, rho_, theta_ on Polar, and applying
x on a Polar is done by coercion. I do not know if there is a way
to do it in Maude.
My proposal is a bit different: multiple representation is left
to the implementer of the sort, by matching (and it works in Maude).

Your proposal is to distinguish interface and implementation
by the use of fth. With with implementation will it be compatible ?

I am interested by the result.

Regards,
Marc Boyer
--
Marc Boyer, Ingenieur de recherche ONERA
Tel: (33) 5.62.25.26.36 DTIM
Fax: (33) 5.62.25.26.52 2, av Edouard Belin
http://www.onera.fr/staff/marc-boyer/ 31055 TOULOUSE Cedex 4




Archive powered by MHonArc 2.6.16.

Top of Page