Aller au contenu

Lisp (Common Lisp)/Introduction au Lisp

Leçons de niveau 15
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Introduction au Lisp
Icône de la faculté
Chapitre no 1
Leçon : Lisp (Common Lisp)
Retour auSommaire
Chap. suiv. :Premier programme
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Lisp (Common Lisp) : Introduction au Lisp
Lisp (Common Lisp)/Introduction au Lisp
 », n'a pu être restituée correctement ci-dessus.

Lisp est un langage de programmation informatique créé en 1958 par Jon McCarthy, et Common Lisp est sa version certifiée par un standard ANSI en 1984. D'abord langage de recherche introduisant de nombreux concepts maintenant répandus dans les autres langages de programmation (tels que la construction "if", le ramasse-miette, etc) puis bénéficiant du boom de l'intelligence artificielle des années 1980, de nombreux acteurs privés ou institutionnels (NASA, DARPA, Xerox, université Carnegie Mellon…) ont contribué à son développement. Aujourd'hui, plusieurs implémentations co-existent, entre autres:

  • SBCL est une implémentation open-source activement développée, qui compile les programmes en langage machine efficient.
  • LispWorks est une implémentation commerciale et non open-source.

Common Lisp est un langage multi-paradigmes: on peut écrire du code procédural, orienté-objet (avec le fameux système CLOS, "Common Lisp Object System") ou fonctionnel voire purement fonctionnel.

Sa syntaxe est préfixée et basée sur l’utilisation de parenthèses, qui sont la syntaxe de base utilisée pour déclarer des listes d'objets. Ainsi, écrire un programme Lisp est comme écrire des listes de listes imbriquées. Le code source d'un programme Lisp est représenté par des listes de listes. Le code est de la "data": "code is data" et "data is code". On appelle cette propriété l'"homocoïnicité".

(defvar une-liste (liste 1 2 3))

(defun bonjour ()
  (format t "Salut, le monde."))