Consider the following expression:
(letrec ((fact (lambda (n)
(if (<= n 1)
1
(* n (fact (- n 1)))))))
fact)
The expression defines a local, recursive version of the factorial
function and returns the function as its value. Write an equivalent
expression using let and set! but
without using define or letrec.