ISLISP

ISLISP (sau ISLisp ) este un limbaj de programare din familia LISP de limbaje a cărei specificație a fost dezvoltată de ISO/IEC JTC 1/SC 22/WG 16 [1] (denumit în mod obișnuit SC22/WG16 sau WG16 ). Scopul dezvoltării a fost de a defini un limbaj compact care să combine trăsăturile comune ale dialectelor Lisp utilizate efectiv în scopuri industriale și ar putea ajuta la depășirea diferențelor dintre ele.

Prima versiune a fost publicată de ISO în 1997 sub titlul „ ISO/IEC 13816:1997(E) ”. O actualizare a fost lansată în 2007 și publicată ca „ ISO/IEC 13816:2007(E) ”. [2] Publicațiile oficiale ale standardului au trecut prin ISO, dar sunt disponibile proiecte de specificații de domeniul public . [3]

ISLISP este caracterizat ca fiind „compatibil din punct de vedere ideologic” cu Common Lisp , este construit pe aceleași principii arhitecturale de bază (sfera lexicală, spații de nume separate pentru funcții și variabile, sistem macro, suport OOP), dar nu este un subset al acestuia. Specificația ISLISP este de aproximativ zece ori mai mică decât specificația Common Lisp.

Principii și obiective

Grupul de lucru a studiat principalele dialecte „vii” Lisp la momentul dezvoltării, în primul rând Common Lisp , EuLisp , Le Lisp și Scheme ; numai mijloacele comune acestora au fost incluse în standard.

Conform site-ului web ISLISP.info, ISLISP a fost construit pe următoarele principii:

ISLISP, ca și Common Lisp, acceptă definirea lexicală (deși permite ca variabilele dinamice să fie utilizate cu facilități speciale) și implementează spații de nume separate pentru funcții și variabile (de unde Lisp-2).

Sistemul de obiecte ISLISP, ILOS, este în cea mai mare parte un subset al CLOS .

Implementări

Nume Autor Implementarea completă a ISLisp Arhitectură Limbajul de implementare OS Licență Disponibilitatea surselor
openlisp Eligis da interpret, compilare către C C, Lisp Windows, macOS, Linux, BSD, AIX, Solaris, QNX proprietate parţial
OKI ISLISP Universitatea din Kyoto și Oki Electric Industry Co. da compilare la bytecode, execuție de bytecode într-o mașină virtuală C Windows nu există date Nu
PRIME-LISP Mihail Semionov da interpret C# Windows shareware (distribuit gratuit în formă binară) Nu
iris TANIGUCHI Masaya  (link indisponibil) Nu interpret Merge orice Licență publică Mozilla 2.0 da
Iris web REPL TANIGUCHI Masaya  (link indisponibil) Nu interpret, compilare la JavaScript Du-te, JavaScript browser Licență publică Mozilla 2.0 da
Sărut Yuji Minejima Nu încă interpret C, Lisp orice GPL v3+ da
ISLisproid GOMI Hiroshi Nu interpret Java Android proprietate Nu
dayLISP Matthew Denson Nu interpret Java Lisp orice BSD da
Easy-ISLisp Kenichi Sasagawa ? interpret, compilare către C C, Lisp Windows, Linux proprietar (numai pentru uz necomercial) parţial
Nume Autor Implementarea completă a ISLisp Arhitectură Limbajul de implementare OS Licență Disponibilitatea surselor

Două implementări mai vechi nu sunt disponibile în prezent:

Note

  1. Arhiva listei de corespondență WG16 ftp://std.dkuug.dk/ftp.anonymous/jtc1/SC22/wg16/mail/  (link în jos)
  2. Limbajul de programare ISLISP: History, http://www.islisp.info/history.html Arhivat 17 august 2018 la Wayback Machine
  3. Limbajul de programare ISLISP: Specification, http://www.islisp.info/specification.html Arhivat 22 ianuarie 2016 la Wayback Machine

Link -uri