#
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 (9 and 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 32 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

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

Does DrScheme run under Mac OS versions earlier than 9?

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 distributiton is a StuffIt archive; unpacking the archive mostly installs DrScheme, then run `Setup PLT` to complete the installation. For Unix/X, the distribution is a tarred and gzipped file; unpacking the archive and running `./install` installs DrScheme. In all cases, the final download page provides detailed, platform-specific installation instructions.

When I run `plt.exe` to install under Windows, it says ``corrupt installation detected.'' What went wrong?

The real problem may be that the installer is unable to write the DrScheme files to your hard drive, or the installer may be unable to modify the `Start` menu. In this case, check to make sure there is disk space available, and contact your system maintainer to make sure that you have the appropriate access privileges.

More details about this problem are available from the Wise Solutions KnowledgeBase at

`http://www.wise.com/displayArticle.asp?articleno=1034`

How large is the distribution archive?

An average archive is around 4 MB. The Linux RPM distribution is somewhat over 5.0 MB.

How much disk space does DrScheme consume?

Around 20 MB in its normal configuration, not including the optional documentation. Some disk space (about 5MB) can be saved by deleting all files with the suffix `.zo`. DrScheme does not need the `.zo` files, but it starts up more slowly without them (so keep them unless you really need the disk space).

## 5.2 Using DrScheme

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

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

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.

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:

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

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.

## 5.3 Memory and Performance

Does DrScheme really require at least 32 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.

My Macintosh has 32 MB of memory, but I am having trouble with DrScheme. What can I do?

Make sure you quit all other applications before starting DrScheme. Also, turn off any non-essential extensions. Select `About this Macintosh` in the Finder's Apple menu and verify that the system itself uses less than 10 MB.

I have successfully downloaded the installer program for Windows, but the installation fails. Why?

If the installer reports a message such as ``corrupt installation detected'', the real problem may be that the installer is unable to write the DrScheme files to your hard drive, or the installer may be unable to modify the `Start` menu. In this case, check to make sure there is disk space available, or contact your system maintainer to make sure that you have the appropriate access privileges.

When I run DrScheme under MacOS, it sometimes freezes the whole machine. Why? Are there any potential software conflicts?

You probably do not have enough memory to run DrScheme. There are no known conflicts between DrScheme and other software.

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`