;; 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) .