declareNLambda
declareNLambda(s_name1...s_nameN) =>s_nameN
Description
Tells the evaluator that certain (forward referenced) functions are of nlambda type (as opposed to lambdas or macros).
Declares s_name1 ... s_nameN as nprocedures (nlambdas) to be defined later. This is much like C’s “extern” declarations. Because the calling sequence for nlambdas is different from that of lambdas, the evaluator needs to know the function type in order to generate more efficient code. Without the declarations, the evaluator can still handle things properly, but with some performance penalty. The result of evaluating this form is the last name given (in addition to the side-effects to the evaluator).
Arguments
Value Returned
Examples
declareNLambda(nfun1 nfun2 nfun3)
=> nfun3
Related Topics
Function and Program Structure
Return to top