The point of these "unsafe" or mutating operations in my generic lisp
package is
NOT that people will be writing code using them, but that a compiler
(lisp-into-lisp) can use them.
For example, if you run an expression through the small compiler that
I provide, it allocates (or uses previously allocated) "temporary
registers" to do a whole bunch of in-place arithmetic.

e.g.
  if you do an assignment  a:=a+b,  and there is no secret access to
the value for a,
then you can do something like unsafe_add(a,b,a) ;;  where you
designate the target, and overwrite.

This is really a big savings if you do it in a loop and sum up a bunch
of terms.


There should be almost no need for direct human use of such code, just
as, in a properly designed language, you should have almost no need to
allocate and free memory.

RJF

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to