Question

I'm starting to read the Little Schemer and now instead of PLT Scheme we have Racket. I would like to know if Racket is suitable for doing the exercises in the book or do I need to get another true Scheme compiler. Before I forgot to tell you, my OS is Windows x64.

The book, language and paradigm is complex enough, I would love to avoid struggling with a compiler.

Thanks a lot in advance.

Was it helpful?

Solution

DrRacket is the (r)evolution of DrScheme; DrRacket will work perfectly for the exercises in "The Little Schemer". Just don't forget to:

  1. In the Language dialog, choose "Use the language declared in the source"
  2. Write #lang racket at the top of each file you create
  3. Implement the atom? predicate in each file as explained at the very beginning of the book
  4. If you're going to re-implement an existing procedure, do so in a separate tab or window, because trying to rewrite a procedure in the edit window will result in a duplicate definition for identifier error. If necessary, use several files for saving the procedure definitions

OTHER TIPS

You really just need the atom? function. What’s described in the book's preface is essentially:

(define (atom? x)
  (and (not (pair? x)) (not (null? x))))

As mentioned, it should satisfy this test:

(atom? '()) ;=> #f

Note that there is also a definition in Racklog that will not satisfy that test.

A more detailed discussion on atom? is here.

Despite the book's suggestion to implement add1 and sub1, Racket does already provide them.

BTW, I use Vim for editing Racket, but a few other editors are capable.

I have had the author of the book as a professor. He now uses Racket himself, but he uses Emacs as a text editor.

Racket/Scheme are interchangeable. You should be able to answer any exercise with it. Good luck.

Also, I recommend downloading Dr. Racket as your interpreter.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top