Une courte introductionà SchemeNotes de coursJean Jacques Girardotgirardot@emse.frFévrier 2008Ecole Nationale Supérieure des Mines de Saint Etienne158 Cours Fauriel42023 Saint Etienne Cédex2Document de travail. Release 0.32Copyright (c) J.J.Girardot.Date d’impression 14 février 2008Chapitre 1Scheme, un langagefonctionnel1.1 IntroductionNous allons présenter dans ce chapitre le langage Scheme, qui est un langagefonctionnel dérivé de Lisp, l’un des premiers langages pour l’intelligence artificielle.Scheme est défini formellement dans un rapport [25], et de nombreuses introductionsà Scheme sont disponibles, tant sous forme d’ouvrages [28, 17, 27, 1, 3, 2, 8, 9] quesur l’Internet.Le langage Scheme est le résultat d’une travail de formalisation et de simplifi cation des diverses versions de Lisp[10], y compris l’une des normes industrielles,Common Lisp, mais également d’Algol 60 [16].Lisp est un langage originellement dû à John McCarthy [23], pour lequel de nom breuses implémentations ont été réalisées ([10, 30, 11, 21, 29]).Il existe nombre d’ouvrages de référence du langage Scheme, à commencer par lanorme du langage ([24, 25]), des manuels de référence (par exemple [13, 14, 15, 19, 18,11]), ainsi que des supports de cours divers utilisant le langage ([9, 28, 17, 27, 8]), leplus connu étant probablement « Structure and Interpretation of Computer Programs», [1, 3, 2].Nous utiliserons ici une mini version du langage Scheme, SCH, écrit en C portable ...