ISLISP (también en mayúscula ISLisp ) es un lenguaje de programación de la familia Lisp estandarizado por el grupo de trabajo conjunto de la Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC) ISO / IEC JTC 1 / SC 22 / WG 16 [1] [ enlace muerto permanente ] (comúnmente denominado simplemente SC22 / WG16 o WG16). El resultado principal de este grupo de trabajo fue una norma internacional , publicada por ISO. [2] La norma se actualizó en 2007 y se volvió a publicar como ISO / IEC 13816: 2007 (E). [3] [4]Aunque la publicación oficial se realizó a través de ISO, hay disponibles versiones de la especificación del lenguaje ISLISP que se cree que son de dominio público . [5]
Paradigmas | Multi-paradigma : funcional , procedimental , orientado a objetos , reflexivo , meta |
---|---|
Familia | Ceceo |
Diseñada por | Muchos |
Desarrolladores | Muchos |
Lenguaje de implementación | C , C # , Go , Java , JavaScript , Lisp |
Plataforma | IA-32 , x86-64 |
SO | Windows , macOS , Linux , BSD , AIX , Solaris , Android , QNX |
Dialectos | |
dayLISP, Easy-ISLisp, Iris, ISLisproid, Kiss, OKI ISLISP, OpenLisp , PRIME-LISP | |
Influenciado por | |
Common Lisp , EuLisp , Le Lisp , Scheme |
El objetivo de este esfuerzo de estándares fue definir un lenguaje básico pequeño para ayudar a cerrar la brecha entre los diferentes dialectos de Lisp. Intentó lograr este objetivo estudiando principalmente Common Lisp , EuLisp , Le Lisp y Scheme y estandarizando solo las características compartidas entre ellos.
Objetivos de diseño
ISLISP tiene estos objetivos de diseño: [6]
- Compatible con los dialectos Lisp existentes cuando sea posible
- Proporcionar funcionalidad básica
- Orientado a objetos
- Diseño para extensibilidad
- Priorizar las necesidades industriales sobre las académicas
- Promover implementaciones y aplicaciones eficientes
ISLISP tiene espacios de nombres de funciones y variables separados (por lo tanto, es un Lisp-2 ).
El sistema de objetos de ISLISP, ILOS, es principalmente un subconjunto del Common Lisp Object System (CLOS).
Implementaciones
Se han realizado implementaciones de ISLISP para muchos sistemas operativos, incluidos: Windows , la mayoría de los basados en Unix y POSIX ( Linux , macOS , FreeBSD , OpenBSD , NetBSD , Solaris , HP-UX , AIX , Cygwin , QNX ), Android , DOS , OS / 2 , Pocket PC , OpenVMS , y z / OS .
Las implementaciones para arquitecturas informáticas de hardware incluyen: x86 , x86-64 , IA-64 , SPARC , SPARC9, PowerPC , MIPS , Alpha , PA-RISC , ARM , AArch64
Nombre | Creador | ISLisp completo | Arquitectura | Escrito en | Sistema operativo | Licencia | Código fuente disponible |
---|---|---|---|---|---|---|---|
OpenLisp | Eligis [7] | sí | intérprete , compila en C | C , Lisp | Windows , macOS , Linux , BSD , AIX , Solaris , QNX | Propiedad | Parcial |
OKI ISLISP [8] | La Universidad de Kyoto y Oki Electric Industry Co. | sí | Máquina de código de bytes , compila a código de bytes | C | Ventanas | ? | No |
PRIME-LISP | Mikhail Semenov | sí | Interprete | C# | Ventanas | Binarios propietarios , Shareware , libremente redistribuibles | No |
Iris [9] | Masaya Taniguchi [10] [ enlace muerto permanente ] | No | Interprete | Ir | alguna | Gratis, licencia pública de Mozilla 2.0 | Sí [11] |
Iris web REPL [12] | Masaya Taniguchi [13] [ enlace muerto permanente ] | No | Intérprete, compila en JavaScript | Ir, JavaScript | Navegador | Gratis, licencia pública de Mozilla 2.0 | Sí [14] |
Beso [15] | Yuji Minejima [16] | No aún no | Interprete | C, Lisp | alguna | Gratis, GPL v3 + | Sí [17] |
ISLisproid [18] | Hiroshi Gomi | No | Interprete | Java | Androide | Propiedad | No |
dayLISP [19] | Matthew Denson | No | Interprete | Java, Lisp | Alguna | Gratis, BSD | Sí [20] |
Easy-ISLisp [21] | Kenichi Sasagawa | sí | Intérprete, compila en C | C, Lisp | Linux, MacOS, OpenBSD | Gratis, BSD | Sí [22] |
Ya no están disponibles dos implementaciones anteriores:
- TISL , de Masato Izumi y Takayasu Ito (Universidad de Tohoku), fue intérprete y compilador.
- G-LISP, de Josef Jelinek, era un subprograma de Java.
Referencias
- ^ "Archivo de correo WG16" .
- ^ "ISO / IEC 13816: 1997 (E)" . Organización Internacional de Normalización . Consultado el 10 de noviembre de 2018 .
- ^ "ISO / IEC 13816: 2007 (E)" . Organización Internacional de Normalización . Consultado el 10 de noviembre de 2018 .
- ^ "Lenguaje de programación ISLISP: Historia" .
- ^ "Lenguaje de programación ISLISP: Especificación" . Archivado desde el original el 22 de enero de 2016 . Consultado el 20 de marzo de 2011 .
- ^ "ISLISP.info" .
- ^ "Eligis" .
- ^ "OKI ISLISP" .
- ^ "Iris" .
- ^ "Masaya Taniguchi" .
- ^ "Código fuente de Iris" .
- ^ "Iris web REPL" .
- ^ "Masaya Taniguchi" .
- ^ "Código fuente de Iris" .
- ^ "Beso" .
- ^ "Yuji Minejima" .
- ^ "Código fuente de Kiss" .
- ^ "ISLisproid" .
- ^ "dayLISP" .
- ^ "código fuente de dayLISP" .
- ^ "Easy-ISLisp" .
- ^ "Código fuente de Easy-ISLisp" .
enlaces externos
- Borrador ISLISP 2007 en formato PDF
- Borrador de ISLISP 2007 en formato HTML
- Página ISLISP de Kent M Pitman
- Página ISLISP de los desarrolladores de OKI ISLISP
- ISLISP sobre el grupo de preservación de software