Scheme
( ) est un langage de programmation dérivé du langage fonctionnel Lisp, créé dans les années 1970 au Massachusetts Institute of Technology (MIT) par Gerald Jay Sussman et Guy L. Steele.

Le but des créateurs du langage était d'épurer le Lisp en conservant les aspects essentiels, la flexibilité et la puissance expressive. Scheme a donc une syntaxe extrêmement simple, avec un nombre très limité de mots-clés. Comme en Lisp, la notation préfixée permet de s'affranchir d'une précédence des opérateurs.
De plus, la puissance des macros de Scheme lui permet de s'adapter à n'importe quel problème, notamment de le rendre orienté objet et donc multi-paradigme.

La spécification de Scheme précise que toutes les implémentations doivent optimiser le cas de la récursion terminale.

Les types de données de base de Scheme sont les booléens, les nombres, qui peuvent être entiers de taille indéfinie, rationnels ou complexes, les caractères ou les symboles, qui sont des variables.

À ceux-là s'ajoutent des types de données composites suivants : chaînes de caractères, vecteurs, paires orientées, listes, listes associatives, tables de hachage et un type particulier générique, la S-expression, dont tous les autres types dérivent, rendant possible la métaprogrammation, c'est-à-dire la possibilité d'étendre le langage avec de nouveaux opérateurs spéciaux.
Q9143
langage de programmation
Concept
Q132874
Lisp
Concept
Q49108
Massachusetts Institute of Technology
ORG
Q92981
Gerald Jay Sussman
PER
Q92991
Guy L. Steele
PER
Q214510
notation préfixée
Concept
None
précédence des opérateurs
UNK
Q629579
macros
Concept
Q79872
orienté objet
Concept
Q1340959
récursion terminale
Concept
Q520777
booléen
Concept
Q1113529
S-expression
Concept
Q661075
métaprogrammation
Concept
None
opérateurs spéciaux
UNK
Q187560
Scheme
Concept
Q187560
Scheme
Concept
Q187560
Scheme
Concept
Q187560
Scheme
Concept
+1970^^http://www.w3.org/2001/XMLSchema#decimal
1970
NUMBER
instance of
influenced by
designed by
designed by