Re: comments re draft version 2.0
The (D^2)(y) --> D(y)*D(y) interpretation is
exactly the interpretation you get in, for example, Maple.
Maple has the somewhat unique feature of supporting an
algebra of functions so that (f+g)(x) -> f(x) + g(x), etc.
and (1)(x) -> 1 .
The operator precedence and binding is the same
in both expressions $D^2 y$ and (D^2)(y). It is only the
semantic interpretation that may be different.
In the spirit of David's markup, it might have been written
something more like
and then it is easier to see how the macro definitions for apply
could take it either way, perhaps conditional on the presence of
D or an operator.
(see more below)
----- Original Message -----
From: William F. Hammond <email@example.com>
Sent: Wednesday, April 12, 2000 6:04 PM
Subject: Re: comments re draft version 2.0
> You wrote:
> > D^2 ( y ) could equally well mean D(y) * D(y)
> While both of these two expressions are consistent with the types, the
> second is more naturally indicated with (D y)^2, which requires
> in order to distinguish it from D (y^2), while parentheses in the
> expression D^2 (y) do not serve to distinguish it from D^2 y .
> If a parser were to infer D(y)*D(y) from D^2 y , then wouldn't it be
> via an earlier inference of (D y)^2 from D^2 y ? But doesn't
True, (D y) * (D y ) could arise in this way, but it avoids the issue.
The real question is "what meaning" do wish to associate with
I claim that the answer may depend on the properties of D, and
that even then, there is more than one reasonable meaning - at least
one based on operator composition, and one based on product.
So long as the author can say which definition is to be used (and we
can) , we can over-ride whatever default meaning is chosen.
The outcome can depend on the signature, for example, the presence
of an operator versus a symbol.