$ whois scheme
Scheme
first released in 1975 · by Guy L. Steele, Gerald Jay Sussman
$ guessprog --inspect scheme
- year
- 1975
- paradigm
- functional
- family
- lisp
- memory
- automatic gc
- binding
- dynamic
- safety
- strong
SCHEME(7)
- AUTHORS
- Guy L. Steele, Gerald Jay Sussman
- HISTORY
- Guy L. Steele and Gerald Jay Sussman created Scheme at the MIT AI Lab in 1975, while trying to understand Carl Hewitt's actor model of computation by building a tiny Lisp interpreter. They described it in a series of memos later known as the Lambda Papers. It was meant to be called "Schemer", after the AI languages Planner and Conniver, but the operating system they used limited file names to six characters. Its minimalism, lexical scoping and first-class continuations made it a favourite for teaching and research.
- USAGE
- Mainly used in education and programming language research, famously as the language of the classic MIT textbook Structure and Interpretation of Computer Programs. Implementations such as GNU Guile, Chez Scheme and Racket (a descendant) keep it alive, but it is a niche language in industry.
- SEE ALSO
- Scheme on Wikipedia ↗
(define (compose . fs)
(if (null? fs)
(lambda (x) x)
(lambda (x) ((car fs) ((apply compose (cdr fs)) x)))))
(define inc-then-double
(compose (lambda (x) (* 2 x)) (lambda (x) (+ x 1))))
(let loop ((i 0))
(when (< i 3)
(display (inc-then-double i))
(newline)
(loop (+ i 1))))