Simply Scheme Support Definitions
Danny Yoo <dyoo@cs.wpi.edu>
1 Introduction
This library adds a Simply Scheme teaching language into DrRacket; the language is used in the textbook:
Simply Scheme / Introducing Computer Science, Second Edition |
Brian Harvey and Matthew Wright |
MIT Press, 1999 |
http://www.cs.berkeley.edu/~bh/ss-toc2.html |
The original source of these programs can be found from the FTP site at ftp://ftp.cs.berkeley.edu/pub/scheme. The definitions in this library should correspond to those in "simply.scm" version 3.13 (8/11.98).
2 Quick Start
Although we use these definitions from switching the DrRacket language level to Simply Scheme, this library can also be easily used as a #lang language.
For example, if your DrRacket language level has been set to Determine language from source, then the following example should run without any trouble:
#lang simply-scheme (se (butlast (bf "this")) "world")
3 Table of Scheme Primitives by Category
(Primitives with a ’*’ are not part of standard Scheme)
3.1 Words and Sentences
3.2 Lists
3.3 Trees
3.4 Arithmetic
3.5 True and False
3.6 Variables
3.7 Vectors
3.8 Procedures
3.9 Higher-Order Procedures
3.10 Control
3.11 Input / Output
3.12 Files and Ports
4 Alphabetical Listing of Scheme Primitives
(require simply-scheme) | package: simply-scheme |
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
syntax
5 Deviations from plain racket
5.1 Strings are numbers
> (+ "40" 2) 42
This can be enabled or disabled by using strings-are-numbers:
syntax
6 Differences from the book and things to fix
FIXME: the other helper libraries haven’t been mapped yet. (things like functions.scm would be nice to have as a library.)
I also need to improve the documentation to use Scribble features; the current work is a rush job.
7 Thanks!
Thanks to my professors at UC Berkeley, especially Brian Harvey and Dan Garcia. Yes, CS61A was the best computer science class I’ve taken.
Thanks to Reid Oda for catching a very ugly bug involving namespaces, and Matthew Flatt for telling me how to fix it. See http://list.cs.brown.edu/pipermail/plt-scheme/2007-February/016387.html.