Version: 5.0

How to Design Programs Languages

The languages documented in this manual are provided by DrRacket to be used with the How to Design Programs book.

When programs in these languages are run in DrRacket, any part of the program that was not run is highlighted in orange and black. These colors are intended to give the programmer feedback about the parts of the program that have not been tested. To avoid seeing these colors, use check-expect to test your program. Of course, just because you see no colors, does not mean that your program has been fully tested; it simply means that each part of the program has been run (at least once).

    1 Beginning Student

      1.1 define

      1.2 define-struct

      1.3 Function Calls

      1.4 Primitive Calls

      1.5 cond

      1.6 if

      1.7 and

      1.8 or

      1.9 Test Cases

      1.10 empty

      1.11 Identifiers

      1.12 Symbols

      1.13 true and false

      1.14 require

      1.15 Primitive Operations

    2 Beginning Student with List Abbreviations

      2.1 Quote

      2.2 Quasiquote

      2.3 Primitive Operations

      2.4 Unchanged Forms

    3 Intermediate Student

      3.1 define

      3.2 define-struct

      3.3 local

      3.4 letrec, let, and let*

      3.5 Function Calls

      3.6 time

      3.7 Identifiers

      3.8 Primitive Operations

      3.9 Unchanged Forms

    4 Intermediate Student with Lambda

      4.1 define

      4.2 lambda

      4.3 Function Calls

      4.4 Primitive Operation Names

      4.5 Unchanged Forms

    5 Advanced Student

      5.1 define

      5.2 define-struct

      5.3 lambda

      5.4 Function Calls

      5.5 begin

      5.6 begin0

      5.7 set!

      5.8 delay

      5.9 shared

      5.10 let

      5.11 recur

      5.12 case

      5.13 when and unless

      5.14 Primitive Operations

      5.15 Unchanged Forms

    Index