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. |