What is the practical difference between the two ways of doing the same thing 
(letrec or an environment). Is letrec more efficient in the implementation of 
Guile?

Hans


(letrec (
  (even? (lambda (n)
    (if (zero? n) #t (odd? (- n 1)))))
  (odd? (lambda (n)
    (if (zero? n) #f (even? (- n 1))))))
  (even? 1000))

((lambda ()
  (define even? (lambda (n)
    (if (zero? n) #t (odd? (- n 1)))))
  (define odd? (lambda (n)
    (if (zero? n) #f (even? (- n 1)))))
  (even? 1000)))



Reply via email to