Reviews & Opinions
Independent and trusted. Read before buy Select Line XBM 838!

Select Line XBM 838

 

 

Select Line XBM 838About Select Line XBM 838
Here you can find all about Select Line XBM 838 like manual and other informations. For example: review.

Select Line XBM 838 manual (user guide) is ready to download for free.

On the bottom of page users can write a review. If you own a Select Line XBM 838 please write about it to help other people.
[ Report abuse or wrong photo | Share your Select Line XBM 838 photo ]

Manual

Download (English)

Select Line XBM 838

 

 

User reviews and opinions

<== Click here to post a new opinion, comment, review, etc.

No opinions have been provided. Be the first and add a new opinion/review.

 

Documents

doc0

PLT DrScheme: Programming Environment Manual
PLT scheme@cs.rice.edu Version 103 August 2000
Rice University University of Utah

Copyright notice

Copyright c 1996-2000 PLT Permission to make digital/hard copies and/or distribute this documentation for any purpose is hereby granted without fee, provided that the above copyright notice, author, and this permission notice appear in all copies of this documentation.

Send us your Web links

If you use any parts or all of the DrScheme package (software, lecture notes) for one of your courses, for your research, or for your work, we would like to know about it. Furthermore, if you use it and publicize the fact on some Web page, we would like to link to that page. Please drop us a line at scheme@cs.rice.edu. Evidence of interest helps the DrScheme Project to maintain the necessary intellectual and nancial support. We appreciate your help.

Contents

1 About DrScheme 2 Using DrScheme 2.1 Interface Essentials. 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2 Buttons. The Editor. The Interactions Window. Errors. Languages. Launchers. Printed Results. Input and Output. Project Manager.
Interface Reference. 2.2.1 2.2.2 2.2.3 2.2.4 Menus. Preferences. Keyboard Shortcuts. DrScheme Files.
3 Extending DrScheme 3.1 3.2 Teachpacks. Tools.
4 Using DrScheme Jr 5 Frequently Asked Questions 5.1 Supported Operating Systems and Installation.

CONTENTS

5.2 5.3 5.4 Index
Using DrScheme. Memory and Performance. Troubleshooting.

About DrScheme

DrScheme is a graphical environment for developing programs using the Scheme programming language. DrScheme runs under Windows 95/98/NT, MacOS, and Unix/X.

Using DrScheme

Interface Essentials
The DrScheme window has three parts: a row of buttons at the top, two editing panels in the middle, and a status line at the bottom.
DrScheme File Edit Windows Show Language Scheme Help

Untitled (dene.)

menus buttons
Check Syntax Step Execute Break
(define (square x) (* x x)) denitions window
Welcome to DrScheme, version 102 Language: Beginning Student > (square 2) 4 >

interactions window

5:2 Unlocked

not running

status line
The top editing panel, called the denitions window, is for dening Scheme programs. The above gure shows a program that denes the function square. The bottom panel, called the interactions window, is for evaluating Scheme expressions interactively. The Language line in the interactions window indicates which primitives are available in the denitions and interactions windows. In the above gure, the language is Beginning Student, which is the default language. Clicking the Execute button evaluates the program in the denitions window, making the programs denitions available in the interactions window. Given the denition of square as in the gure above, typing (square 2) in the interactions window produces the result 4. The status line at the bottom of DrSchemes window provides information about the current line and position of the editing caret, whether the current le can be modied, and whether DrScheme is currently evaluating any expression. The recycling icon ashes while DrScheme is recycling internal resources, such as memory.

Buttons

The left end of the row of buttons in DrScheme contains a miniature button with the current les name. Clicking the button shows the les full pathname. 2

2. Using DrScheme

2.1. Interface Essentials
Below the lename button is a (dene.) button for a popup menu of names dened in the denitions window. Selecting an item from the menu moves the blinking caret to the corresponding denition. The Save button appears whenever the denitions window is modied. Clicking the button saves the contents of the denitions window to a le. The current name of the le appears to the left of the Save button, but a le-selection dialog appears if the le has never been saved before. The Step button starts The Foot, which shows the evaluation of a program as a series of small steps. Each evaluation step replaces an expression in the program with an equivalent one using the evaluation rules of DrScheme. For example, a step might replace (+ 1 2) with 3. These are the same rules used by DrScheme to evaluate a program. Clicking Step opens a new window that contains the program from the denitions window, plus three new buttons: Next, Previous, and Home. Clicking Next performs a single evaluation step, clicking Previous retraces a single step, and clicking Home returns to the initial program. The Foot works only for programs using the Beginning Student language level. The Check Syntax button checks the syntax of the program in the denitions window and colorizes keywords and primitive function names. It also enables pop-up arrows that show the relationship between variable declarations and their uses when the mouse cursor is moved over a variable. Modifying the program turns o the arrows until Check Syntax is clicked again. The Execute button evaluates the program in the denitions window and resets the interactions window. The Break button interrupts an evaluation, or beeps if DrScheme is not evaluating anything. For example, after clicking Execute or entering an expression into the interactions window, click Break to cancel the evaluation. Click the Break button once to try to interrupt the evaluation gracefully; click the button twice to killing the evaluation immediately. An Analyze button appears if you have installed the MrSpidey static debugger. Clicking the button starts the debugger on the program. See PLT MrSpidey: Static Debugger Manual for more information.

The Editor

DrSchemes editor provides special support for managing parentheses in a program. When the blinking caret is next to a parenthesis, DrScheme shades the region between the parenthesis and its matching parenthesis. This feature is especially helpful when for balancing parentheses to complete an expression. Furthermore, if you type a closing parenthesis ) that should match an opening square bracket [, the editor automatically converts the ) into a ]. DrScheme beeps whenever a closing parenthesis does not match an opening parenthesis. DrScheme also ashes quotation mark matches, just like parentheses. Beware, however, that DrScheme cannot distinguish between closing an opening quotation marks. Thus, when you type an opening quotation mark, DrScheme may ash a match to the previous closing quotation mark. Although whitespace is not signicant in Scheme, DrScheme encourages a particular format for Scheme code. When you type Enter or Return, the editor inserts a new line and automatically indents it. To make DrScheme re-indent an existing line, move the ashing caret to the line and hit the Tab key. (The caret can be anywhere in the line.) You can re-indent an entire region by selecting the region and typing Tab.

The Interactions Window

The interactions window lets you type an expression after the > prompt for immediate evaluation. You cannot modify any text before the last > prompt. To enter an expression, the ashing caret must appear after the last prompt, and also after the space following the prompt. 3
When you type a complete expression and hit Enter or Return, DrScheme evaluates the expression and prints the result. After printing the result, DrScheme creates a new prompt for another expression. Some expressions return a special void value; DrScheme never prints void, but instead produces a new prompt immediately. If the expression following the current prompt is incomplete, then DrScheme will not try to evaluate it. In that case, hitting Enter or Return produces a new, auto-indented line. To copy the previous expression to the current prompt, type ESC-p (i.e., type Escape and then type p). Type ESC-p multiple times to cycle back through old expressions. Type ESC-n to cycle forward through old expressions. Also, if you move the ashing caret after an old expression and hit Enter or Return, DrScheme copies the expression to the current prompt. Clicking the Execute button evaluates the program in the denitions window and makes the programs denitions available in the interactions window. Clicking Execute also resets the interactions window, erasing all old interactions and removing old denitions from the interaction environment. Although Execute erases old > prompts, ESC-p and ESC-n can still retrieve old expressions. 2.1.4 Errors

