Unknown author (1968-01-01)

LAP is a LISP FEXPR (or FSUBR when compiled) which is executed primarily for its side effect??ely assembling a symbolic listing into core as a machine language subroutine. As such, it is about the most convenient and rapid way for a LISP user to add machine language primitives to the LISP system, especially if the function in question are in a developmental stage and are reasonably small (e.g. 1-500 instructions). Also, the LISP compiler currently gives its results as a file of LAP code, which may then be loaded into core by IAP. Virtually any function definition, whether by DEFPROP, LABEL, or LAP is an extension of LISP's primitives; and as in any actual programming language, the side-effects and global interactions are often of primary importance. Because of this, and because of the inherently broader range of machine instructions and data formats, a function quite easily described and written in PDP-6 machine language may accomplish what is only most painfully and artificially written in LISP. One must, then, consider the total amount of code in each language to accomplish a given task, the amount of commentary necessary to clarify the intent of the task given the program (in this sense, LISP code rates very high??ajor benefit of the confines of LISP is that a good program serves as its own comment, and usually needs no further elucidations), and other considerations of programming convenience.