We have already seen several functions that can take a variable number of arguments, such as + or min. Some Lisp implementations allow such an argument list to be specified using dot notation.
(define (min1 n . others) (min1b n others)) (define (min1b n others) (if (null? others) n (min1b (if (< (car others) n) (car others) n) (cdr others)) ) )In the function min1, the variable n is bound to the first argument, while others is bound to a list of the remaining arguments. min1 calls a tail-recursive function min1b to do the work.> (min1 0) 0
> (min1 17 22 4 37 99 2 55) 2
Contents    Page-10    Prev    Next    Page+10    Index