Where can I get DrScheme and/or documentation?
DrScheme is available for download at
Some documentation is provided with DrScheme, accessible through Help Desk. Other documentation is provided online in HTML format and is also available for download in Adobe PDF format at
How much does DrScheme cost?
DrScheme is absolutely free for anyone to use. However, there are restrictions on the way that DrScheme can modified and redistributed. Please read the GNU Library General Public License in the distribution for details.
What operating systems are supported for DrScheme?
Windows (95 and up), Mac OS X, and Unix with the X Window System.
How much memory is needed to run DrScheme?
To run DrScheme comfortably, your machine should have at least 128 MB of RAM.
I don't have that much memory. Are there any other PLT options?
MrEd is PLT's raw graphical Scheme implementation (used to execute DrScheme). MrEd provides a minimal read-eval-print loop, but MrEd does not provide DrScheme's various languages, and error messages in MrEd do not provide a source code location.
MzScheme is PLT's Scheme implementation. The language is the same as MrEd without graphics. MzScheme provides little programming support, so its memory requirements are minimal (a few MB usually suffices).
The standard DrScheme distribution includes all of the above programs. MzScheme distributions can be downloaded through
Does DrScheme run under Mac OS versions earlier than Mac OS X?
Does DrScheme run under DOS or Windows 3.1?
Does MzScheme (PLT's text-only Scheme) run under DOS or Windows 3.1?
How do I install DrScheme?
Obtain a DrScheme distribution from the above address. For Windows, the distribution is an installer program; running this program installs DrScheme. For MacOS, the distributiton is a disk image containing a meta-package (mpkg) installer. For Unix/X, the distribution is a self-extracting shell program; running it will unpack and install the archive, and can help in setting up some standard links. In all cases, the final download page provides detailed, platform-specific installation instructions.
How large is the distribution archive?
Distribution archives vary in sizes. From the download page, select your platform and click the download button -- the next screen will have download links as well as the file size at the top of the page.
How much disk space does DrScheme consume?
Around 35 MB in its normal configuration, not including the optional documentation.
How do I find general help for DrScheme?
Select Help Desk in DrScheme's Help menu.
How can I get my browser to find Help Desk when it's configured to use a Web proxy?
Help Desk uses a Web server running on the machine running DrScheme. A Web proxy does not know about that server. In your browser options, have the browser ignore the proxy for the address 127.0.0.1.
How do I run MrFlow, DrScheme's program analyzer (and the successor to MrSpidey)?
MrFlow is distributed separately from the standard DrScheme distribution. Download MrFlow from
What happened to the Analyze button?
Starting with version 51, PLT distributes DrScheme without the analysis tool. See the previous answer for information about obtaining MrFlow.
How do I customize DrScheme?
The Edit menu contains a Preferences item that opens the preferences dialog.
How do I turn off parenthesis-flashing and the gray background behind expressions?
Use the Edit|Preferences menu item.
What are the key bindings in DrScheme?
Some basic key bindings are listed in the DrScheme manual, which is accessible via the Help button in DrScheme. See also the Keybindings menu item in the Edit menu.
Can I change the key bindings in DrScheme?
Technically, yes, but that requires in-depth information about the way that DrScheme is implemented. (The necessary information is part of the MrEd toolbox manual.) DrScheme currently provides no simple way to adjust the keyboard mappings, other than to set the behavior of the Delete key (via the preferences dialog).
What do those yellow-and-black messages mean, and how do I get rid of them?
When text in the definitions window is modified, the current language is changed, or the current library is changed, DrScheme pessimistically assumes that some definition has been changed. In this case, expressions evaluated in the interaction window would use definitions that do not match those currently displayed in the definitions windows. A yellow-and-black message warns you about this potential inconsistency, and suggests that you resolve the inconsistency by clicking the Execute button. To suppress all but the first warning, see the Warnings tab in the Preferences dialog.
Why can't I type in the interaction window before the the current prompt?
To prevent accidental revisions of the interaction history, DrScheme disallows editing before the current prompt. While old expressions cannot be edited in place, you can copy old expressions to the current prompt by typing Esc-p. Alternatively, place the insertion caret at the end of any old expression in the interactions window and type Enter or Return to copy the expression down to the current prompt.
let work? (or
DrScheme is initially configured to use the ``Beginning Student'' teaching language. This language prevents many common student errors, but will not evaluate all Scheme programs. To remedy this, choose a language such as 'Standard' or 'Pretty Big'.
Is there a DrScheme compiler?
Technically, DrScheme is a compiler as well as an interpreter. Each time the user loads a program or enters expression in the interactions window, DrScheme compiles and then executes the program or expression.
PLT's mzc transforms Scheme programs into C programs, and then uses a third-party C compiler to produce executable code. Under Windows, either Microsoft Visual C or gcc (a free compiler from Cygnus Solutions) works as the C compiler. Under MacOS, CodeWarrior works. Under Unix, most any compiler works.
For details, see the mzc documentation, available from:
Can I produce stand-alone executables from Scheme code?
To produce a standalone executable that only works for your particular installation of DrScheme, see the executables section.
In addition, the mzc compiler can be used to produce stand-alone executables. See the mzc documentation for more information.
Can files saved in DrScheme be transferred between platforms?
DrScheme saves files in two formats: text and multimedia.
The text format is the usual platform-specific text format. Tools for moving files between platforms typically support a ``text'' transfer mode that adjusts newlines and carriage returns in the test as appropriate.
The multimedia format, used for saving files that contain pictures or formatted text, is platform-indepdendent. Although no other program is able to read DrScheme's special format, a multimedia-format file can be moved between different platforms (in ``binary'' mode) and DrScheme will read it correctly on the destination platform.
Does DrScheme really require at least 128 MB of memory?
Why do programs run more slowly in DrScheme than in other Scheme implementations (including PLT's own MzScheme)?
Programs run more slowly in DrScheme because DrScheme inserts extra checks into a program to provide information about the location of run-time errors. For many languages, these checks can be disabled by un-checking Debugging in the details portion of the language-selection dialog.
When I run DrScheme, it is very slow and the disk is constantly running. Why?
You do not have enough memory to run DrScheme. If DrScheme works well for a while, and then starts paging (using the disk a lot), then your memory configuration is borderline for DrScheme. If DrScheme usually works well and has only suddenly started this bad behavior, then perhaps you have written a program that consumes an infinite amount of memory.
I think I found a bug. What should I do?
First, read this section to make sure your problem does not have a standard answer. If you need to, submit a bug report using the form available from the home page of Help Desk. Alternatively, you may submit a bug report using the Web at
How do I send PLT a question?
If you have a question that is not answered in the documentation or this list of ``Frequently Asked Questions'', send mail to