File: apply

package info (click to toggle)
scheme9 2025.08.12-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,080 kB
  • sloc: lisp: 16,752; ansic: 11,869; sh: 806; makefile: 237; sed: 6
file content (13 lines) | stat: -rw-r--r-- 509 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
R4RS 6.8  (apply procedure list)             ==>  object
          (apply procedure object ... list)  ==>  object

The first form calls PROCEDURE with the elements of LIST as
the actual arguments. The second form is a generalization of
the first that calls PROCEDURE with the elements of the list
(append (list object ...) LIST) as the actual arguments.

(apply + (list 3 4))                   ==>  7

(define (compose f g)
  (lambda args (f (apply g args)))))
((compose - *) 5 7)                    ==>  -35