The function (subset pred lst ) produces a list of elements of a given list that satisfy the predicate pred.
(subset number? '(a 1 b 2 3 c 4)) = (1 2 3 4)(subset symbol? '(a 1 b 2 3 c 4)) = (a b c)
(define (subset pred lst) (if (pair? lst) (if (pred (car lst)) (cons (car lst) (subset pred (cdr lst))) (subset pred (cdr lst))) '() ) )
Note that in subset the predicate is passed in as the argument pred, and pred is used as a function. This works because the name pred is bound to the function definition that is specified.
Contents    Page-10    Prev    Next    Page+10    Index