Martin Rubey <[EMAIL PROTECTED]> writes:
[...]
| By the way, how will this work in the interpreter? I.e., do you think it
makes
| sense to force a rewrite of the currently legal
|
| f x == (if zero? x then z := 0 else z := 1/x; g z)
|
| to
|
| f x == (z := if zero? x then 0 else 1/x; g z)
Which is equivalent to
f x ==
z := zero? x => 0
1/x
g z
Quite idiomatic in Spad, I would say.
| I'm *not* saying that the first form is better, but I doubt that one of the
two
| is *always* better. However, the first form becomes illegal SPAD and
| interpreted language is to be (as far as possible) identical.
Are you speaking for OpenAxiom case or FriCAS case?
[...]
| want to make a difference there. (I admit I didn't think through why variable
| overloading is forbidden in Aldor, but so far I didn't need that anyway).
Yeah, habit tends to trump many things.
| Note that one of the most fundamental reasons why the species (AKA combinat)
| project doesn't work well with panAxiom / SPAD, is that functions are treated
| specially in panAxiom / SPAD.
|
| If you can come up with a SPAD-compatible replacement for the construct
|
| SPECIES == (L: LabelType) -> CombinatorialSpecies L;
| Plus(
| F: SPECIES,
| G: SPECIES
| )(L: LabelType): CombinatorialSpecies(L) == add [...]
|
| you shall be praised and I'll stop talking about language semantics from now
on
| and refer to you instead.
It would be an even better deal if you also included not telling
people to implement a copy of Aldor, which is a freely available
compiler :-)
-- Gaby
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
open-axiom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel