axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Axisp news


From: Ralf Hemmecke
Subject: Re: [Axiom-developer] Axisp news
Date: Tue, 26 Jun 2007 20:59:20 +0200
User-agent: Thunderbird 2.0.0.4 (X11/20070604)

On 06/26/2007 08:07 PM, Stephen Wilson wrote:
Martin Rubey <address@hidden> writes:
Dear Stephen,

many thanks for your detailed answer.  I must admit however, that I dislike
your idea writing

   D(P : Polynomial (R : Ring)) : ... == ...

for

   D(R : Ring, P : Polynomial R) : ... == ...

Isn't this just syntactic sugar?  My feeling (!) is that this will pose more
questions than answers.  Enforcing case sensitivity on values, domains and
categories also does not look very appealing to me, sorry.

It may be syntactic sugar for the sake of a function definition, but it
implies a handling of types which diverges from how things are
currently done.

I must say, no matter whether it is syntactic sugar or not, a definition of the form

(*)     D(P : Polynomial (R : Ring)) : ... == ...

would confuse me. How am I supposed to used that? Should I write

D(P) for some polynomial? (Note that Polynomial is a domain so P is an element.)

You probably don't mean that. So let's assume that Polynom(R) is a category.

Now suppose I define

define MyPolyCat:Category == Polynom(Integer) with ...
MyPoly: MyPolyCat == add ...

Now can I write

  D MyPoly

??? (Note that it doesn't exactly match your pattern (*).)
Or should I rather write

  D(Integer, MyPoly)

even with just the definition (*)?

I cannot see that I would like such sugar.

Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]