define1 , define-struct lambda2 cond, if, and, or nand, nor quoted symbols MrSpidey annotations quoted lists, quasiquote, unquote let1 , let*1 , letrec1 let-struct local 1 set! , fluid-let begin, begin0 implicit begin when, unless, if without else Named let, delay, do, case recur, rec, evcase Turtles, split, split*, tprompt require-library define-macro, begin-elaboration-time time let/cc, let/ec, parameterize, with-handlers Other MzScheme syntax Scheme and MzScheme procedures MzLib core library procedures MrEd GUI classes Case-sensitive identiers and symbols Procedures must take at least 1 argument Identier required at function-call position Top-level required at function-call position lambda allowed only in denitions quote works only on symbols Unmatched cond/case is an error Conditional values must be #t or #f =,., +, *, and / take at least 2 arguments and, or, nand, nor require at least 2 exprs Improper lists disallowed set! disallowed on arguments structures omit supertype, mutators Constructor-style output write output Abbreviate cons constructor with list Show sharing in values Decimal numbers read as exact Print inexact numbers with #i including -values forms including case-lambda

Begin

Inter

Adv

Text 1 1 4

Graph 1 4

Use Use Use Use

(require-library (require-library (require-library (require-library
"macro.ss") "spidey.ss") "turtle.ss" "graphics") "core.ss")
Figure 2.1: Languge Denitions
Improper lists disallowed A proper list is either an empty list or a list created by consing onto a proper list. In the Beginning Student through Advanced Student languages, cons constructs only proper lists, signaling an error if the second argument is not a proper list. Since beginning students do not need improper lists, this restriction help detect logical errors in recursive functions. define-struct omits supertype, mutators In Beginning Student and Intermediate Student, the define-struct syntactic form does not support the optional supertype expression. This restriction simplies the syntax to help detect parenthesization mistakes. In addition, define-struct does not bind the names of structure mutators, since the languages do not support state in general. Lines in the last section specify deviations from a traditional Scheme read-eval-print interface in the way that DrScheme reads and prints interaction results: Constructor-style output See Section 2.1.7.1. write output Prints interaction results with write. Abbreviate cons constructor with list Adjusts constructor-style output to print list values with list instead of a nested sequence of conses. Show sharing in values Prints interaction results using the shared syntax, which exposes shared structure within a value. For example, the list created by (let ([l (list 0)]) (list l l)) prints as (shared ((-1- (list 0))) (list -1- -1-)) rather than (list (list 0) (list 0)). Decimal numbers read as exact Unless a number containing a decimal point or exponent includes #i, it is parsed as an exact number. Print inexact numbers with #i Prints inexact numbers with a leading #i to emphasize that they represent imprecise results (or even eectively incorrect results, depending on the intended calculation). The Language|Choose Language. dialog contains a Show Details button that lets you congure certain details of the language specication. (Each option corresponds to one of the lines in the language table, but only a few of the lines in the gure have an option in the dialog.) Whenever the selected options do not match the default language specication, a Custom indicator appears next to the language-selection control at the top of the dialog. 2.1.6 Launchers

Interface Reference

Menus File

2.2.1.1

New creates a new DrScheme window. New Project creates a new project window. See section 2.1.9. Open. opens a nd-le dialog for choosing a le to load into a denitions window. Open Project. opens a saved project window. See section 2.1.9. Open URL. opens a dialog for choosing a Uniform Resource Locator (URL) to open in a new Help Desk window. Revert re-loads the le that is currently in the denitions window. All changes since the le was last saved will be lost. 10
Save Denitions saves the program in the denitions window. If the program has never been saved before, a save-le dialog appears. Save Denitions As. opens a save-le dialog for choosing a destination le to save the program in the denitions window. Subsequent saves write to the newly-selected le. Save Other contains these sub-items Save Denitions As Text. is like Save Denitions As., but the le is saved in plain-text format (see Section 2.2.4.1). Subsequent saves also write in plain-text format. Save Interactions saves the contents of the interactions window to a le. If the interaction constants have never been saved before, a save-le dialog appears. Save Interactions As. opens a save-le dialog for choosing a destination le to save the contents of the interactions window. Subsequent saves write to the newly-selected le. Save Interactions As Text. is like Save Interactions As., but the le is saved in plain-text format (see Section 2.2.4.1). Subsequent saves are write in plain-text format. Print Denitions. opens a dialog for printing the current program in the denitions window. Print Interactions. opens a dialog for printing the contents of the interactions window. Bring project to the front brings the project window assocated with this window to the front. See section 2.1.9. Close closes this DrScheme window. If this window is the only open DrScheme window, DrScheme quits. Quit or Exit exits DrScheme. 2.2.1.2 Edit
All Edit menu items operate on either the denitions or interactions window, depending on the location of the selection or blinking caret. Each window maintains its own Undo and Redo history. Undo reverses an editing action. Each window maintains a history of actions, so multiple Undo operations can reverse multiple editing actions. Redo reverses an Undo action. Each window maintains a history of Undo actions, so multiple Redo operations can reverse multiple Undo actions. Cut copies the selected text to the clipboard and deletes it from the window. Copy copies the selected text to the clipboard. Paste pastes the current clipboard contents into the window. Delete or Clear deletes the selected text. Select All highlights the entire text of the buer. Insert Text Box inserts a box into the window. The text box may contain arbitrary text, and it is treated as a value, like a number or symbol. Insert Pasteboard Box inserts a graphics box. The box is treated as a value. Insert Image. opens a nd-le dialog for selecting an image le in GIF, BMP, XBM, or XPM format. The image is treated as a value. Wrap Text toggles between wrapped text and unwrapped text in the window. 11

Find opens a search dialog or, depending on the preferences, an interactive searching window attached to the frame. Find Again nds the next occurrence of the text that was last searched for. Replace & Find Again replaces the selection with the replace string (if it matches the nd string) and nds the next occurrence of the text that was last searched for. Preferences. opens the preferences dialog. See section 2.2.2. 2.2.1.3 Windows
This menu contains an entry for each window in DrScheme. Selecting a menu item brings the corresponding window to the front. 2.2.1.4 Show
Two of the following menu items appear at a time: Show Interactions shows interactions window. Hide Interactions hides interactions window. Show Denitions shows the denitions window. Hide Denitions hides the denitions window. Note: whenever a program is executed, the interactions window is made visible if it is invisible. 2.2.1.5 Language
Choose Language opens a dialog for selecting the current evaluation language. Click Execute to make the language active in the interactions window. See section 2.1.5 for more information about the languages. Add Teachpack. opens a nd-le dialog for choosing a teachpack to extend the current language. Click Execute to make the teachpack available in the interactions windows. See Section 3 for information on creating teachpacks. Clear All Teachpacks clears all of the current teachpacks. Click Execute to clear the teachpack from the interactions window. 2.2.1.6 Scheme
Execute resets the interactions window and executes the program in the denitions window. Break breaks the current evaluation. Kill terminates the current evaluation. Create Launcher creates a separate launcher for running your program. See section 2.1.6 for more info. Reindent indents the selected text according to the standard Scheme formatting conventions. (Pressing the Tab key has the same eect.) 12
Reindent All indents all of the text in either the denitions or interactions window, depending on the location of the selection or blinking caret. Comment Out puts ; characters at each of the the beginning of each selected line of text. Uncomment removes all ; characters at the start of each selected line of text. Uncommenting only removes a ; if it appears at the start of a line and it only removes the rst ; on each line. 2.2.1.7 Help

