ToC | DocOverview | CGDoc | RelNotes | Index | PermutedIndex
| Allegro CL

| ANSI Common Lisp 5 Data and Control Flow 5.3 Dictionary of Data and Control Flow
5.3.7 funcall | Function
  Syntax: funcall function `&rest` args {result}* Arguments and Values: function - a function designator. args - arguments to the function. results - the values returned by the function. Description: funcall applies function to args. If function is a symbol, it is coerced to a function as if by finding its functional value in the global environment. Examples:
       (funcall #'+ 1 2 3)  6
       (funcall 'car '(1 2 3))  1
       (funcall 'position 1 '(1 2 3 2 1) :start 1)  4
       (cons 1 2)  (1 . 2)
       (flet ((cons (x y) `(kons ,x ,y)))
         (let ((cons (symbol-function '+)))
           (funcall #'cons
                    (funcall 'cons 1 2)
                    (funcall cons 1 2))))
       (KONS (1 . 2) 3)
  Exceptional Situations: An error of type undefined-function should be signaled if function is a symbol that does not have a global definition as a function or that has a global definition as a macro or a special operator. See Also: apply, function, Section 3.1 Evaluation Notes:
       (funcall function arg1 arg2 ...)
       ==(apply function arg1 arg2 ... nil)
       ==(apply function (list arg1 arg2 ...))
The difference between funcall and an ordinary function call is that in the former case the function is obtained by ordinary evaluation of a form, and in the latter case it is obtained by the special interpretation of the function position that normally occurs. Allegro CL Implementation Details: None.

© Franz Inc. All Rights Reserved - File last updated 2022-07-25