X-Git-Url: https://git.rkrishnan.org/?p=sicp.git;a=blobdiff_plain;f=src%2Fsicp%2Fex4_52.rkt;fp=src%2Fsicp%2Fex4_52.rkt;h=3c60f2c6e968b9ef3e6bbf40c01c140460731a18;hp=0000000000000000000000000000000000000000;hb=5158bd64ca487b858c9d95e8a2bccb81fe2113a7;hpb=273f2bd230187a3164803ac32d9b5734d0123ad0 diff --git a/src/sicp/ex4_52.rkt b/src/sicp/ex4_52.rkt new file mode 100644 index 0000000..3c60f2c --- /dev/null +++ b/src/sicp/ex4_52.rkt @@ -0,0 +1,12 @@ +#lang racket + +;; if-fail + +(define (analyze-if-fail expr) + (let ([sproc (analyze (if-fail-success expr))] + [fproc (analyze (if-fail-failure expr))]) + (lambda (env succeed fail) + (sproc env + succeed + (lambda () + (fexpr env succeed fail)))))) \ No newline at end of file