Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
Syntactic extensions in the programming language LISP
Syntactic extensions in the programming language LISP
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
How to read floating point numbers accurately
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Syntactic abstraction in Scheme
Lisp and Symbolic Computation
A syntactic approach to type soundness
Information and Computation
Printing floating-point numbers quickly and accurately
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Revised report on the algorithm language ALGOL 60
Communications of the ACM
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
Compiler Construction
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
T: a dialect of Lisp or LAMBDA: The ultimate software tool
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Extending the scope of syntactic abstraction
Extending the scope of syntactic abstraction
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Common Lisp: The Language
An operational semantics for scheme1
Journal of Functional Programming
The Scheme Programming Language, 4th Edition
The Scheme Programming Language, 4th Edition
Revised [6] Report on the Algorithmic Language Scheme
Revised [6] Report on the Algorithmic Language Scheme
A domain-specific language for urban simulation variables
dg.o '08 Proceedings of the 2008 international conference on Digital government research
Small-step and big-step semantics for call-by-need
Journal of Functional Programming
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Contracts for first-class classes
Proceedings of the 6th symposium on Dynamic languages
Managing continuations for proper tail recursion
Proceedings of the 2010 international conference on Lisp
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Layout-sensitive language extensibility with SugarHaskell
Proceedings of the 2012 Haskell Symposium
Interruptible context-dependent executions: a fresh look at programming context-aware applications
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Banana Algebra: Compositional syntactic language extension
Science of Computer Programming
Hi-index | 0.00 |
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. 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. Scheme was one of the first programming languages to incorporate first-class procedures as in the lambda calculus, thereby proving the usefulness of static scope rules and block structure in a dynamically typed language. Scheme was the first major dialect of Lisp to distinguish procedures from lambda expressions and symbols, to use a single lexical environment for all variables, and to evaluate the operator position of a procedure call in the same way as an operand position. By relying entirely on procedure calls to express iteration, Scheme emphasized the fact that tail-recursive procedure calls are essentially gotos that pass arguments. Scheme was the first widely used programming language to embrace first-class escape procedures, from which all previously known sequential control structures can be synthesized. A subsequent version of Scheme introduced the concept of exact and inexact number objects, an extension of Common Lisp's generic arithmetic. More recently, Scheme became the first programming language to support hygienic macros, which permit the syntax of a block-structured language to be extended in a consistent and reliable manner.