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