[previous] [up] [next]     [index]
Next: Printed Results Up: Interface Essentials Previous: Errors

Languages

DrScheme supports five languages:

Programs written in standard Scheme generally require the Advanced, MzScheme, or MrEd language.

DrScheme always shows the current evaluation language in the top of the interactions window. To choose a different language, select the Language|Configure Language... menu item. After changing the language, click Execute to reset the language in the interactions window.

The following table summarizes the syntactic forms and procedures built into each language.

                                             Beg Int Adv MzS MrEd
=================================================================
define (*), define-struct                     X   X   X   X   X  
lambda (**)                                   X   X   X   X   X  
cond, if, and, or                             X   X   X   X   X  
nand, nor                                     X   X   X   a   a  
quote'd symbols                               X   X   X   X   X  
MrSpidey annotations                          X   X   X   b   b  

quote'd lists, quasiquote, unquote X X X X let (*), let* (*), letrec (*) X X X X local X X a a

set! (*), fluid-let X X X begin, begin0, implicit begin X X X when, unless, if without else X X X Named let, delay, do, case X X X recur, rec, evcase X a a Turtles, split, split*, tprompt X c

require-library X X X X X define-macro, begin-elaboration-time X X X X X time X X X X let/cc, parameterize, with-handlers X X X Other MzScheme syntax X X ================================================================= Scheme and MzScheme procedures X X X X X MzLib core library procedures X X X d d MrEd GUI classes X ================================================================= Case-sensitive identifiers and symbols X X X Procedures must take at least 1 argument X X Identifier required at function-call position X X Top-level required at function-call position X quote works only on symbols X Unmatched cond/case is an error X X X Conditional values must be #t or #f X X eq? compares only symbols X X =, ..., +, *, and / take at least 2 arguments X X X and, or, nand, nor require at least 2 exprs X X X Improper lists disallowed X X X ================================================================= Constructor-style output X X X write output X X Abbreviate cons constructor with list X X Show sharing in values X Print inexact numbers with #i X X X ================================================================= *: including -values forms **: including case-lambda a: Use (require-library "macro.ss") b: Use (require-library "spidey.ss") c: Use (require-library "turtle.ss" "graphics") d: Use (require-library "core.ss")

Most lines in the table specify the syntactic forms and procedures that each language provides. Lines in the next-to-last section specify deviations from the standard Scheme language: Lines in the last section specify deviations from a traditional Scheme read-eval-print interface in the way that DrScheme prints interaction results:

The Language|Configure Language... dialog contains a Show Details button that lets you configure certain details of the language specification. (Each option corresponds to one of the lines in the language table, but only a few of the lines in the figure have an option in the dialog.) Whenever the selected options do not match the default language specification, a Custom indicator appears next to the language-selection control at the top of the dialog.


[previous] [up] [next]     [index]
Next: Printed Results Up: Interface Essentials Previous: Errors

PLT