Held: Thursday, 29 January 2004
Summary: Today we investigate recursion over lists with a number of experiments.
0! = 1 n! = n * (n-1)!
patternone uses to design certain kinds of procedures.
(define proc (lambda (val) (if (base-case-test) (base-case val) (combine (partof val) (proc (update val))))))
(define proc (lambda (lst) (if (null? lst) null-case (combine (onestep (car val)) (proc (cdr val))))))
if. For example, here's one implementation of member that works on the principle that
valis a member of
lstif the list is not empty and
valis the first element of
valis a member of the remainder of
(define member? (lambda (val lst) (and (not (null? lst)) (or (equal? val (car lst)) (member? val (cdr lst))))))
I usually create these pages
on the fly, which means that I rarely
proofread them and they may contain bad grammar and incorrect details.
It also means that I tend to update them regularly (see the history for
more details). Feel free to contact me with any suggestions for changes.
This document was generated by
Siteweaver on Fri May 7 09:43:05 2004.
The source to the document was last modified on Tue Jan 13 10:26:10 2004.
This document may be found at