From 703a94b6a9a05bcd3263dbe717b7357c1b8e982c Mon Sep 17 00:00:00 2001 From: Ramakrishnan Muthukrishnan Date: Mon, 12 Dec 2011 01:10:39 +0530 Subject: [PATCH] solutions to 4.18 and 4.19 --- src/sicp/ex4_18.rkt | 10 ++++++++++ src/sicp/ex4_19.rkt | 9 +++++++++ 2 files changed, 19 insertions(+) create mode 100644 src/sicp/ex4_18.rkt create mode 100644 src/sicp/ex4_19.rkt diff --git a/src/sicp/ex4_18.rkt b/src/sicp/ex4_18.rkt new file mode 100644 index 0000000..a730e34 --- /dev/null +++ b/src/sicp/ex4_18.rkt @@ -0,0 +1,10 @@ +#lang racket + +#| + +It won't work in the new definition because the new let translates to a lambda and application +of the lambda to the expressions. When we do that, evaluation of one expression needs the other. + +It will work with the definition given in the text because the expressions are inside the lambda. + +|# \ No newline at end of file diff --git a/src/sicp/ex4_19.rkt b/src/sicp/ex4_19.rkt new file mode 100644 index 0000000..b04a549 --- /dev/null +++ b/src/sicp/ex4_19.rkt @@ -0,0 +1,9 @@ +#lang racket + +#| + +I think Eva's scheme is the correct one but very hard to implement. One way to do it for non-function +definitions is to sort definitions in the order of least dependence on each other. If these definitions +(again, non-function) are mutually dependent, an error should be flagged. + +|# \ No newline at end of file -- 2.37.2