Common Lisp (ou, comunmente abreviado, CL), é un dialecto da linguaxe de programación Lisp. Desenvolvida para estandarizar as variantes diverxentes do Lisp, non é unha posta en funcionamento, senón unha especificación. Diversas implementacións do estándar están dispoñibles, incluíndo produtos comerciais e software libre.

Common Lisp
Paradigmamultiparadigma, orientado a obxectos, funcional, procedural, reflexiva, meta, xenérica
Data1984, 1994 para a Common Lisp ANSI
DeseñadorScott Fahlman, Richard P. Gabriel, Dave Moon, Guy Steele e Dan Weinreb
DesenvolvedorComité ANSI X3J13
Tipo de datoforte, dinámico
DialectosCLtL1, CLtL2, ANSI Common Lisp
Influído porLisp, Lisp Machine Lisp, Maclisp, Scheme, Interlisp
InfluíuClojure, Dylan, Emacs Lisp, EuLisp, ISLISP, Julia, Moose, R, SKILL, SubL
Sistema operativoMultiplataforma
Webcommon-lisp.net/

Implementacións editar

Está definido por unha especificación (coma o Ada ou o C) en lugar dunha implementación (coma o Perl). Hai moitas implementacións, e o estándar deixa abertas áreas nas que poden diferir.

Ademais, as implementacións teñen tendencia a traer bibliotecas que proporcionan funcionalidades que non están cubertas no estándar. Para proporcionar as devanditas funcionalidades de forma portable creáronse bibliotecas de software libre.

Foi deseñado para ser implementado por compiladores incrementábeis. Na especificación propóñense declaracións estándar para a optimización da compilación (coma as funcións inline). A maioría das implementacións do Common Lisp compilan código fonte a código máquina nativo. Algunhas implementacións ofrecen compiladores de bloque. Algunhas poden crear aplicacións independentes (directamente executables). Outras compilan a bytecode, que reduce a velocidade pero facilita a portabilidade. Hai tamén compiladores que compilan Common Lisp a C. O erro de considerar ó Common Lisp unha linguaxe interpretada pura e debido ó feito de que os contornos Lisp proporcionan un prompt interactivo e que as funcións compílanse unha a unha, de forma incremental.

Algunhas implementacións baseadas en Unix, coma CLISP, poden usarse coma intérpretes de guións; ou sexa, o sistema invoca ó intérprete de maneira transparente, do mesmo xeito que fai con Perl ou coa shell.

Véxase tamén editar

Ligazóns externas editar