The book uses MIT-Scheme and these solutions are written in the dialect for compatibility. Unfortunately, plain vanilla MIT-Scheme is a pain to use because it omits expected features of a modern REPL such as: tab completion, command history, GNU/emacs key bindings, and has sparse documentation.
For most early problems in the book other versions of scheme will have minimal compatibility problems. I recommend using Biwa Schema which is available on repl.it. For the later problems, I recommend using mit-scheme in conjunction with rlwrap to mitigate most of the annoyances.
sudo apt-get install mit-scheme
sudo apt install rlwrap
rlwrap -r -c -f mit-scheme-bindings.txt scheme
scheme --load file1.txt file2.txtwhen launching the REPL or executing
(load "file1.txt")at the REPL prompt.
(restart 1). Ex:
1 ]=> (does-not-exist) ;Unbound variable: does-not-exist ;To continue, call RESTART with an option number: ; (RESTART 3) => Specify a value to use instead of does-not-exist. ; (RESTART 2) => Define does-not-exist to a given value. ; (RESTART 1) => Return to read-eval-print level 1. 2 error> (restart 1) ;Abort! 1 ]=>