Ralf Hemmecke <[email protected]> writes:

| > This should be an FAQ because we have discussed it several times :-)
| >
| > The short answer is that, in all flavours of AXIOM, if you assign to Rep
| > then you are asking for implicit coercions between % and Rep -- and that
| > can lead to unfunny situations as above.
| >
| > The proper way is to define Rep as a constant, i.e. Rep == X.
| 
| Oh, I thought, that just OpenAxiom changed it to using "Rep==X". If I
| understood correctly, in FriCAS "==" does not mean constant definition
| but rather "delayed assignment".

We are talking about the compiler.
In all flavours of AXIOM, if you have a toplevel or capsule-level definition
of the form 

     xyz == expr

and xyz does not have a modemap or a local type declaration, then that is
interpreted as a local constant implemented as a macro.  
See isMacro and how it is used in doIt.

OpenAxiom went further and added special support when xyz is Rep.

-- Gaby

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

Reply via email to