Around August 2011 there have been made some changes that are described concisely in a Mail by Waldek: http://groups.google.com/group/fricas-devel/msg/1d069ca72125d17c?hl=en Here is the relevant quote from that mail:
There were changes in FriCAS and the code needs to be updated:
1) In FriCAS operator properties are Symbols. So
assert(op,"ito")
should be changed to
assert(op, 'ito)
Similarly
has?(op,"ito")
should be changed to
has?(op, 'ito)
2) FriCAS algebra uses '^' for exponentiation. So
g**2
should be changed to
g^2
and similarly for other uses of '**'.
The two changes fix problems you observed. For newest FriCAS you
also need to change:
setSmooth:={
'exp,'log,'sin,'cos,'tan,
'cot,'sec,'csc,'asin,'acos,'atan,
'acot,'asec,'acsc,'sinh,'cosh,'tanh,
'coth,'sech,'csch,'asinh,'acosh,'atanh,
'acoth,'asech,'acsch,'Gamma
}::Set Symbol
to
setSmooth:= set([
'exp,'log,'sin,'cos,'tan,
'cot,'sec,'csc,'asin,'acos,'atan,
'acot,'asec,'acsc,'sinh,'cosh,'tanh,
'coth,'sech,'csch,'asinh,'acosh,'atanh,
'acoth,'asech,'acsch,'Gamma
])$Set(Symbol)
This is beacause newest FriCAS does not allow to use { and } to
denote sets -- the idea is that braces for sets where used very
rarely and we want to free braces for other puroses. Also,
this change removes one of disagreements between interpreter and
Spad compiler -- already in Axiom time interpreter did not
accept braces for sets.
Note that FriCAS interpreter language is slightly different than
Spad compiler language. In particular interpreter automatically
coerces a String to a Symbol, but Spad compiler needs explicit
coercion (or better just a Symbol). Also, for compatibility
with old code currently FriCAS interpreter allows '**' as
exponentiation and converts it to '^', but Spad compiler
treats '**' and '^' as distinct.
|