Round up from meeting 9 of the Little Schemer book club

95 views
Skip to first unread message

Joel Chippindale

unread,
Jul 1, 2014, 2:53:06 AM7/1/14
to computa...@googlegroups.com
Hi,

We had the ninth meeting of the Little Schemer book club last week. There were six of us this time and it was James's birthday so we had cake.

I took the keyboard and we began by looking at the 'homework' refactorings that Murray and I had proposed

* We selected Murray's suggested changes (https://github.com/tomstuart/little_scheme/pull/14) to use Ruby booleans for predicate methods because his implementation was cleaner. We made some small changes to remove the check for booleans and merged his commits together into (https://github.com/tomstuart/little_scheme/commit/9fd915a6)

* We also merged in Murray's changes to allow us to make use of more whitespace (including new lines) to make it possible to write scheme statements that were easier to read (https://github.com/tomstuart/little_scheme/commit/88e30b57)

Then we moved onto the book

* We added in Tom's specs for Chapter 5 (https://github.com/tomstuart/little_scheme/commit/53b68a8). These all passed so we worked together to recreate the scheme implementation for rember* and insertR* that are mentioned in this chapter to give ourselves confidence that we understood the patterns of recursion being introduced in this chapter.

* We added Tom's specs for Chapter 6 (https://github.com/tomstuart/little_scheme/commit/4f9e3be) and found that the initial arithmetic examples like '1 + 3' in this chapter suggest the need for parsing programs consisting of multiple s-expressions, and so we implemented support for this too (https://github.com/tomstuart/little_scheme/commit/be7059b).

* Then since our parser could handle all the examples from Chapter 6 we spent some time recreating the scheme implementation of value from the book (which evaluates in-fix arithmetic expressions like '1 + 3').

Cheers,

J.

Joel Chippindale

unread,
Jul 1, 2014, 3:38:14 AM7/1/14
to computa...@googlegroups.com
...and I almost forgot to say, we ended with some discussion about cryptic phrase, "You must beware of shadows", that Chapter 6 ends on. This appears to refer to the previous section which shows that you can use represent numbers in different ways in scheme, however the same functions may not work on these different representations.

I don't think any of us managed to come up with a satisfying interpretation of this.

J.
Reply all
Reply to author
Forward
0 new messages