LISP I Programmer's Manual - Software Preservation Group
LISP I Programmer's Manual - Software Preservation Group
LISP I Programmer's Manual - Software Preservation Group
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
sion whose first element may be LAMBDA, LABEL, or FUNARG. 1Before treating the different types in detail we recallfrom Chapter 2 that "1f is a form in (the) variables. .X 1 9 " 0 0 ~ x n ~ thenwill be taken to be the function of n variables whose value isdetermined by substituting the arguments for the variablesxl, - .,x nin that order in $ and evaluating the resulting expression,I IFor LABEL, on the other hand, from Chapter 2 we have "1norder to be able to write expressions for recursive functionswe introduce another notation: label(a,g) denotes the expression6 , provided that occurrences of - a within are to beinterpreted as referring to the expression as a whole. IIFUNARG has not been discussed previously; it was introducedfor convenience in writing the 704 system. Generallyspeaking, the use of FUNARG is internal to the system and neednot concern the user, Its purpose is to tie the correct p-listof pairs to the function on which apply is operating. The followingequivalence holds exactly:apply[ (FuNARG,~,~);~;~] = apply[f;x;ql,where q is the list of pairs to be used in place of p in evaluatingf[x].-1If some different element is used here, or if parentheseshave been used incorrectly, the APPLY operator will usuallyfail.