function—a function designator.
args—arguments to the function.
results—the values returned by the function.
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.
(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)
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.
apply, function (Special Operator), Section 3.1 (Evaluation)
(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.