sicp

sicp sandbox.
git clone git://git.ricketyspace.net/sicp.git
Log | Files | Refs

commit 1375cccf75aee17bbe576a744583ed9e7f7d939e
parent 227f0b51ff0aff69586e16a3c9db190475cbfa84
Author: rsiddharth <rsiddharth@ninthfloor.org>
Date:   Fri, 22 Jan 2016 20:08:52 -0500

Added sicp.org

Diffstat:
sicp.org | 48++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+), 0 deletions(-)

diff --git a/sicp.org b/sicp.org @@ -0,0 +1,48 @@ +* status + Excercise 1.1 - 1.5 +* notes +** 1 +*** 1 +**** 5 +#+BEGIN_QUOTE +In general, when modeling phenomena in science and engineering, we +begin with simplified, incomplete models. As we examine things in +greater detail, these simple models become inadequate and must be +replaced by more refined models. +#+END_QUOTE +* exercises +** 1 +*** 4 + + #+BEGIN_SRC scheme + (define (a-plus-abs-b a b) + ((if (> b 0) + -) a b)) + #+END_SRC + +If ~b~ is greater than 0, do ~a + b~; otherwise do ~a - b~. +*** 5 + +code at [[./one/five.scm]] + +If the interpreter uses *applicative order* to evaluate the +expression: + +#+BEGIN_SRC scheme +(test 0 (p)) +#+END_SRC + +The parameters are evaluated before applying the compound procedure +~test~; 0 evaluates to 0, ~(p)~ never finishes evaluating as the +compound procedure ~p~ recursively calls itself again and again +infinitely. + +If same expression is evaluated by the interpreter using *normal +order*, the expression will be expanded to + +#+BEGIN_SRC scheme + (if (= 0 0) + 0 + (p))) +#+END_SRC + +and will evaluate to ~0~.