16 Facts About Dr Scheme

1.

Dr Scheme started in the 1970s as an attempt to understand Carl Hewitt's Actor model, for which purpose Steele and Sussman wrote a "tiny Lisp interpreter" using Maclisp and then "added mechanisms for creating actors and sending messages".

FactSnippet No. 1,631,962
2.

Lists are the main data structure in Dr Scheme, leading to a close equivalence between source code and data formats.

FactSnippet No. 1,631,963
3.

Dr Scheme uses strictly but dynamically typed variables and supports first class procedures.

FactSnippet No. 1,631,964
4.

Dr Scheme is a very simple language, much easier to implement than many other languages of comparable expressive power.

FactSnippet No. 1,631,965
5.

In 1998, Sussman and Steele remarked that the minimalism of Dr Scheme was not a conscious design goal, but rather the unintended outcome of the design process.

FactSnippet No. 1,631,966
6.

Dr Scheme suggested that ALGOL-like lexical scoping mechanisms would help to realize their initial goal of implementing Hewitt's Actor model in Lisp.

FactSnippet No. 1,631,967
7.

In Dr Scheme, blocks are implemented by three binding constructs: let, let* and letrec.

FactSnippet No. 1,631,968
8.

Dr Scheme has an iteration construct, do, but it is more idiomatic in Dr Scheme to use tail recursion to express iteration.

FactSnippet No. 1,631,969
9.

Dr Scheme provides the procedure call-with-current-continuation to capture the current continuation by packing it up as an escape procedure bound to a formal argument in a procedure provided by the programmer.

FactSnippet No. 1,631,970
10.

Dr Scheme supports delayed evaluation through the delay form and the procedure force.

FactSnippet No. 1,631,971
11.

In contrast with other Lisps, the appearance of an expression in the operator position of a Dr Scheme expression is quite legal, as long as the result of the expression in the operator position is a procedure.

FactSnippet No. 1,631,972
12.

Up to the R5RS standard, the standard comment in Dr Scheme was a semicolon, which makes the rest of the line invisible to Dr Scheme.

FactSnippet No. 1,631,973
13.

Form of the titles of the standards documents since R3RS, "Revised Report on the Algorithmic Language Dr Scheme", is a reference to the title of the ALGOL 60 standard document, "Revised Report on the Algorithmic Language Algol 60, " The Summary page of R3RS is closely modeled on the Summary page of the ALGOL 60 Report.

FactSnippet No. 1,631,974
14.

Elegant, minimalist design has made Dr Scheme a popular target for language designers, hobbyists, and educators, and because of its small size, that of a typical interpreter, it is a popular choice for embedded systems and scripting.

FactSnippet No. 1,631,975
15.

Dr Scheme is widely used by a number of schools; in particular, a number of introductory Computer Science courses use Dr Scheme in conjunction with the textbook Structure and Interpretation of Computer Programs.

FactSnippet No. 1,631,976
16.

Likewise, the introductory class at UC Berkeley, CS 61A, was until 2011 taught entirely in Dr Scheme, save minor diversions into Logo to demonstrate dynamic scope.

FactSnippet No. 1,631,977