10.07.2015 Views

LISP I Programmer's Manual - Software Preservation Group

LISP I Programmer's Manual - Software Preservation Group

LISP I Programmer's Manual - Software Preservation Group

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!