The information here currently corresponds with versions 4.0-5.3.6. We will try to track new versions as they come out. We also have support for the older versions 370-372, 300-360, 201-209, 200, 103, 102, 101, 100, and 53. (Prior to version 5.0, the program now known as DrRacket was called DrScheme.)
Choose Language...option. For compatibility with Concrete Abstractions, select to the "Pretty Big" language listed under the "Legacy Languages" heading.
By default, this language setting causes DrRacket to forbid you from
redefining any name for which it already has a built-in definition.
This creates problems because Concrete Abstractions
assumes that you can define some names (listed subsequently) that DrRacket already has defined.
To avoid this issue, use the
Show Details button within the
Change Language... panel and then uncheck the box labeled
"Disallow redefinition of initial bindings".
Also, this language setting causes DrRacket to be "case
sensitive" by default. For example, the symbols
Barbara are treated as distinct, contradicting Exercise
13.18. If you consider compatibility in this regard to be important,
you can use the
Show Details button within the
Change Language... panel and then turn case sensitivity off.
The libraries can either be installed in your own user-specific storage area or in an area that is shared by all users of your computer system. For the user-specific version, download concabs.plt. For the shared version, download concabs-all-users.plt. On some systems, such as Microsoft Windows and Mac OS X, you should then be able to install the libraries by double-clicking the icon for the .plt file you downloaded. (Some web browsers may even offer to open the file for you.) Or, on any system, you can go into DrRacket's File menu and select "Install .plt File...". Then select the .plt file you downloaded.
To use the library for graphical images, your definitions file within DrRacket should start with the line
(require (lib "fungraph.ss" "concabs"))
In addition to the features described in the textbook (most succinctly in the appendix), there are a few extensions. Descriptions of those extensions and a couple hints regarding usage are in a separate web page.
To use the object-oriented programming system library for chapter 14, your definitions file within DrRacket should start with the line
(require (lib "oops.ss" "concabs"))
We list below the affected names, organized into categories and listed within each category in their order of their appearance within the book:
newlineprocedure to break output into separate lines. Unfortunately, there are two different conventions in use by different Scheme systems. One is to always use
newlineat the start of each line of output, while the other is to always use it at the end of each line. As a result of this lack of standardization, wherever we positioned the uses of
(newline)in our programs would result in output that looked odd on some systems. We've tried in the textbook to make choices that don't look too horrible on any system, with the result that the output tends to look sub-optimal on every system. In particular, there tends to be extra blank lines. If you are working consistently within DrRacket (or any other one system), feel free to remove or reposition
(newline)as necessary to make the output look best.
rcross-bb, are neither pre-defined nor defined within the library. Instead, their definitions are in a separate file.
read-eval-print-loop, which gives a normal Scheme (as opposed to micro-Scheme or mini-Scheme) REPL. Thus, if you fail to execute the definition from the book, you could be fooled by DrRacket's loop into thinking that everything is working fine. To guard against this, be on the lookout for the different prompts; micro-Scheme and mini-Scheme both specifically identify themselves in their prompts.