On Oct 4, Dave Herman wrote: > I'm not sure whether the mzscheme compiler obeys the Macro Writer's > Bill of Rights in optimizing the case where exp is just a variable > reference.
-> (compile '(define (fib1 n) (if (<= n 1) n (+ (fib1 (- n 1)) (fib1 (- n 2)))))) #~<binary junk> -> (compile '(define (fib2 n) (let* ([x n] [n x]) (if (<= n 1) n (+ (fib2 (- n 1)) (fib2 (- n 2))))))) #~<same-looking binary junk> -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev