Dear Gaby, dear all, congratulations to your release!
I'm curious about a few features that you announced. Quoting from http://www.open-axiom.org/1.2 > 2.1.1 Interpreter [...] > The interpreter now accepts instantiation of a domain or category > constructor with a homogeneous variable length argument list, when > the constructor is declared to accept a Tuple. that sounds quite interesting. Is this one step towards making constructors like functions, and making functions have type Tuple Type -> Type (or some such) as in aldor? > It is now possible to restrict the type of a mapping-valued > expression, e.g. > _*$Float@((NonNegativeInteger,Float) -> Float) > now selects the multiplication operation default supplied by the > category AbelianGroup instead of producing an error. This sounds wonderful! I want to have this in FriCAS, too, I think... > The interpreter now avoids syntactic transformations that have > reaching semantics implications. For example, previously, the > expression a ≥ b was systematically transformed into not(a < b) > irrespective of the types of the sub-expressions a and b. Ditto. > 2.1.2. Compiler > The compiler now accepts constant declarations in a more direct > style. For example, the following code is now accepted > MyUnit(T: Type): Public == Private where > Public ==> with > 1: T > Private ==> add > 1 == 0$T Ditto. > Iterator variables and variables declared in a loop, or a reduction, > or a collectt, are local to that loop. This change should not affect > well written Spad codes. This is a must have! As far as I know, this still doesn't work in FriCAS, does it? Oh, wait a moment: does this mean that the iterator variable is local to the loop, or that you introduce a new scope alltogether? (I vaguely remember that we had such a discussion about if some time ago) > The compiler now allows f(x +-> 2*x,y) without extra parenthesis > around the anonymous function, where the function f is a function > accepting a function as the first argument. This change was > contributed by Juergen Weiss. Does that mean that the OpenAxiom compiler allowed +-> already? As you certainly know, FriCAS is just about to replace #1, #2, etc. by +->, so I'm curious whether the code for supporting this is the same... In the end, it would be great if OpenAxiom and FriCAS could converge again... btu that's beyond my abilities. And of course, I admit that I'm not fully open to simply adopt OpenAxiom... Martin ------------------------------------------------------------------------------ _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel