simple vs complex prims

Matthias Radestock <[email protected]> Wed, 22 Mar 2006 08:12:08 +0000
Newsgroups gmane.comp.java.sisc.devel
Message-ID <[email protected]>
Scott,

I have reviewed the changes on the 1.13 branch for distinguishing
between pure functional and other primitives. The changes mostly look
fine, with a few exceptions:

1) procedures that should be declared as "simple" instead of "complex"

compact-string-rep
gensym?


2) procedures that should be declared as "complex" instead of "simple"

set-box!
set-car!
set-cdr!
_signal-hook!
_signal-unhook!


3) other problems

- there is a bug in thread/holds-lock? which has been there all along:
it doesn't use its second argument. (This deserves an SF bug).

- I think these fragments in Primitives.java can be removed:
                     case DIV:
  	             case NEQ:
  	             case LT:
  	             case GRT:
  	             case SUB: throwArgSizeException(); return VOID;

                     case LT:
  	             case GRT:
  	             case NEQ: throwArgSizeException(); return VOID;

- it looks like you kept all procedures in *IO as ordinary prims, which
I think means they are considered impure. That's fine, but we could be
more selective.

- did you really mean to add NativeModuleTemplate?


Matthias



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642