Lisp

Définition

Lisp (List Processor) est le deuxième plus ancien langage de programmation de haut niveau encore largement utilisé, créé par John McCarthy en 1958. Il a introduit de nombreux concepts informatiques tels que les structures de données arborescentes, l’allocation automatique de mémoire, les systèmes de types et les fonctions récursives.

Caractéristiques principales

  • Paradigme : Multi-paradigme (fonctionnel, procédural, orienté objet)
  • Syntaxe : S-expressions (expressions symboliques) utilisant des parenthèses imbriquées
  • Fonctionnalité clé : Homoiconicité — le code est représenté sous forme de structures de données
  • Système de macros : Macros puissantes au moment de la compilation qui opèrent sur l’AST
  • Implémentations majeures : Common Lisp, Scheme, Clojure, Emacs Lisp

Implémentations majeures

Common Lisp

  • Normalisé comme ANSI X3.226-1994
  • Implémentations : SBCL (BSD), Clozure CL (BSD), Allegro CL (commercial), LispWorks (commercial)
  • Écosystème riche pour l’IA, le prototypage rapide et les applications d’entreprise

Scheme

  • Normalisé comme RnRS (Revised n Reports)
  • Implémentations : Racket (Apache 2.0), Guile (GPLv3+), Chicken (BSD)
  • Met l’accent sur le minimalisme et la portée lexicale

Clojure

  • Lisp moderne pour la JVM et .NET
  • Licence : Eclipse Public License 1.0
  • Se concentre sur les structures de données immuables, la conciliation et la programmation fonctionnelle
  • Voir aussi : Clojure
  • Configuration et langages spécifiques au domaine
  • Développement web (via Clojure)
  • Traitement de texte et transformation de données

Termes apparentés

  • functional-programming — Lisp est le premier langage de programmation fonctionnelle
  • Clojure — L’éditeur Emacs utilise Emacs Lisp (Elisp) comme langage d’extension
  • racket — Dialecte Scheme avec des applications éducatives et pratiques

Références