;; a notation for functions with variable number of arguments ;; (define (f a b . c) (printf "(f a b . c) ... a is ~a, b is ~a, c is ~a .\n" a b c)) (f 1 2 3 4) (f 1 2 3 4 5) (f 1 2 3 4 5 6) ;; running it ;; ;; $ scheme dot.scm ;; ;; (f a b . c) ... a is 1, b is 2, c is (3 4) . ;; (f a b . c) ... a is 1, b is 2, c is (3 4 5) . ;; (f a b . c) ... a is 1, b is 2, c is (3 4 5 6) .