Revised5 Report on the Algorithmic Language Scheme
@article{Abelson1998Revised5RO, title={Revised5 Report on the Algorithmic Language Scheme}, author={Harold Abelson and R. Kent Dybvig and Christopher T. Haynes and Guillermo Juan Rozas and IV N.I.Adams and Daniel P. Friedman and Eugene E. Kohlbecker and Guy L. Steele and David H. Bartley and Robert H. Halstead and Don Oxley and Gerald J. Sussman and Gary Brooks and Chris Hanson and Kent M. Pitman and Mitchell Wand}, journal={Higher-Order and Symbolic Computation}, year={1998}, volume={11}, pages={7-105} }
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele, Jr. and Gerald Jay Sussman. It was designed to have an exceptionally clear and simple semantics and few different ways to form expressions. A wide variety of programming paradigms, including imperative, functional, and message passing styles, find convenient expression in Scheme.The…
566 Citations
Revised6 Report on the Algorithmic Language Scheme
- Computer ScienceJournal of Functional Programming
- 2009
Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today.
Revised Report on the Kernel Programming Language
- Computer Science
- 2005
Kernel is a statically scoped and properly tail-recursive dialect of Lisp, descended from Scheme, designed to be simpler and more general than Scheme, with an exceptionally clear, simple, and versatile semantics.
Advanced Macrology and the Implementation of Typed Scheme
- Computer Science
- 2007
The design and implementation of Typed Scheme is presented using the advanced language construction features of PLT Scheme's language framework and their use with a case study is demonstrated.
Semantics of the reFLect language
- Computer SciencePPDP '04
- 2004
It is proved that the reduction semantics for this language is strongly normalizing and confluent, and a set-theoretical denotational semantics for the language is given, which provides the basis for developing the semantics of reFLect's extension of higher order logic and proving its soundness.
Little Languages and their Programming Environments Rice University Technical Report TR 99-350
- Computer Science
- 1999
It is argued that an embedded little language should inherit not only the host language's syntactic and semantic structure, but also its programming environment, and represents a substantial improvement upon current practice.
Well-Shaped Macros
- Computer Science
- 2003
This paper introduces a modified macro system that allows a Scheme implementation to determine whether macro definitions and programs are syntactically well-formed and introduces a system for specifying and restricting the class of shapes that a macro can transform.
Growing a Syntax
- Computer Science
- 2008
This paper is the first implementation of a modular hygienic macro system based on parsing expression grammars for the Fortress programming language, and is a flexible system that allows not only to support new language extensions, but also to move many constructs of the core language into libraries.
Compiler support for lightweight concurrency
- Computer Science
- 2002
The IR’s continuations and thread manipulation primitives are described and illustrated with examples of various concurrency operations and an operational semantics is defined to specify the operations precisely and to provide a tool for reasoning about the correctness of implementations.
A Transformation-Based Foundation for Semantics-Directed Code Generation
- Computer Science
- 2014
This dissertation proposes a transformation-based foundation for deriving compilers from semantic specifications in the form of four rules that give apriori advice for staging, and allow explicit compiler derivation that would be less succinct with partial evaluation.
Little Languages and Their Programming Environments
- Computer Science
- 2001
It is argued that an embedded little language should inherit not only the host language's syntactic and semantic structure, but also its programming environment, and represents a substantial improvement upon current practice.
References
SHOWING 1-10 OF 74 REFERENCES
Revised5 Report on the Algorithmic Language Scheme
- Computer ScienceACM SIGPLAN Notices
- 1998
Revised3 report on the algorithmic language scheme
- Computer ScienceSIGP
- 1986
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis…
Revised4 report on the algorithmic language scheme
- Computer ScienceLIPO
- 1991
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis…
The Revised Report on SCHEME: A Dialect of LISP.
- Computer Science
- 1978
SCHEME is an expression-oriented, applicative order, interpreter-based language which allows one to manipulate programs as data which differs from most current dialects of LISP in that it closes all lambda-expressions in the environment of their definition or declaration, rather than in the execution environment.
Scheme: A Interpreter for Extended Lambda Calculus
- Computer ScienceHigh. Order Symb. Comput.
- 1998
A completely annotated interpreter for SCHEME, written in MacLISP, is presented to acquaint programmers with the tricks of the trade of implementing non-recursive control structures in a recursive language like LISP.
The Revised Revised Report on Scheme or An Uncommon Lisp
- Computer Science
- 1985
Abstract : Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele Jr and Gerald Jay Sussman. It was designed to have an…
Syntactic extensions in the programming language LISP
- Computer Science
- 1986
A new macro declaration tool is designed that addresses each of the five problems from which the traditional tools suffer, and a new macro expansion algorithm is developed that eliminates the capturing problem.
Definitional interpreters for higher-order programming languages
- Computer ScienceACM '72
- 1972
The definition of a simple applicative programming language by means of an interpreter written in a similar language is considered, and the treatment of imperative features such as jumps and assignment is discussed.
Revised report on the algorithm language ALGOL 60
- Computer ScienceCACM
- 1963
a survey of the basic coustituents arid fcuturcs of the language is given, and the formal notation, by which the syntactic structure is defined, is esplaincd. The sccnnd chapter lists all the basic…
Common Lisp: The Language, second edition.Digital Press
- Burlington MA,
- 1990