(x: X foo y: Y): Z == ...
(x: X) foo (y: Y): Z ==
Why are you so motivated to make this change?
Good question. My first motivation is to make it compatible with Aldor.
Of course, that's a weak reason to make something compatible with a dead
language.
First of all, I agree that one might easily be misled to focus on
(y:Y):Z. But after a little thought and with the knowledge that : means
type annotation, what should (y:Y):Z actually be? y being of type Z?
Since two colons for one object make no sense, the initial focus is
rather natually ruled out.
Now let me invent a reason for why I find the Aldor way more attractive.
Look at
(a:%+b:%):%
(where I have deliberately removed spaces. It is quite hard for a human
to parse this correctly. I have to look for the top-level operator
inside the parentheses. Also
(a:SparseUnivariatPolynomial(Integer) *
b:Fraction(SparseUnivariatePolynomial Integer)):
Fraction(SparseUnivariatePolynomial Integer)
(a:SUP(Integer) * b:Fraction(SUP Integer)): Fraction(SUP Integer)
is not easy to parse.
In
(a:SUP(Integer)) * (b:Fraction(SUP Integer)): Fraction(SUP Integer)
I only have to look for an operator followed by an identifier, followed
by a colon.
Additionally, a quite personal reason (which doesn't count, I know).
Most code in the Algebra library doesn't use this full form of type
annotation (which I regret quite a lot). For me, however, having written
quite a number of Aldor lines, the Aldor way is so common, that I simply
don't want to change and I don't really like to edit my code in those
places if I move the code to SPAD form.
I guess, with you following OpenAxiom quite closely, OpenAxiom also
still has the original non-Aldor precedence.
Ralf
Current count for making it Aldor-like:
Pros: Waldek, Ralf
Cons: Bill
--
You received this message because you are subscribed to the Google Groups "FriCAS -
computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en.