From 53965b8b9083936486589d19e5846d76f2945a24 Mon Sep 17 00:00:00 2001 From: Jim Pryor Date: Mon, 20 Dec 2010 22:58:56 -0500 Subject: [PATCH] week9: add link to Seasoned Schemer Signed-off-by: Jim Pryor --- week9.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/week9.mdwn b/week9.mdwn index 9fa96ac1..06e4dd0d 100644 --- a/week9.mdwn +++ b/week9.mdwn @@ -749,6 +749,8 @@ Programming languages tend to provide a bunch of mutation-related capabilities a We use the `None`/`Some factorial` option type here just as a way to ensure that the contents of `fact_cell` are of the same type both at the start and the end of the block. + If you've got a copy of *The Seasoned Schemer*, which we recommended for the seminar, see the discussion at pp. 118-125. + * Now would be a good time to go back and review some material from [[week1]], and seeing how much we've learned. There's discussion back then of declarative or functional languages versus languages using imperatival features, like mutation. Mutation is distinguished from shadowing. There's discussion of sequencing, and of what we mean by saying "order matters." In point 7 of the Rosetta Stone discussion, the contrast between call-by-name and call-by-value evaluation order appears (though we don't yet call it that). We'll be discussing that more in coming weeks. In the [[damn]] example, continuations and other kinds of side-effects (namely, printing) make an appearance. These too will be center-stage in coming weeks. -- 2.11.0