[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ARRAYCALL vs FUNCALL



There are two solutions to the problem of evaluating an array reference
of unknown type, without that huge macro with a dispatch, if the arrays
are all array pointers.
    One is to have routines like AR-n and AREF, which can be simply
open-coded into a pushj into the asar of the array, which is (i believe)
effectively what FUNCALL does, but only after the uuo and hairy dispatch.
    The other (which JONL suggested some time ago) is similar, but
differs in that the subscript(s) have already been mapped down to one
dimension by the compiler.  An internal entry in lisp (JSP presumably)
would then do the type dispatch and fetch.  AR-1 etc could also be
open-coded into this.
    The third alternative, which is less optimal but trivially realized,
is simply to have AR-1 etc defined as exprs.  I'm not sure, but it is
possible that even with type checking they might be faster than FUNCALL,
but again, the array must be an array pointer.