#
Chapter 5
Frequently Asked Questions

## 5.1 Supported Operating Systems and Installation

Where can I get DrScheme and/or documentation?

DrScheme is available for download at

`http://www.drscheme.org/`

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

`http://download.plt-scheme.org/doc/`

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 run DrScheme itself). 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

`http://www.plt-scheme.org/software/mzscheme/`

Does DrScheme run under Mac OS versions earlier than Mac OS X?

No.

Does DrScheme run under DOS or Windows 3.1?

No.

Does MzScheme (PLT's text-only Scheme) run under DOS or Windows 3.1?

No.

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 distribution 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.

## 5.2 Using DrScheme

How do I find general help for DrScheme?

Select `Help Desk` in DrScheme's `Help` menu.

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

`http://www.plt-scheme.org/software/mrflow/`

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?

See ``Defining Custom Shortcuts'' in PLT DrScheme: Development Environment Manual for information on customizing keybindings.

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 `Run` 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.

Why doesn't `let` work? (or `letrec` or `lambda` or `set!`, etc)

DrScheme supports many different variants of Scheme, and you may have selected a language such as the `Beginning Student` teaching language. To remedy this, select `Choose Language...` from the `Language` menu, and then 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 runs 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. For details, see the `mzc` documentation, available from:

`http://download.plt-scheme.org/doc/`

Can I produce stand-alone executables from Scheme code?

See ``Executables'' in PLT DrScheme: Development Environment Manual.

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-independent. Although no other program is able to read DrScheme's special format, a multimedia-format file can be moved between different platforms, and DrScheme will read it correctly on the destination platform.

## 5.3 Memory and Performance

Does DrScheme really require at least 128 MB of memory?

Yes.

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.

## 5.4 Troubleshooting

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

`http://bugs.plt-scheme.org/`

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

`scheme@plt-scheme.org`