Présentation

Article

1 - GÉNÉRALITÉS

  • 1.1 - Caractéristiques
  • 1.2 - Histoire

2 - NOYAU DE LISP

  • 2.1 - Atomes
  • 2.2 - Liste
  • 2.3 - Syntaxe
  • 2.4 - Fonctions
  • 2.5 - Formes
  • 2.6 - Variables
  • 2.7 - Prédicats
  • 2.8 - Sélecteurs
  • 2.9 - Composition fonctionnelle
  • 2.10 - Construction de listes
  • 2.11 - Formes spéciales
  • 2.12 - Conditionnelle
  • 2.13 - Séquence
  • 2.14 - Construction de fonctions
  • 2.15 - Récursivité
  • 2.16 - Évaluation récursive
  • 2.17 - Pensée récursive
  • 2.18 - Mention
  • 2.19 - Résumé

3 - MISE EN ŒUVRE DE LISP PUR

  • 3.1 - Boucle fondamentale d’interaction
  • 3.2 - Évaluateur
  • 3.3 - Exemple détaillé
  • 3.4 - Représentation des données
  • 3.5 - Trace d’évaluation

4 - AUTRES ASPECTS

  • 4.1 - Fonctions anonymes
  • 4.2 - Macros
  • 4.3 - Échappements
  • 4.4 - Propriétés

5 - DIALECTES DE LISP

  • 5.1 - Common Lisp
  • 5.2 - Scheme
  • 5.3 - Autres

6 - CONCLUSION

| Réf : H2520 v2

Noyau de Lisp
Lisp

Auteur(s) : Christian QUEINNEC

Date de publication : 10 juin 1995

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

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’article

INTRODUCTION

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].

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v2-h2520


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

ABONNEZ-VOUS

Lecture en cours
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 PAGE

2.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 est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

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

ABONNEZ-VOUS

Lecture en cours
Noyau de Lisp
Sommaire
Sommaire

Cet article est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

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

ABONNEZ-VOUS