2009/11/6 logicmoo@gmail.com:
Other java lisps define each Primitive execute as a single static function in a trampolines file. The Primitive itself just calls the static function in the trampolines (
This is a useful technique to speed up compiled code. It could also speed up startup times as long as you don't invoke such primitives
Indeed
The translation looks like there's no longer a Primitive that extends LispObject. How do you then pass the primitive as one? Like passing EQ/EQUAL/EQUALP to FIND/POSITION family of functions? Or user-defined functions that take functions, and you don't know the type and must box it (aka pass it as a LispObject)? Do we generate wrappers on the fly?