Next: Arity, Previous: Procedures, Up: Procedures

— procedure: **apply**` procedure object object ...`

Calls

procedurewith the elements of the following list as arguments:(cons*objectobject...)The initial

objects may be any objects, but the lastobject(there must be at least oneobject) must be a list.(apply + (list 3 4 5 6)) => 18 (apply + 3 4 '(5 6)) => 18 (define compose (lambda (f g) (lambda args (f (apply g args))))) ((compose sqrt *) 12 75) => 30

— procedure: **procedure?**` object`

Returns

`#t`

ifobjectis a procedure; otherwise returns`#f`

. If`#t`

is returned, exactly one of the following predicates is satisfied byobject:`compiled-procedure?`

,`compound-procedure?`

, or`primitive-procedure?`

.

— procedure: **compiled-procedure?**` object`

Returns

`#t`

ifobjectis a compiled procedure; otherwise returns`#f`

.

— procedure: **compound-procedure?**` object`

Returns

`#t`

ifobjectis a compound (i.e. interpreted) procedure; otherwise returns`#f`

.