summaryrefslogtreecommitdiff
path: root/README
blob: efd3de6ec141e2d633ee517e23b3bc506dd6e638 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-*- org -*-

#+TITLE Dave's virtual notebook for "Software Design for Flexibility"

* About

This repository is a place for me to collect example code, exercises,
and notes about the book [[https://mitpress.mit.edu/books/software-design-flexibility][Software Design for Flexibility]] by Chris
Hanson and Gerald Sussman.

The code in the book is written for MIT/GNU Scheme.  The code in this
repository is written for GNU Guile.  Example code has been adjusted
and shims have been added where necessary.

There is a directory for each chapter.  In each directory there is a
source file for each section.  The source files are annotated with
comments marking the subsection that example code was taken from and
the exercises that the solutions are for.

I made this repository to organize my own thoughts and work as I
slowly chew on this advanced tome, but I've made it public in case it
is useful to any fellow parenthesis nuts out there.

* License

All code in the book, my exercise solutions, and all other supporting
code I have implemented is licensed under GPL version 3 or later.

Notably, Gerald Sussman taught a remote-only class using a draft of
this book during the COVID-19 pandemic [[https://www.gnu.org/education/teaching-my-mit-classes-with-only-free-libre-software.en.html][using only free software]].

Follow Sussman's lead and share the software, friends.