Présentation
Auteur(s)
-
Christian QUEINNEC : Ancien élève de l’École Polytechnique - Ingénieur en chef de l’Armement - Maître de conférences à l’École Polytechnique
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Lisp est un langage de programmation ou plutôt, en l’absence actuelle de toute standardisation, une famille de dialectes spécialisés en calcul symbolique. L’invention de Lisp a répondu au besoin de manipulation d’entités variées et non plus simplement de nombres. Le calcul formel, les systèmes experts, les interfaces en langages naturels, la reconnaissance de formes ou, plus généralement, la représentation et la manipulation de connaissances deviennent ainsi directement accessibles sans recours à d’opaques codages numériques ; les algorithmes peuvent être concentrés à leur essence, et leur élaboration épouse, dans une large mesure, les contraintes internes des problèmes qu’ils résolvent et non celles du langage support.
Au dire de son inventeur, Lisp est un optimum local parmi les langages de programmation, ce qui explique sa longévité et sa stabilité [7]. Aucun de ses dérivés n’a su le supplanter : Lisp, les contenant déjà tous en germe, les assimila simplement à de nouveaux styles de programmation. Aujourd’hui, Lisp a cependant bien évolué et s’est considérablement enrichi de nouveaux types de données. Par ailleurs, son substrat mathématico‐logique (λ‐calcul, preuve de théorèmes, récursion...) ainsi que plus de trente années de recherche ont conduit à des systèmes (interprètes et / ou compilateurs) efficaces, à de très riches environnements de développement, à des machines spécialisées dans l’exécution de programmes Lisp ainsi qu’à des réalisations dont l’excellence n’est plus à prouver. Citons seulement et parce qu’elles représentent des extrêmes : Macsyma, système de calcul formel, et Emacs, éditeur de texte pleine page programmable [4].
VERSIONS
- Version archivée 1 de sept. 1988 par Christian QUEINNEC
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
5. Dialectes de Lisp
Lisp est la plus grande famille de dialectes jamais créée : plus d’une centaine d’implantations décentes ont vu le jour. Cet extraordinaire foisonnement fait de Lisp non pas tant un langage qu’une famille de dialectes dont certains ont entre eux plus d’écart que n’en offrent, par exemple, Pascal et Modula2. Cet effet dialectal a fortement nui à la portabilité des programmes mais a permis l’élaboration puis la compréhension de nombreux concepts de programmation qui n’ont pu être étudiés qu’au sein de ce bouillonnant creuset. Lisp est un remarquable laboratoire linguistique où les concepteurs sont libres d’inventer et d’expérimenter tout en profitant de ce véritable support de greffe qu’est l’infrastructure Lispienne.
Mais l’intérêt de Lisp ne se limite pas à cet aspect académique, Lisp est aussi un excellent langage d’extension de bibliothèques. Une bibliothèque est un ensemble de sous‐programmes et de structures de données spécialisés pour un certain but et unis dans le respect d’une certaine philosophie. Il est considéré comme de bon ton qu’une bibliothèque ne procure que les primitives nécessaires et s’abstienne du superflu. Là où intervient Lisp comme langage d’extension, c’est pour apporter ce superflu, selon les désirs de l’utilisateur, sous la forme d’une « colle » nécessaire pour composer ensemble des éléments de bibliothèque. En effet, l’essence de Lisp ne tient qu’en quelques formes spéciales et est indépendante de l’ensemble des fonctions manipulées. Le côté interactif de Lisp, la faible taille de son évaluateur et la liberté de composition qu’il procure sans limitation font de Lisp de langage sympathique d’extension qu’ont adopté AutoCAD TM InterLeaf TM ou Gnu Emacs.
La figure 1 ne donne qu’une faible idée de la proliférante descendance de Lisp 1.5. Tous les dialectes n’y sont pas représentés, loin s’en faut. Parmi les plus connus des dialectes en usage, nous n’allons décrire que les deux extrêmes que sont Common Lisp et Scheme.
5.1 Common Lisp
Ce dialecte est né en 1984 d’une tentative d’unification des principaux dialectes de l’époque : MacLisp et InterLisp. Il a surtout unifié les descendants de MacLisp et a éliminé InterLisp. L’unification s’est faite...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Dialectes de Lisp
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive