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)))
