include_template( 'topper.html' ); ?> CS echo $class['number']; ?> Scheme Resources include_template( 'page-start.html' ); ?>
Scheme Used in Class | |
Implementation: | DrScheme |
Latest Version: | 206 |
Official Download: | Unix and Win32 binaries, or source |
section_title( 'Installing DrScheme' ) ?>
Visit the DrScheme download page.
Choose the binary distribution appropriate for your operating system and download it.
Follow the installation instructions for your distribution.
When you first run DrScheme, it will prompt you for the language level to use for your programs. We recommend choosing the Intermediate Student with lambda language level (under "Teaching Languages", expand the "How to Design Programs" category if necessary to see this choice). This language level is restrictive enough to prevent you from using many imperative features that you are not allowed to use in class assignments--including all forms of mutable state (i.e., changing the value bound to a name using assignment-like operations). It also provides more informative error messages in some situations, and prevents the use of some constructs that can provide difficulty for students learning Scheme. Finally, because it prevents variables from changing values, it supports the Stepper, a useful debugging tool for simple Scheme functions and programs.
Take the DrScheme tour. You can take it on-line, or directly within your DrScheme implementation (Use Help->Help Desk or use Help->About DrScheme).
section_title( 'Scheme Documentation On-Line' ) ?>
CS 5314 Scheme Tutorial (a must-read document!)
DrScheme Programming Environment Manual (info on menus/tools)
Section 2.5: Languages describes the various language levels implemented in DrScheme and what limits they impose.
The Intermediate Student with lambda summary lists the specific Scheme functions that are predefined for this language level (not all Scheme builtins are available). View it using the Help->Help Desk menu entry in DrScheme (then choose Manuals, then Intermediate Student with lambda)
Section 7. Lists, from the MIT Scheme Reference Manual provides another view of the basic list manipulation functions available in most Scheme implementations.
Revised5 Report on the Algorithmic Language Scheme (complete language definition)
Section 6.3.2. Pairs and Lists documents the basic list manipulation functions guaranteed in the language standard.
PLT MzScheme: Language Manual (language reference for MzScheme extensions)
section_title( 'Useful Links' ) ?>
MIT Scheme Home Page (an alternative Scheme implementation)
Sample Programs | ||||
Language | Name | File | ||
---|---|---|---|---|
Scheme | Body Mass Index | bmi.scm | ||
Scheme | echo-input | echo-input.scm | ||
Scheme | Simple Tokenizer | tokenizer1.scm | ||
Scheme | Tokenizer with Lookahead | tokenizer2.scm | ||
Scheme | Adventure | advent.scm | ||
Scheme | Putting Scheme to Work | work.scm |
include_template( 'page-end.html' ); ?>