This site contains user submitted content, comments and opinions and is for informational purposes only. Apple may provide or recommend responses as a possible solution based on the information provided; every potential issue may involve several factors not detailed in the conversations captured in an electronic forum and Apple can therefore provide no guarantee as to the. Through our BACK 2 MAC take back program, M∙A∙C is working to reduce the environmental impact of our packaging by helping to reduce the amount of plastic sent to landfill.
Scheme is a statically scoped and properly tail-recursive dialect ofthe Lisp programming language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. It was designed to havean exceptionally clear and simple semantics and few different ways toform expressions. A wide variety of programming paradigms, includingimperative, functional, and message passing styles, find convenientexpression in Scheme.
Scheme was one of the first programming languages to incorporate firstclass procedures as in the lambda calculus, thereby proving theusefulness of static scope rules and block structure in a dynamicallytyped language.Scheme was the first major dialect of Lisp to distinguish proceduresfrom lambda expressions and symbols, to use a single lexicalenvironment for all variables, and to evaluate the operator positionof a procedure call in the same way as an operand position.By relying entirely on procedure calls to express iteration, Schemeemphasized the fact that tail-recursive procedure calls areessentially goto's that pass arguments.Scheme was the first widely used programming language to embrace firstclass escape procedures, from which all previously known sequentialcontrol structures can be synthesized.More recently, building upon the design of generic arithmetic inCommon Lisp, Scheme introduced the concept of exact and inexactnumbers.Scheme is also the first programminglanguage to support hygienic macros, which permit the syntax of ablock-structured language to be extended reliably.
MIT/GNU Scheme
MIT/GNU Scheme is a complete programming environment that runs on manyunix platforms, as well as Microsoft Windows and IBM OS/2. Itfeatures a rich runtime library, a powerful source-level debugger, anative-code compiler, and an integrated Emacs-like editor.
- MIT/GNU Schemeis available for Intel-architecture (x86) machines running GNU/Linux,FreeBSD, IBM OS/2 or Microsoft Windows 9x/ME/NT/2000/XP.
- NWWYW: 6.001 LA Manual--howto be a Lab Assistant for the introductory programming course at MIT.
Documentation
- The language specification: The Revised5 Report onthe Algorithmic Language Scheme.
Postscript (870KB);gzipped Postscript(215KB); andHTML.(HTML courtesy of Aubrey Jaffer.)The report is also available as anarticlein Higher-Order and Symbolic Computation. - The rrrs-authors mailing list archive.
- The Scheme Requests forImplementation (SRFI) process is a new approach tohelping Scheme users to write portable and yet useful code. It is aforum for people interested in coordinating libraries and otheradditions to the Scheme language between implementations.
- Answers to frequently asked questions (last updated in 1997).
Other Implementations
- GUILE, GNU'sUbiquitous Intelligent Language for Extension, is a libraryimplementation of the Scheme language plus various convenientfacilities. It's designed so that you can link it into an applicationor utility to make it extensible.
- Kawa compiles Schemeinto Java byte-codes.
- PLT Scheme is an umbrellaname for a family ofimplementations ofthe Scheme programming language.
- Pseudoscheme embeds Scheme in CommonLisp.
- Scheme 48 is a small and portableimplementation based on a byte code interpreter. It should run on any32-bit byte-addressed machine that has an ANSI C compiler and POSIXsupport.
- SCM is a portable Schemeimplementation written by Aubrey Jaffer.
- Scsh, a Scheme Shell, is abroad-spectrum systems-programming environment for Unix embedded inR4RS Scheme. Runs on most major Unix platforms.
- Skij is a partialScheme implementation that is implemented in and integrated with Java.
- STk is a version of Schemewith a Tk interface.
- VSCM is aportable Scheme implementation written by Matthias Blume of PrincetonUniversity.
- The Open Directory Project maintains alisting of Scheme implementations, which is intended to becomprehensive. It includes free software, proprietary software, andarchaic implementations which are of historical interest.
- David Pilo Mansion has created a set of visual tools for theScheme programming language together with a basic interpreter. Theprogram is entirely written in Java and is intended as a visual aidfor students that are learning the functional programming language.
Etc.
- TheScheme Repository at Indiana University has numerousimplementations, technical reports, and software packages.
- The CMU Scheme Repository This repository has a large overlap withthe Indiana repository.
- Schemers.org is a collection ofresources for the Scheme programming language.
- TheSchememonster's Friends is a group of computer science students atthe Helsinki University of Technology united by the interest in Scheme- and the insight that we should keep the fun in programming.
- Newsgroup comp.lang.scheme
- The SchemeUnderground is a project to develop a new, highly portableprogramming environment for Unix, the World Wide Web, and wearablecomputers.
- Scheme inEducation is a collection of links for people interested in Schemeas a tool in education.
- Algorithmic Language Scheme is a Japanese-language Scheme homepage.
- Structure andInterpretation of Computer Programs is the text book used in theintroductory programming course here at MIT.
Send bug reports and other communications concerning MIT Scheme tobug-cscheme at zurich.ai.mit.edu
Last updated 23 October 2003.