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
2. Noyau de Lisp
On peur distinguer un noyau de Lisp dit Lisp pur. Comme son nom l’indique, il rassemble la quintessence de Lisp en un tout concis et harmonieux. Il n’en perd toutefois aucune puissance sinon une certaine efficacité.
2.1 Atomes
Les objets que sait manipuler Lisp se répartissent en deux mondes disjoints : les atomes et les listes. Les atomes existent pour représenter les concepts primitifs, fondamentaux c’est‐à‐dire ceux qui, comme leur nom l’indique, sont insécables. Parmi les atomes figurent les noms et les nombres. Un nom ou symbole est syntaxiquement représenté par une suite contiguë de caractères dont l’un au moins n’est ni numérique ni spécial. Par exemple :
ALPHA 1+ C6H12O11
Ceci‐est‐un_tres_tres_TRES_long‐nom
Tous les caractères sont significatifs. La taille de la représentation écrite d’un symbole n’est que lointainement limitée et peut être d’au moins quatre‐vingts caractères.
Les nombres peuvent être entiers ou « flottants ». Leur syntaxe est classique :
1 +2 –3.14 6.029e+29
Un autre concept atomique est la fonction. Une fonction Lisp prend des arguments : zéro, un, deux..., un nombre fixé à la création de la fonction, ou seulement déterminé à chaque appel. Les fonctions ont un résultat unique, c’est‐à‐dire un objet Lisp quelconque : au moins un, au plus un. Diverses fonctions prédéfinies existent comme les fonctions arithmétiques d’addition, de soustraction, de comparaison, etc.
HAUT DE PAGE2.2 Liste
La liste est l’unique procédé de structuration présent en Lisp pur. Comme le suggère son nom, c’est un agrégat ordonné d’objets. Fidèle à ses principes de liberté, Lisp ne limite ni le nombre des objets qui peuvent figurer dans une liste, ni la nature de ces mêmes objets. Syntaxiquement, une liste débute par une parenthèse ouvrante, énonce dans l’ordre les objets qu’elle comporte, puis s’achève par une parenthèse fermante.
(ceci est 1 liste) est une liste de quatre termes qui sont tous des atomes. Seul le troisième n’est pas un symbole mais un...
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
Noyau 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