Common Lisp | |
---|---|
Paradigma | multiparadigma, orientado a obxectos, funcional, procedural, reflexiva, meta, xenérica |
Data | 1984, 1994 para a Common Lisp ANSI |
Deseñador | Scott Fahlman, Richard P. Gabriel, Dave Moon, Guy Steele e Dan Weinreb |
Desenvolvedor | Comité ANSI X3J13 |
Tipo de dato | forte, dinámico |
Dialectos | CLtL1, CLtL2, ANSI Common Lisp |
Influído por | Lisp, Lisp Machine Lisp, Maclisp, Scheme, Interlisp |
Influíu | Clojure, Dylan, Emacs Lisp, EuLisp, ISLISP, Julia, Moose, R, SKILL, SubL |
Sistema operativo | Multiplataforma |
Web | common-lisp.net/ |
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.
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.
Baixo nivel |
| ||||||
---|---|---|---|---|---|---|---|
Alto nivel |
| ||||||
|