Most key presses simply insert a character into the editor (a, 3, (, etc.). Other keys and key combinations act as keyboard shortcuts that move the blinking caret, delete a line, copy the selection, etc. Keyboard shortcuts are usually trigger by key combinations using the Control, Meta, or Command key. C-key = This means press the Control key, hold it down and then press key and then release them both. For example: C-e (Control-E) moves the blinking caret to the end of the current line. M-key = Same as C-key, except with the Meta key. Depending on your keyboard, Meta may be called Left, Right or have a diamond symbol, but its usually on the bottom row next to the space bar. M-key can also be performed as a two-character sequence: rst, strike and release the Escape key, then strike key. Under Windows and MacOS, Meta is only available through the Escape key. DEL = The Delete key. SPACE = The Space bar. Note: On most keyboards, < and > are shifted characters. So, to get M->, you actually have to type Meta-Shift->. That is, press and hold down both the Meta and Shift keys, and then strike >. Note: Many of the key bindings can also be done with menu items. Under Windows, some of these keybindings are actually standard menu items. Those keybindings will behave according to the menus, unless the Enable keybindings in menus preference is unchecked. If you are most familiar with Emacs-style key bindings, you should uncheck the Enable keybindings in menus preference. Many of the keybindings below are inspired by Emacs. 2.2.3.1 Moving Around
C-f move forward one character C-b move backward one character M-f move forward one word M-b move backward one word C-v move forward one page M-v move backward one page 14
M-< move to beginning of le M-> move to end of le C-a move to beginning of line (left) C-e move to end of line (right) C-n move to next line (down) C-p move to previous line (up) M-C-f move forward one S-expression M-C-b move backward one S-expression M-C-u move up out of an S-expression M-C-d move down into a nested S-expression M-C-SPACE select forward S-expression M-C-p match parentheses backward M-C-left move down into an embedded editor to the left M-C-right move down into an embedded editor to the right M-C-up move up from an embedded editor 2.2.3.2 Editing Operations
C-d delete forward one character C-h delete backward one character M-d delete forward one word M-DEL delete backward one word C-k delete forward to end of line M-C-k delete forward one S-expression M-w copy selection to clipboard C-w delete selection to clipboard (cut) C-y paste from clipboard (yank) C-t transpose characters M-t transpose words C- undo C-+ redo C-x u undo 15

2.2.3.3

File Operations
C-x C-s save le C-x C-w save le under new name 2.2.3.4 Searching
C-s search for string forward C-r search for string backward 2.2.3.5 Interactions

The interactions window has all of the same keyboard shortcuts as the denitions window plus a few more: M-p bring the previously executed expression down to the prompt. M-n bring the expression after the current expression in the expression history down to the prompt. 2.2.4 2.2.4.1 DrScheme Files Program Files
The standard extension for a Scheme program le is.scm. The extensions.ss and.sch are also acceptable. DrSchemes editor can saves a program le in two dierent formats: Plain-text format All text editors can read this format. DrScheme saves a program in plain-text format by default, unless the program contains images or text boxes. (Plain-text format does not preserve images or text boxes.) Plain-text format is platform-specic because dierent platforms have dierent newline conventions. However, most tools for moving les across platforms support a text transfer mode that adjusts newlines correctly. Multimedia format This format is specic to DrScheme, and no other editor recognizes it. DrScheme saves a program in multimedia format by default when the program contains images, text boxes, or formatted text. Multimedia format is platform-independent. Use a binary transfer mode when moving multimediaformat les across platforms. (Using text mode may corrupt the le.)

2.2.4.2

Backup and Autosave Files
When you modify an existing le in DrScheme and save it, DrScheme copies the old version of the le to a special backup le if no backup le exists. The backup le is saved in the same directory as the original le, and the backup les name is generated from the original les name: Under X and MacOS, a tilde () is added to the end of the les name. Under Windows, the les extension is replaced with.bak. 16
When a le in an active DrScheme editor is modied but not saved, DrScheme saves the le to a special autosave le after ve minutes (in case of a power failure or catastrophic error). If the le is later saved, or if the user exists DrScheme without saving the le, the autosave le is removed. The autosave le is saved in the same directory as the original le, and the autosave les name is generated from the original les name: Under X and MacOS, a pound sign (#) is added to the start and end of the les name, then a number is added after the ending pound sign, and then one more pound sign is appended to the name. The number is selected to make the autosave lename unique. Under Windows, the les extension is replaced with a number to make the autosave lename unique. 2.2.4.3 Miscellaneous Files

On start-up, DrScheme reads conguration information from two les: a normal preferences le and a lowlevel setup le. The names of these les contain MrEd because they are part of a preferences system shared by DrScheme and other programs that execute in MrEd. The name and location of the preferences le depends on the platform and user: Under X, preferences are stored in.mred.prefs in the users home directory. Under Windows, if the HOMEDRIVE and HOMEPATH environment variables are dened, preferences are stored in %HOMEDRIVE%\%HOMEPATH%\mred.pre, otherwise preferences are stored in mred.pre in the directory containing the MrEd executable. Windows NT: When DrScheme is launched under Windows NT and HOMEDRIVE and HOMEPATH are not set, NT automatically sets the variables to indicate the root directory of the main disk. Therefore, when HOMEDRIVE and HOMEPATH are not set in NT, the preferences le mred.pre is saved in the root directory. Under MacOS, preferences are stored in MrEd Preferences in the system preferences folder. If that le does not exist, and the le prefs.ss in the defaults collection (see Library Collections and MzLib, 15 in PLT MzScheme: Language Manual for more information about collections) does exist, prefs.ss is used for the preferences le. This allows site-specic conguration. To set it up, start up DrScheme and congure the preferences to your liking. Then, exit DrScheme and copy the preferences le into the defaults collection and call it prefs.ss. Thus, users who do not have any preferences set with default to the preference settings you chose. The low-level setup le congures font settings that are needed early in the MrEd boot process. (The information in the setup le is duplicated in the normal preferences le, which is loaded later.) The name and location of the low-level setup le depends on the platform and user: Under X, preferences are stored in.mred.resources in the users home directory. Under Windows, if the HOMEDRIVE and HOMEPATH environment variables are dened, preferences are stored in %HOMEDRIVE%\%HOMEPATH%\mred.ini, otherwise preferences are stored in mred.ini in the directory containing the MrEd executable. Under MacOS, preferences are stored in mred.fnt in the system preferences folder.

5.2. Using DrScheme

5. Frequently Asked Questions
http://www.cs.rice.edu/CS/PLT/packages/mzscheme/ Does DrScheme run under DOS or Windows 3.1? No. Does DrScheme Jr (PLTs text-only Scheme) run under DOS or Windows 3.1? No. I dont have a network connection. Can I obtain DrScheme on oppy disks? Send three SASFDs (self-addressed stamped oppy disks) to DrScheme Programming Languages Team Rice University -- MS 132 Houston, TX 77005-1892 USA Please indicate the desired operating system. 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 StuIt 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 le; unpacking the archive and running./install installs DrScheme. In all cases, the nal download page provides detailed, platform-specic 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 les 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. How large is the distribution archive? An average archive is around 3.0 MB. How much disk space does DrScheme consume? Around 17 MB in its normal conguration, not including the optional documentation. Some disk space (about 5MB) can be saved by deleting all les with the sux.zo. DrScheme does not need the.zo les, but it starts up more slowly without them (so keep them unless you really need the disk space).
How do I nd general help for DrScheme? Select Help Desk in DrSchemes Help menu. 22
How do I run MrSpidey, DrSchemes program analyzer? MrSpidey is distributed separately from the standard DrScheme distribution. Download MrSpidey from http://www.cs.rice.edu/CS/PLT/packages/mrspidey/ What happened to the Analyze button? Starting with version 51, PLT distributes DrScheme without the MrSpidey analysis tool. See the previous answer for information about obtaining MrSpidey. How do I customize DrScheme? The Edit menu contains a Preferences item that opens the preferences dialog. How do I turn o parenthesis-ashing 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 denitions window is modied, the current language is changed, or the current library is changed, DrScheme pessimistically assumes that some denition has been changed. In this case, expressions evaluated in the interaction window would use denitions that do not match those currently displayed in the denitions 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 rst warning, see the General II panel in the Preferences dialog. Why cant 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? DrScheme is a compiler; each time the user loads a program or enters expression in the interactions window, DrScheme compiles and then executes the program or expression. PLTs 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.

5.4. Troubleshooting

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 conguration 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 innite 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 o any non-essential extensions. Select About this Macintosh in the Finders 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 les 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 conicts? You probably do not have enough memory to run DrScheme. There are no known conicts 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://www.cs.rice.edu/CS/PLT/Bugs/ If you do not have access to a web browser, as a last resort send mail to plt-bugs@cs.rice.edu 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@cs.rice.edu

restart, 20 Revert menu item, 10 Save button, 3 Save Denitions As Text. menu item, 11 Save Denitions As. menu item, 11 Save Denitions menu item, 11 Save Interactions As Text. menu item, 11 Save Interactions As. menu item, 11 Save Interactions menu item, 11 Save Other menu item, 11 Select All menu item, 11 Show Denitions menu item, 12 Show Interactions menu item, 12 Show status-line preference, 13 stand-alone executables, 24 status line, 2 Step button, 3 stepper, 3 storage requirements, 22 supported platforms, 21 The Foot, 3 tools, 18 Uncomment menu item, 13 Undo menu item, 11 Use separate dialog for searching preference, 14 Verify exit preference, 13 Welcome to DrScheme menu item, 13 Wrap Text menu item, 11 Wrap words in editor buers preference, 13 write, 9 yellow and black messages, 23

doc1

Input and Output

Many Racket programs avoid explicit input and output operations, obtaining input via direct function calls in the interactions window, and producing output by returning values. Other Racket programs explicitly print output for the user during evaluation using write or display, or explicitly request input from the user using read or read-char. Explicit input and output appear in the interactions window, but within special boxes that separate explicit I/O from normal expressions and results. For example, evaluating

> (read)

in the interactions window produces a special box for entering input:
Type a number into the box and hit Enter, and that number becomes the result of the (read) expression. Once text is submitted for an input box, it is moved outside the input box, and when DrRacket shows a new prompt, it hides the interaction box. Thus, if you type 5 in the above input box and hit Return, the result appears as follows:

> (read) > _

In this case, the rst 5 is the input, and the second 5 is the result of the (read) expression. The second 5 is colored blue, as usual for a result printed by DrRacket. (The underscore indicates the location of the blinking caret.) Output goes into the interactions window directly. If you run the program
#lang racket (define v (read)) (display v) (newline) v
and provide the input S-expression (1 2), the interactions window ultimately appears as follows:

(1 2) (1 2) (1 2) > _

In this example, display produces output immediately beneath the input you typed, and the nal result is printed last. The displayed output is drawn in purple. (The above example assumes default printing. With constructor-style value printing, the nal before the prompt would be (list 1 2).) Entering the same program line-by-line in the interactions window produces a differentlooking result:
> (define v (read)) (1 2) > (display v) (1 2) > v (1 2) > _
Depending on the input operation, you may enter more text into an input box than is consumed. In that case, the leftover text remains in the input stream for later reads. For example, in the following interaction, two values are provided in response to the rst (read), so the second value is returned immediately for the second (read):

> > 6 >

(read) 6 (read) _
The following example illustrates that submitting input with Return inserts a newline character into the input stream:
> (read) > (read-char) #\newline > _
Within a #lang racket module, the results of top-level expression print the same as the results of an expression entered in the interactions window. The reason is that #lang racket explicitly prints the results of top-level expressions using (current-print), and DrRacket sets (current-print) to print values in the same way as for interactions.

1.7 Graphical Syntax

In addition to normal textual program, DrRacket supports certain graphical elements as expressions within a program. Plug-in tools can extend the available graphical syntax, but this section describes some of the more commonly used elements.

Images

DrRackets Insert|Insert Image. menu item lets you select an image le from disk (in various formats such as GIF, PNG, and BMP), and the image is inserted at the current editing caret. As an expression an image behaves like a number or string constant: it evaluates to itself. DrRackets interactions window knows how to draw image-value results or images displayed via print. A program can manipulate image values in various ways, such as using the htdp/image library or as an image-snip% value.
XML Boxes and Racket Boxes
DrRacket has special support for XML concrete syntax. The Special|Insert XML Box menu item inserts an embedded editor into your program. In that embedded editor, you type XMLs concrete syntax. When a program containing an XML box is evaluated, the XML box is translated into an x-expression (or xexpr), which is an s-expression representation of an XML expression. Each xexpr is a list whose rst element is a symbol naming the tag, second element is an association list representing attributes and remaining elements are the nested XML expressions. XML boxes have two modes for handling whitespace. In one mode, all whitespace is left intact in the resulting xexpr. In the other mode, any tag that only contains nested XML expressions and whitespace has the whitespace removed. You can toggle between these modes by right-clicking or Control-clicking (Mac OS X) on the top portion of the XML box. In addition to containing XML text, XML boxes can also contain Racket boxes. Racket boxes contain Racket expressions. These expressions are evaluated and their contents are placed into the containing XML boxs xexpr. There are two varieties of Racket box: the 14
standard Racket box and the splicing Racket box. The standard Racket box inserts its value into the containing xexpr. The contents of the splice box must evaluate to a list and the elements of the list are attened into the containing xexpr. Right-clicking or controlclicking (Mac OS X) on the top of a Racket box opens a menu to toggle the box between a Racket box and a Racket splice box.

1.8 Graphical Debugging Interface
Like the Run button, the Debug button runs the program in the denitions window. However, instead of simply running it from start to nish, it lets users control and observe the program as it executes. The interface includes a panel of buttons above the denitions window, as well as extensions to the denitions window itself. The program starts out paused just before the rst expression is executed. This is indicated in the denitions window by the presence of a green triangle over this expressions left parenthesis.
Tip: Changing the name of a le in the middle of a debugging session will prevent the debugger from working properly on that le.

Debugger Buttons

While execution is paused, several buttons are available: The Go button is enabled whenever the program is paused. It causes the program to resume until it either completes, reaches a breakpoint, or raises an unhandled exception. The Step button is enabled whenever the program is paused. It causes the program to make a single step and then pause again. The Over button is only enabled when execution is paused at the start of an expression that is not in tail position. It sets a one-time breakpoint at the end of the expression (represented by a yellow circle) and causes the program to proceed. When execution reaches the one-time breakpoint, it pauses and removes that breakpoint. The Out button is only enabled when execution is paused within the context of another expression. Like the Over button, it sets a one-time breakpoint and continues execution. In this case, the program stops upon returning to the context or raising an unhandled exception. If the program is running (not paused), then only the Pause button will be enabled. Clicking it will interrupt execution and pause it. In this case, the current expression may only be known approximately, and it will be represented as a gray triangle. The other features described above will still be available.
At any time, execution may be interrupted by clicking the Stop button. However, unlike with the Pause button, stopped execution cannot be continued.

Denitions Window Actions

When execution is paused, the denitions window supports several additional actions: Hovering the mouse cursor over a parenthesis may reveal a pink circle. If so, rightclicking or control-clicking (Mac OS X) will open a menu with options to Pause at this point or Continue to this point. The former sets an ordinary breakpoint at that location; the latter sets a one-time breakpoint and resumes execution. An ordinary breakpoint appears as a red circle, and a one-time breakpoint appears as a yellow circle. Tip: If the debugged program is not a module, then the rst time it is debugged, breakpoints will only become available in expressions as they are evaluated. However, the next time the program is debugged, the debugger will remember the set of breakable locations from the previous session. Tip: Clicking the Run button after a debugging session will cause all breakpoints to disappear from the denitions window. These breakpoints are not forgotten, and clicking Debug again will restore them. However, breakpoints do not persist across restarts of DrRacket. If execution is paused at the start of an expression, then right-clicking or controlclicking (Mac OS X) on the green triangle opens a menu with the option to Skip expression. Selecting this opens a text box in which to enter a value for the expression. The expression is skipped, with the entered value substituted for it. If execution is paused at the end of an expression, then the expression and its value are displayed to the left of the button bar. Right-clicking or control-clicking (Mac OS X) on the green triangle opens a menu with options to Print return value to console and Change return value. The former displays the return value in the interactions window; the latter opens a text box in which to enter a substitute value. Hovering the mouse cursor over a bound variable displays the variables name and value to the right of the button bar. Right-clicking or control-clicking (Mac OS X) opens a menu with options to Print value of <var> to console or (set! <var>.). The former displays the variables value in the interactions window; the latter opens a text box in which to enter a new value for the variable.

Stack View Pane

In addition, while execution is paused, the stack view pane at the right of the DrRacket frame is active. The top of the pane shows a list of active stack frames. Mousing over a 16
frame produces a faint green highlighting of the corresponding expression. Clicking on the frame selects that frame, which makes its lexical variables visible. The selected frame is indicated by a bold font. The bottom of the pane shows the lexical variables in the selected stack frame. The following screenshot illustrates several aspects of the debugger interface. The red circle before the if is a breakpoint, and the green triangle at the end of the (fact (sub1 n)) is where execution is currently paused. The expressions return value is displayed at the left of the button bar, and the value of n is displayed in the stack view pane.

Debugging Multiple Files

To debug a program that spans several les, make sure that all of the les are open in DrRacket. Click the Debug button in the window containing the main program. As this program loads additional les that are present in other windows or tabs, message boxes will pop up asking whether or not to include the le in the debugging session. Including the le means that it will be possible to set breakpoints, inspect variables, and single-step in that le. Tip: A le may only be involved in one debugging session at a time. If you try to debug a le that loads another le that is already being debugged, a message box will pop up explaining that the le cannot be included in another debugging session.

1.9 The Module Browser

The module browser shows you the structure of all of the les in your program. It can be opened via the Show menu, or via the Module Browser. menu item in the Racket menu. A module browser window contains a square for each module. The squares are colored 17
based on the number of lines of code in the module. If a module has more lines of code, it gets a darker color. In addition, for each normal import, a blue line drawn is from the module to the importing module. Similarly, purple lines are drawn for each for-syntax, for-template or for-meta import. In the initial module layout, modules to the left import modules to the right, but since modules can be moved around interactively, that property might not be preserved. To open the le corresponding to the module, right-click or control-click (Mac OS X) on the box for that module. The module browser will also show you the phases that each module is loaded in; choose the Long, with phases menu item in the Names pop-up menu. The integers indicate the phases and if #f is present, it means the module is loaded for-label.
1.10 Creating Executables
DrRackets Create Executable. menu item lets you create an executable for your program that you can start without rst starting DrRacket. To create an executable, rst save your program to a le and set the language and teachpacks. Click Run, just to make sure that the program is working as you expect. The executable you create will not have a read-evalprint-loop, so be sure to have an expression that starts your program running in the denitions window before creating the executable. Once you are satised with your program, choose the Create Executable. menu item from the Racket menu. You will be asked to choose an executable le name or an archive le name. In the latter case, unpack the generated archive (on this machine or another one) to access the executable. In either case, you will be able to start the executable in the same way that you start any other program on your computer. The result of Create Executable. is either a launcher executable, a stand-alone executable, or a distribution archive, and it uses either a Racket (textual) or GRacket (graphical) engine. For programs implemented with certain languages, Create Executable. will prompt you to choose the executable type and engine, while other languages support only one type or engine. Each type has advantages and disadvantages: A launcher executable uses the latest version of your program source le when it starts. It also accesses library les from your DrRacket installation when it runs. Since a launcher executable contains specic paths to access those les, launchers usually cannot be moved from one machine to another. A stand-alone executable embeds a compiled copy of your program and any Racket libraries that your program uses. When the executable is started, it uses the embedded 18

(current-load/use-compiled (make-compilation-manager-load/use-compiled-handler)) (manager-skip-file-handler ( (p) (file-date-in-paths p (cons (CACHE-DIR) (current-library-collection-paths)))))
plus adding either (build-path "compiled" "drracket") or (build-path "compiled" "drracket" "errortrace") to the front of use-compiled-filepaths, depending if the Debugging option is set or not. The Preserve stacktrace option corresponds to
(compile-context-preservation-enabled #t)
Output Syntax: The output syntax options correspond to settings in the racket/pretty library and the mzlib/pconvert library. Collection Paths: This corresponds to setting the current-library-collectionpaths parameter. Command-line arguments: This corresponds to setting the current-commandline-arguments parameter.

2.2 Legacy Languages

DrRacket supports several historically useful variants of Scheme without a #lang prex: The R5RS language contains those primitives and syntax dened in the R5 RS Scheme standard. See the r5rs library for details. The PLT Pretty Big language provides a language roughly compatible with a language in earlier versions of DrRacket. It evaluates a program in the same way as load, and it starts by importing the following modules: mzscheme, racket/gui/base, mzlib/class, mzlib/etc, mzlib/file, mzlib/list, mzlib/unit, mzlib/include, mzlib/defmacro, mzlib/pretty, mzlib/string, mzlib/thread, mzlib/math, mzlib/match, and mzlib/shared. The Swindle language starts with the same bindings as swindle, and evaluates the program like load.
2.3 How to Design Programs Teaching Languages
Five of DrRackets languages are specically designed for teaching: The Beginning Student language is a small version of Racket that is tailored for beginning computer science students. The Beginning Student with List Abbreviations languages is an extension to Beginning Student that prints lists with list instead of cons, and accepts quasiquoted input. The Intermediate Student language adds local bindings and higher-order functions. 21

Syntactic form names disallowed as variable names In the Beginning Student through Advanced Student languages, all syntactic form names are keywords that cannot be used as variable names. Re-denitions are disallowed In the Beginning Student through Advanced Student languages, top-level names can never be re-dened. Function denitions are allowed only in the denitions window In the Beginning Student languages, function denitions are not allowed in the interactions window. The teaching languages also deviate from traditional Racket in printing values. Different printing formats can be selected for any language through the detail section of languageselection dialog. Constructor-style output See 2.5 Output Printing Styles. Quasiquote-style output See 2.5 Output Printing Styles. Rational number printing In the teaching languages, all numbers that have a nite decimal expansion are printed in decimal form. For those numbers that do not have a nite decimal expansion (such as 4/3) DrRacket offers a choice. It either prints them as mixed fractions or as repeating decimals, where the repeating portion of the decimal expansion is shown with an overbar. In addition, DrRacket only shows the rst 25 digits of the numbers decimal expansion. If there are more digits, the number appears with an ellipses at the end. Click the ellipses to see the next 25 digits of the expansion. This setting controls only the initial display of a number. Right-clicking or Controlclicking (Mac OS X) on the number lets you change from the fraction representation to the decimal representation. write output Prints values with write. Show sharing in values Prints interaction results using the shared syntax, which exposes shared structure within a value. For example, the list created by (let ([lt (list 0)]) (list lt lt)) prints as
(shared ((-1- (list 0))) (list -1- -1-)) instead of (list (list 0) (list 0))
A program in the teaching languages should be tested using the check forms (check-expect value value), (check-within value value value), or (checkerror value string). Tests are evaluated when running the program: when there are no tests, a warning appears in the interactions window; when all tests succeed, an acknowledgement appears in the interactions window; otherwise, a testing window appears to report the results. See 3.1.3 View for details on conguring the report behavior. Tests can be disabled if necessary, see 3.1.5 Racket for details. 24

Replace & Find Again : Replaces the selection with the replace string (if it matches the nd string) and nds the next occurrence of the text that was last searched for, looking forwards. Replace & Find Again Backwards : Replaces the selection with the replace string (if it matches the nd string) and nds the next occurrence of the text that was last searched for, looking backwards. Replace All : Replaces all occurrences of the search string with the replace string. Find Case Sensitive : Toggles between case-sensitive and case-insensitive search. Keybindings : Show Active Keybindings : Shows all of the keybindings available in the current window. Add User-dened Keybindings. : Choosing this menu item opens a le dialog where you can select a le containing Racket-denitions of keybindings. See 3.3.8 Dening Custom Shortcuts for more information. Complete Word : Completes the word at the insertion point, using the manuals as a source of completions. Preferences. : Opens the preferences dialog. See 3.2 Preferences. (Under Mac OS X, this menu item is in the Apple menu.)
One each of the following show/hide pairs of menu items appears at any time. Show Denitions : Shows the denitions window. Hide Denitions : Hides the denitions window. Show Interactions : Shows interactions window. Hide Interactions : Hides interactions window. Show Program Contour : Shows a 20,000 foot overview window along the edge of the DrRacket window. Each pixel in this window corresponds to a letter in the program text. Hide Program Contour : Hides the contour window. Show Module Browser : Shows the module DAG rooted at the currently opened le in DrRacket. See also 1.9 The Module Browser.
Hide Module Browser : Hides the module browser. See also 1.9 The Module Browser. Toolbar : Toolbar on Left : Moves the tool bar (defaultly on the top of DrRackets window) to the left-hand side, organized vertically. Toolbar on Top : Moves the toolbar to the top of the DrRacket window. Toolbar on Right : Moves the tool bar to the right-hand side, organized vertically. Toolbar Hidden : Hides the toolbar entirely. Show Log : Shows the current log messages. Hide Log : Hides the current log messages. Show Prole : Shows the current proling report. This menu is useful only if you have enabled proling in the Choose Language. dialogs Details section. Proling does not apply to all languages. Hide Prole : Hides any proling information currently displayed in the DrRacket window. Dock Test Report : Like the dock button on the test report window, this causes all test report windows to merge with the appropriate DrRacket window at the bottom of the frame. Undock Test Report : Like the undock button on the test report window, this causes the test reports attached to appropriate DrRacket tabs to become separate windows. Show Tracing : Shows a trace of functions called since the last time Run was clicked. This menu is useful only if you have enabled tracing in the Choose Language. dialogs Details section. Proling does not apply to all languages. Hide Tracing : Hides the tracing display. Split : Splits the current window in half to allow for two different portions of the current window to be visible simultaneously. Collapse : If the window has been split before, this menu item becomes enabled, allowing you to collapse the split window. Note: whenever a program is run, the interactions window is made visible if it is hidden.

Moving Around

C-f : move forward one character C-b : move backward one character M-f : move forward one word M-b : move backward one word C-v : move forward one page M-v : move backward one page M-< : move to beginning of le M-> : move to end of le C-a : move to beginning of line (left) C-e : move to end of line (right) C-n : move to next line (down) C-p : move to previous line (up) M-C-f : move forward one S-expression M-C-b : move backward one S-expression M-C-u : move up out of an S-expression M-C-d : move down into a nested S-expression M-C-SPACE : select forward S-expression
M-C-p : match parentheses backward M-C-left : move backwards to the nearest editor box A-C-left : move backwards to the nearest editor box M-C-right : move forward to the nearest editor box A-C-right : move forward to the nearest editor box M-C-up : move up out of an embedded editor A-C-up : move up out of an embedded editor M-C-down : move down into an embedded editor A-C-down : move down into an embedded editor C-F6 : move the cursor from the denitions window to the interactions window (or the search window, if it is open).

Editing Operations

C-_ : undo C-+ : redo C-x u : undo C-d : delete forward one character C-h : delete backward one character M-d : delete forward one word M-DEL : delete backward one word C-k : delete forward to end of line M-C-k : delete forward one S-expression M-w : copy selection to clipboard C-w : delete selection to clipboard (cut) C-y : paste from clipboard (yank) C-t : transpose characters M-t : transpose words M-C-t : transpose sexpressions 38
M-C-m : toggle dark green marking of matching parenthesis M-C-k : cut complete sexpression M-( : wrap selection in parentheses M-[ : wrap selection in square brackets M-{ : wrap selection in curly brackets M-S-L : wrap selection in (lambda ().) and put the insertion point in the arglist of the lambda C-c C-o : the sexpression following the insertion point is put in place of its containing sexpression C-c C-e : the rst and last characters (usually parentheses) of the containing expression are removed C-c C-l : wraps a let around the sexpression following the insertion point and puts a printf in at that point (useful for debugging). M-o : toggle overwrite mode

File Operations

C-x C-s : save le C-x C-w : save le under new name

Search

C-s : search for string forward C-r : search for string backward

Miscellaneous

F5 : Run

Interactions

The interactions window has all of the same keyboard shortcuts as the denitions window plus a few more: M-p : bring the previously entered expression down to the prompt M-n : bring the expression after the current expression in the expression history down to the prompt
LaTeX and TeX inspired keybindings
C-\ M-\ : traces backwards from the insertion point, looking for a backslash followed by a LaTeX macro name; if one is found, it replaces the backslash and the macros name with the keybinding. These are the currently supported macro names and the keys they map into: \Downarrow \nwarrow \downarrow \Rightarrow \rightarrow \mapsto \searrow \swarrow \leftarrow \uparrow \Leftarrow \longrightarrow \Uparrow \Leftrightarrow \updownarrow \leftrightarrow \nearrow \Updownarrow \aleph \prime \emptyset \nabla \diamondsuit \spadesuit \clubsuit \heartsuit \sharp \flat 40
\natural \surd \neg \triangle \forall \exists \infty \circ \alpha \theta \tau \beta \vartheta \pi \upsilon \gamma \varpi \phi \delta \kappa \rho \varphi \epsilon \lambda \varrho \chi \varepsilon \mu \sigma \psi \zeta \nu \varsigma \omega \eta \xi \iota \Gamma \Lambda \Sigma \Psi \Delta \Xi \Upsilon \Omega \Theta

41

\Pi \Phi \pm \cap \diamond \oplus \mp \cup \bigtriangleup \ominus \times \uplus \bigtriangledown \otimes \div \sqcap \triangleleft \oslash \ast \sqcup \vee \wedge \triangleright \odot \star \dagger \bullet \ddagger \wr \amalg \leq \geq \equiv \models \prec \succ \sim \perp \top \preceq \succeq \simeq \ll \gg \asymp \parallel
\subset \supset \approx \bowtie \subseteq \supseteq \cong \sqsubsetb \sqsupsetb \neq \smile \sqsubseteq \sqsupseteq \doteq \frown \in \ni \propto \vdash \dashv \sqrt \skull \smiley \blacksmiley \frownie \S \newpage

Dening Custom Shortcuts

The Add User-dened Keybindings. menu item in the Keybindings sub-menu of Edit selects a le containing Racket denitions of keybindings. The le must contain a module that uses a special keybindings language, framework/keybinding-lang. To do so, begin your le with this line:
#lang s-exp framework/keybinding-lang
The framework/keybinding-lang languages provides all of the bindings from racket, racket/class, and drracket/tool-lib, except that it adjusts #%module-begin to introduce a keybinding form:
(keybinding string-expr proc-expr )
Declares a keybinding, where string-expr must produce a suitable rst ar43
gument for map-function in keymap%, and the proc-expr must produce a suitable second argument for add-function in keymap%. For example, this remaps the key combination control-a key to !.
#lang s-exp framework/keybinding-lang (keybinding "c:a" ( (editor evt) (send editor insert "!")))

Note that DrRacket does not reload this le automatically when you make a change, so youll need to restart DrRacket to see changes to the le.

3.4 DrRacket Files

3.4.1 Program Files
The standard le extension for a Racket program le is ".rkt". The extensions ".ss", ".scm", and ".sch" are also historically popular. DrRackets editor can save a program le in two different formats: Plain-text le format All text editors can read this format. DrRacket saves a program in plain-text format by default, unless the program contains images or text boxes. (Plain-text format does not preserve images or text boxes.) Plain-text format is platform-specic because different platforms have different newline conventions. However, most tools for moving les across platforms support a text transfer mode that adjusts newlines correctly. Multimedia le format This format is specic to DrRacket, and no other editor recognizes it. DrRacket saves a program in multimedia format by default when the program contains images, text boxes, or formatted text. Multimedia format is platform-independent, and it uses an ASCII encoding (so that different ways of transferring the le are unlikely to corrupt the le).
Backup and Autosave Files
When you modify an existing le in DrRacket and save it, DrRacket copies the old version of the le to a special backup le if no backup le exists. The backup le is saved in the same directory as the original le, and the backup les name is generated from the original les name: Under Unix and Mac OS X, a "" is added to the end of the les name. 44
Under Windows, the les extension is replaced with ".bak". Every ve minutes, DrRacket checks each open le. If any le is modied and not saved, DrRacket saves the le to a special autosave le (just in case there is a power failure or some other catastrophic error). If the le is later saved, or if the user exists DrRacket without saving the le, the autosave le is removed. The autosave le is saved in the same directory as the original le, and the autosave les name is generated from the original les name: Under Unix and Mac OS X, a "#" is added to the start and end of the les name, then a number is added after the ending "#", and then one more "#" is appended after the number. The number is selected to make the autosave lename unique. Under Windows, the les extension is replaced with a number to make the autosave lename unique. If the denitions window is modied and there is no current le, then an autosave le is written to the users documents directory.

Preference Files

(find-system-path 'doc-dir).
The documents directory is determined by
On start-up, DrRacket reads conguration information from a preferences le. The name and location of the preferences le depends on the platform and user: Under Unix, preferences are stored in a ".racket" subdirectory in the users home directory, in a le "racket-prefs.rktd". Under Windows, preferences are stored in a le "racket-prefs.rktd" in a subdirectory "Racket" in the users application-data folder as specied by the Windows registry; the application-data folder is usually "Application Data" in the users prole directory, and that directory is usually hidden in the Windows GUI. Under Mac OS X, preferences are stored in "org.racket-lang.prefs.rktd" in the users preferences folder. A lock le is used while modifying the preferences le, and it is created in the same directory as the preferences le. Under Windows, the lock le is named "_LOCKracketprefs.rktd"; under Unix, it is ".LOCK.racket-prefs.rktd"; under Mac OS X, it is ".LOCK.org.racket-lang.prefs.rktd". If the user-specic preferences le does not exist, and the le "racket-prefs.rktd" in the "defaults" collection does exist, then it is used for the initial preference settings. (See 18.2 Libraries and Collections for more information about collections.) This le thus allows site-specic conguration for preference defaults. To set up such a conguration, start 45

The expression

(find-system-path 'pref-file)
returns the platform- and user-specic preference le path.
DrRacket and congure the preferences to your liking. Then, exit DrRacket and copy your preferences le into the "defaults" collection as "racket-prefs.rktd". Afterward, users who have no preference settings already will get the preference settings that you chose.

Extending DrRacket

DrRacket supports two forms of extension to the programming environment: A teachpack extends the set of procedures that are built into a language in DrRacket. For example, a teachpack might extend the Beginning Student language with a procedure for playing sounds. Teachpacks are particularly useful in a classroom setting, where an instructor can provide a teachpack that is designed for a specic exercise. To use the teachpack, each student must download the teachpack le and select it through the Language|Add Teachpack. menu item. See 4.1 Teachpacks for information in creating teachpacks. A tool extends the set of utilities within the DrRacket environment. For example, DrRackets Check Syntax button starts a syntax-checking tool. For information on creating tools, see Plugins: Extending DrRacket.

Add User-dened Keybindings.
Advanced Student language, 22
alpha renaming, 7 "Application Data", 45 automatic parenthesis, 8 Backup and Autosave Files, 44 Beginning Student language, 21 languages, 21

item, 29

Check Syntax button, 6 Choose Language. menu item, 31
Choosing a Language, 7 Clear All Teachpacks menu item, 31 Clear Error Highlight menu item, 31 Clear menu item, 28 Close menu item, 28 Collapse menu item, 30 Colors, 33 Comment Out with a Box menu item, 31 Comment Out with Semicolons menu item, 31 Complete Word menu item, 29 Constructor output, 25 Copy menu item, 28 Create Executable. menu item, 31 Creating Executables, 18 Cut menu item, 28 cycle back through old expressions, 10 Debug button, 15 Debug button, 6 debugger, 6 Debugger Buttons, 15 Debugging Multiple Files, 17 Dening Custom Shortcuts, 43 denitions window, 5 Denitions Window Actions, 16 Delete menu item, 28 Disable Tests menu item, 32 display, 11 distribution archive, 19 Dock Test Report menu item, 30 DrRacket Files, 44 DrRacket Teachpacks, 47 DrRacket: Programming Environment, 1 Edit, 28 Editing, 34 Editing Operations, 38 Editing with Parentheses, 8 Emacs keybindings, 37 Enable Tests menu item, 32 Environment Variables, 48
Beginning Student with List Abbreviations Break button, 7 Break menu item, 31 Bring Frame to Front. menu item, 33 Browser, 36
Buttons, 6 C-+ keybinding, 38 C-\ keybinding, M-\ keybinding, 40 C-_ keybinding, 38 C-a keybinding, 37 C-b keybinding, 37 C-c C-e keybinding, 39 C-c C-l keybinding, 39 C-c C-o keybinding, 39 C-d keybinding, 38 C-e keybinding, 37 C-f keybinding, 37 C-F6 keybinding, 38 C-h keybinding, 38 C-k keybinding, 38 C-n keybinding, 37 C-p keybinding, 37 C-r keybinding, 39 C-s keybinding, 39 C-t keybinding, 38 C-v keybinding, 37 C-w keybinding, 38 C-x C-s keybinding, 39 C-x C-w keybinding, 39 C-x u keybinding, 38 C-y keybinding, 38 changing a parenthesis as you type, 8 Check syntax, question-mark arrows, 7 Check syntax, purple arrows, 7
error highlighting, 10 Errors, 10 evaluating expressions, 10 Extending DrRacket, 47 F5 keybinding, 39 File, 27 le extension, 44 File Operations, 39 lename button, 6 Find Again Backwards menu item, 28 Find Again menu item, 28 Find Case Sensitive menu item, 29 Find. menu item, 28 ashing parenthesis matches, 8 Font, 33 formatting Racket code, 8 Go button, 15 Graphical Debugging Interface, 15 Graphical Syntax, 14 gray highlight regions, 8 Help, 33 Help Desk menu item, 33 Hide Denitions menu item, 29 Hide Interactions menu item, 29 Hide Log menu item, 30 Hide Module Browser menu item, 30 Hide Prole menu item, 30 Hide Program Contour menu item, 29 Hide Tracing menu item, 30 How to Design Programs Teaching Languages, 21 I/O, 11 Images, 14 indenting Racket code, 8 Input and Output, 11 Insert, 32 Insert Comment Box menu item, 32 Insert Fraction. menu item, 32 Insert Image. menu item, 32 Insert Large Letters. menu item, 32 Insert Pict Box menu item, 32 Insert Racket Box menu item, 32

 

Tags

1 1 DEH-2020MPB Dwl-G122 Faronics Core F-I90HD E5600 WR250FP E250DN HP-J157PMD Spotmeter AVR 5 RCS-LX60D Easyshare C190 SGH-C130 MFC-9420CN Copia 9910 Escort-2002 SGH-U600 LQ-850 Alarm 2000U 15045D CD501 Moeller ETR4 AQ12nsax 12 1P S1 125 Deskjet 3520 250XL SE7351B SP6C II CQ-C7103U S-five MDS-S707 NWZ-S544BLK HT820 WAC7500 37LH5000 DVD-P380 Explorer-2006 PLC-XF40 KX-TG7323NL M5255 Pro-NVD-v001 LE37S8 DZ5080 Ixus V Unico Basic KIT LA40A450 L12820 12 USB WAS700 18-2 G31 75-822 L72805 RM-LP204 YP-S3JAB Zuma-2005 SRF-S53 LBT-D790 CDX-L360 Gpsmap 4208 NWZ-X1051 V2 2 TS-W304F Speed 7823 YG2800I L1718S Latitude X200 Bizhub 421 Tl92420 PSR340 Cyclecomputing C3 AV 700 Review CQ-RDP101N Crunchtrainer Prestige 2002 Riven G2712N 93ST-A XV250S FW380C LE40A656a1C F1246 TH-A85 10 4 IC-F111 SC163VS Auto-vice City AX-2000 NX9000 Coupe VP-700 SLV-SE720E DVD Game Trackpad Scangear N80-1 GSD6900

 

manuel d'instructions, Guide de l'utilisateur | Manual de instrucciones, Instrucciones de uso | Bedienungsanleitung, Bedienungsanleitung | Manual de Instruções, guia do usuário | инструкция | návod na použitie, Užívateľská príručka, návod k použití | bruksanvisningen | instrukcja, podręcznik użytkownika | kullanım kılavuzu, Kullanım | kézikönyv, használati útmutató | manuale di istruzioni, istruzioni d'uso | handleiding, gebruikershandleiding

 

Sitemap

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101