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.
Elevate your Scheme skills through 41 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.
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 functional, imperative, and message passing styles, find convenient expression in Scheme.
Compact
Scheme supplies a small number of general-purpose features.
Functional
Inspired by lambda calculus, scopes and loops are expressed by defining and calling functions.
Suitable for embedding
Some applications use Scheme as their extension language.
S-expressions
Both source code and data are expressed using nested lists.
Numeric tower
Scheme supports exact and inexact numbers.
Hygienic macros
Scheme supports hygienic macros, allowing the syntax to be extended reliably.
Compact
Scheme supplies a small number of general-purpose features.
Functional
Inspired by lambda calculus, scopes and loops are expressed by defining and calling functions.
Suitable for embedding
Some applications use Scheme as their extension language.
S-expressions
Both source code and data are expressed using nested lists.
Numeric tower
Scheme supports exact and inexact numbers.
Hygienic macros
Scheme supports hygienic macros, allowing the syntax to be extended reliably.