[Instructions] [Search] [Current] [Changes] [Syllabus] [Handouts] [Outlines] [Labs] [Assignments] [Examples] [Bailey Docs] [SamR Docs] [Tutorial] [API]
Held: Monday, March 2, 1998
(define (recursive arg)
(if (base? arg)
(basefun arg)
(something arg (recursive (simplify arg)))
)
)
into
(define (recursive arg)
(tailrecursive arg (lambda (x) x)))
(define (tailrecursive arg extra)
(if (base? arg)
(extra (basefun arg))
(tailrecursive (simplify arg)
(lambda (result)
(something (extra result)))
)
)
)
(define (fact n)
(if (= n 0) 1
(* n (fact (- n 1)))))
(define (fact n)
(tailfact n (lambda (x) x)))
(define (tailfact n cont)
(if (= n 0)
(cont 1)
(tailfact (- n 1)
(lambda (result) (* result n)))))
(define (fact n)
(accfact (n 1)))
(define (accfact n acc)
(if (= n 0) acc
(accfact (- n 1) (* acc n))))
These notes are not yet available.
On to Introduction to Sorting
Back to Recursion, Revisited
Outlines:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Current position in syllabus
[Instructions] [Search] [Current] [Changes] [Syllabus] [Handouts] [Outlines] [Labs] [Assignments] [Examples] [Bailey Docs] [SamR Docs] [Tutorial] [API]
Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.
This page may be found at http://www.math.grin.edu/~rebelsky/Courses/CS152/98S/home/rebelsky/public_html/Courses/CS152/98S/Outlines/outline.23.html
Source text last modified Tue Jan 12 11:52:23 1999.
This page generated on Mon Jan 25 09:49:18 1999 by SiteWeaver. Validate this page.
Contact our webmaster at rebelsky@math.grin.edu