Node: funcall, Next: , Previous: flet, Up: Data and Control Flow Dictionary



funcall [Function]

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, 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.