Chez Scheme Transcript [Thu Mar 10 15:32:53 2011] > (trace factorial) (factorial) > (factorial 5) |(factorial 5) | (factorial 4) | |(factorial 3) | | (factorial 2) | | |(factorial 1) | | | (factorial 0) | | | 1 | | |1 | | 2 | |6 | 24 |120 120 > (rl) > (fact 5 1) 120 > (trace facT) (fact) > (fact 5 1) |(fact 5 1) |(fact 4 5) |(fact 3 20) |(fact 2 60) |(fact 1 120) |(fact 0 120) |120 120 > (rl) > (factorial 5) 120 > (trace facT) (fact) > (factorial 5) |(fact 5 1) |(fact 4 5) |(fact 3 20) |(fact 2 60) |(fact 1 120) |(fact 0 120) |120 120 > (define m 3) > m 3 > (define m 5) > m 5 > 3 3 > + # > (define m +) > m # > (m 3 4) 7 > (define + *) > (+ 3 4) 12 > (m 3 4) 7 > (define + m) > (+ 3 4) 7 > (lambda (n) n) # > (+ 3) 3 > ((lambda (n) n) 3) 3 > (define q (lambda (n) n)) > q # > (q 42) 42 > n Error: variable n is not bound. Type (debug) to enter the debugger. > ((lambda (n m) (+ n m)) 3 4) 7 > ((lambda (n) (lambda (m) (+ n m))) 3) # > (((lambda (n) (lambda (m) (+ n m))) 3) 4) 7 > (rl) > (define add3 (addGenerator 3)) > add3 # > (add3 12) 15 > (define add42 (addGenerator 42)) > add42 # > (add42 100) 142 > ((lambda (n) n) 3) 3 > ((lambda (n) n) (lambda (n) n)) # > (lambda (n) n) # > ((lambda (n) (n 3)) (lambda (x) x)) 3 > (rl) Error: variable double-any is not bound. Type (debug) to enter the debugger. > (rl) > (double-any + 3) 6 > (double-any * 3) 9 > (double-any double-any double-any) break> ? Type e to exit interrupt handler and continue r or q to reset scheme a to abort scheme n to enter new cafe i to inspect current continuation s to display statistics break> r > (let ([x 3]) x) 3 > (let ([x 3] [y 4]) (+ x y)) 7 > ((lambda (x y) (+ x y)) 3 4) 7 > ((lambda (f) (f 3)) (lambda (n) n)) 3 > ((lambda (n) n) 3) 3 > (transcript-off)