The Scheme Programming Language
resources updated everyday:
Scheme started as an experiment in programming language design by challenging some fundamental design assumptions. It emerged from MIT in the mid-1970's. It is a dialect of the Lisp Programming Language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. Originally called Schemer, it was shortened to Scheme because of a 6 character limitation on file names. Scheme is a small, exceptionally clean language which is fun to use. The language was designed to have very few, regular constucts which compose well to support a variety of programming styles including functional, object-oriented, and imperative.
Significant Language Features
Scheme has lexical scoping, uniform evaluation rules, and uniform treatment of data types. Scheme does not have the concept of a pointer, uninitialized variables, specialized looping constucts, or explicit storage management. In Scheme, all data types are equal. What one can do to one data type, one can do to all data types.
- There are seven kinds of expressions:
- Constant, Variable reference, Procedure creation, Procedure application, Conditional, Assignment, and Sequence.
- Scheme also has the usual assortment of data types:
- Characters, Strings, Arrays, Lists, Numbers, Functions (also called procedures), Boolean, Ports, and Symbols. Numbers are especially interesting in that an integer is a rational and a real is a complex. Scheme requires no looping constructs. Any function which calls itself in the "tail" position is just a loop.
Scheme has several important advantages. It is elegantly simple in that regular structure and trivial syntax avoids "special case" confusion. Its expressiveness means that one spends little time trying to work around the language--it lets users concentrate on what they want to say rather than on how to say it. Its support of a variety of styles (including object-oriented) allows users to better match their solution style to the style of the problems to be solved. Its formal underpinnings make reasoning about programs much easier. Its abstractive power makes it easy to separate system specific optimizations from reusable code. Its composability makes it easy to construct systems from well-tested components.
Areas of Application
Scheme is currently gaining favor as a first programming language in universities and is used in industry by such companies as DEC, TI, Tektronix, HP, and Sun.
Source Code: (Hello World)
This program was submited by email@example.com (Scott Ruthfield)
This program prints the phrase "Hello World".