Programmation Scheme/Introduction

Scheme (prononcer « skim' ») est un langage de programmation dérivé du langage fonctionnel Lisp, créé dans les années 1970 au MIT par Gerald Jay Sussman et Guy L. Steele.

Le but des créateurs du langage était d'épurer le langage 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é. Comme en Lisp, la notation préfixée permet de s'affranchir des opérateurs de précédence. De plus, la puissance des macros de Scheme lui permettent 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 mises en œuvres (interpréteurs, compilateurs) 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éta-programmation, c'est-à-dire la capacité qu'a un programme d'agir sur lui-même.

Conventions du manuel modifier

 
Exemple d'interpréteur Scheme : DrScheme sous MacOS X
 
Exemple d'interpréteur Scheme : Petite Chez sous MacOS X

L'invite de l'interpréteur est symbolisée ici par scheme>, et varie selon les systèmes utilisés.

Le résultat de l'expression évaluée est imprimée au-dessous en caractères italiques.

Par exemple :

scheme> (+ 1 2 3 4 5 6)
⇒ 21

Indique que dans l'interpréteur de commande, on tape « (+ 1 2 3 4 5 6) », et qu'après avoir appuyé sur la touche [↵] ([entrée] ou [retour]) l'interpréteur affiche « 21 ».

Télécharger un interpréteur Scheme modifier

Plusieurs interpréteurs gratuits existent. On peut par exemple citer :

  • Petite Chez Scheme, sous Microsoft Windows 95–XP, MacOS X, Linux sur Intel, FreeBSD sur Intel, Sun OS (la version complète Chez Scheme est payante) ;
  • DrScheme, sous Microsoft Windows 95–XP, MacOS X, Linux sur Intel, Sun OS.
  • STklos, sous Microsoft Windows NT–XP, MacOS X, Linux 2.2, FreeBSD 4.2, Solaris 8, Irix 6.5.20, Open Darwin 7.0

Voir aussi la FAQ de Schemers.org.

Documentation modifier

  • Michael Sperber et coll., Revised6 Report on the Algorithmic Language Scheme, (lire en ligne)



Table des matières < > Notions élémentaires