8.5.10 Procedures
8.5.10.1 Procedure Type Predicate
(procedure? obj)
Returns #t if obj is a procedure, and otherwise returns #f.
(procedure? car)              #t
(procedure? 'car)             #f
(procedure? (lambda (x) (* x x)))
                              #t
(procedure? '(lambda (x) (* x x)))
                              #f
8.5.10.2 Procedure Application
(apply proc args)
(apply proc arg1  args)
Proc shall be a procedure and args shall be a list. The first (essential) form calls proc with the elements of args as the actual arguments.  The second form is a generalization of the first that calls proc with the elements of the list (append (list arg1 ) args) as the actual arguments.
(apply + (list 3 4))              7

(define compose
  (lambda (f g)
    (lambda args
      (f (apply g args)))))

((compose sqrt *) 12 75)          30
8.5.10.3 Mapping Procedures over Lists
(map proc list1 list2 )
The lists shall be lists, and proc shall be a procedure taking as many arguments as there are lists.  If more than one list is given, then they shall all be the same length. map applies proc element-wise to the elements of the lists and returns a list of the results, in order from left to right.
(map cadr '((a b) (d e) (g h)))     (b e h)

(map (lambda (n) (expt n n))
     '(1 2 3 4 5))                  (1 4 27 256 3125)

(map + '(1 2 3) '(4 5 6))           (5 7 9)
8.5.10.4 External Procedures
(external-procedure string)
Returns a procedure object which when called shall execute the external procedure with public identifier string. If the system is unable to find the external procedure, then #f is returned. The arguments passed to the procedure object shall be passed to the external procedure. If the number or type of arguments do not match those expected by the external procedure, then an error may be signaled. The result of the external procedure shall be returned as the result of the call of the procedure object.
External procedures should be side-effect free, and implementations are free to assume that they are. They should be used to retrieve information from the system rather than to change the state of the system.