Ralf Hemmecke <r...@hemmecke.de> 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

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to