On 06/26/2007 08:07 PM, Stephen Wilson wrote:
Martin Rubey <[EMAIL PROTECTED]> 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
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer