title: Can't load Simply Scheme code
body: <p>I'm having trouble with loading the code for the Berkeley Scheme course Simply Scheme, specifically <a href="http://people.eecs.berkeley.edu/~bh/downloads/simply/simply.scm" rel="nofollow">this</a> code. I've tested it in many different versions of Scheme. In Chicken, I get this error:</p>
  
  <pre><code>#;1&gt; (load "simply.scm")
  ; loading simply.scm ...
  
  Error: (symbol-&gt;string) bad argument type - not a symbol: #&lt;procedure (? wd)&gt;
  
      Call history:
  
      &lt;syntax&gt;      (##core#if (empty? x) (##core#begin (whoops "Invalid argument to FIRST: " x)) (##core#if (word? x) (......
      &lt;syntax&gt;      (empty? x)
      &lt;syntax&gt;      (##core#begin (whoops "Invalid argument to FIRST: " x))
      &lt;syntax&gt;      (whoops "Invalid argument to FIRST: " x)
      &lt;syntax&gt;      (##core#if (word? x) (##core#begin (word-first x)) (##core#begin (whoops "Invalid argument to FIRST:...
      &lt;syntax&gt;      (word? x)
      &lt;syntax&gt;      (##core#begin (word-first x))
      &lt;syntax&gt;      (word-first x)
      &lt;syntax&gt;      (##core#begin (whoops "Invalid argument to FIRST: " x))
      &lt;syntax&gt;      (whoops "Invalid argument to FIRST: " x)
      &lt;syntax&gt;      (##core#undefined)
      &lt;syntax&gt;      (word-&gt;string word-&gt;string)
      &lt;eval&gt;    (word-&gt;string word-&gt;string)
      &lt;eval&gt;    (string? wd)
      &lt;eval&gt;    (number? wd)
      &lt;eval&gt;    (symbol-&gt;string wd)   &lt;--
  </code></pre>
  
  <p>Just for comparison, Racket gives this error:</p>
  
  <pre><code>Welcome to Racket v6.3.
  &gt; (load "simply.scm")
  simply.scm:20:12: set!: cannot mutate module-required identifier
    in: number-&gt;string
    context...:
     /home/hercynian/racket/collects/racket/private/misc.rkt:87:7
  </code></pre>
  
  <p>. . . which doesn't seem to be the same thing. This is beyond my rank beginner skills to fathom. Any ideas what's wrong with simply.scm?</p>