ISLISP - ISLISP
Paradygmaty | Wieloparadygmat : funkcjonalny , proceduralny , obiektowy , refleksyjny , meta |
---|---|
Rodzina | Seplenienie |
Zaprojektowany przez | Wiele |
Deweloperzy | Wiele |
Język implementacji | C , C# , Go , Java , JavaScript , Lisp |
Platforma | IA-32 , x86-64 |
OS | Windows , macOS , Linux , BSD , AIX , Solaris , Android , QNX |
Dialekty | |
dayLISP, Easy-ISLisp, Iris, ISLisproid, Kiss, OKI ISLISP , OpenLisp , PRIME-LISP | |
Wpływem | |
Common Lisp , EuLisp , Le Lisp , Scheme |
ISLISP (również pisany wielką literą jako ISLisp ) to język programowania z rodziny Lisp, standaryzowany przez wspólną grupę roboczą Międzynarodowej Organizacji Normalizacyjnej (ISO) i Międzynarodowej Komisji Elektrotechnicznej (IEC) ISO/IEC JTC 1/SC 22/WG 16 (powszechnie określany po prostu SC22/WG16 lub WG16). Głównym rezultatem pracy tej grupy roboczej była międzynarodowa norma opublikowana przez ISO. Norma została zaktualizowana w 2007 roku i ponownie opublikowana jako ISO/IEC 13816:2007(E). Chociaż oficjalna publikacja odbyła się za pośrednictwem ISO, dostępne są wersje specyfikacji językowej ISLISP, które uważa się za należące do domeny publicznej .
Celem tych wysiłków na rzecz standardów było zdefiniowanie małego, podstawowego języka, który pomógłby wypełnić lukę między różnymi dialektami Lispu. Próbowano osiągnąć ten cel, badając przede wszystkim Common Lisp , EuLisp , Le Lisp i Scheme i standaryzując tylko te cechy, które są między nimi wspólne.
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1,5, LISP 2 (opuszczony) | ||||||||||||||
Maclisp | ||||||||||||||
Interlisp | ||||||||||||||
MDL (język programowania) | ||||||||||||||
Lisp Maszyna Lisp | ||||||||||||||
Schemat | R5RS | R6RS | R7RS mały | |||||||||||
ZERO | ||||||||||||||
ZIL (język implementacji Zork) | ||||||||||||||
Franz Lisp | ||||||||||||||
Wspólne seplenienie | ||||||||||||||
Le Lisp | ||||||||||||||
T | ||||||||||||||
Schemat Cheza | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
PicoLisp | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
Schemat PLT | Rakieta | |||||||||||||
GNU Guile | ||||||||||||||
Wizualny LISP | ||||||||||||||
Clojure | ||||||||||||||
Łuk | ||||||||||||||
LFE | ||||||||||||||
Hy |
Cele projektowe
ISLISP ma następujące cele projektowe:
- W miarę możliwości kompatybilny z istniejącymi dialektami Lisp
- Zapewnij podstawową funkcjonalność
- Zorientowany obiektowo
- Projektowanie pod kątem rozszerzalności
- Nadaj priorytet potrzebom przemysłu nad potrzebami akademickimi
- Promuj efektywne wdrożenia i aplikacje
ISLISP ma oddzielne przestrzenie nazw funkcji i zmiennych (stąd jest to Lisp-2 ).
System obiektowy ISLISP, ILOS, jest głównie podzbiorem systemu obiektów Common Lisp (CLOS).
Realizacje
Implementacje ISLISP zostały wykonane dla wielu systemów operacyjnych, w tym: Windows , większość opartych na Unix i POSIX ( Linux , macOS , FreeBSD , OpenBSD , NetBSD , Solaris , HP-UX , AIX , Cygwin , QNX ), Android , DOS , OS/2 , Pocket PC , OpenVMS i z/OS .
Wdrożenia dla sprzętowych architektur komputerowych obejmują: x86 , x86-64 , IA-64 , SPARC , SPARC9, PowerPC , MIPS , Alpha , PA-RISC , ARM , AArch64
Nazwa | Twórca | Kompletny ISLisp | Architektura | Napisane w | System operacyjny | Licencja | Dostępny kod źródłowy |
---|---|---|---|---|---|---|---|
OpenLisp | Eligis | tak | interpreter , kompiluje do C | C , Lisp | Windows , macOS , Linux , BSD , AIX , Solaris , QNX | Prawnie zastrzeżony | Częściowy |
OKI ISLISP | Uniwersytet w Kioto i Oki Electric Industry Co. | tak | Bytecode maszyna, kompiluje do kodu bajtowego | C | Okna | ? | Nie |
PRIME-LISP | Michaił Siemionow | tak | Interpretator | C# | Okna | Zastrzeżone , Shareware , bezpłatne pliki binarne do redystrybucji | Nie |
Irys | Masaja Taniguchi | Nie | Interpretator | Udać się | każdy | Bezpłatna, publiczna licencja Mozilli 2.0 | tak |
Iris web REPL | Masaja Taniguchi | Nie | Interpreter, kompiluje do JavaScript | Idź, JavaScript | Przeglądarka | Bezpłatna, publiczna licencja Mozilli 2.0 | tak |
Pocałunek | Yuji Minejima | Nie, jeszcze nie | Interpretator | C, Lisp | każdy | Bezpłatna, GPL v3+ | tak |
ISLisroid | Hiroshi Gomi | Nie | Interpretator | Jawa | Android | Prawnie zastrzeżony | Nie |
dayLISP | Mateusz Denson | Nie | Interpretator | Jawa, Lisp | Każdy | Bezpłatnie, BSD | tak |
Easy-ISLisp | Kenichi Sasagawa | tak | Interpreter, kompiluje do C | C, Lisp | Linux, MacOS, OpenBSD | Bezpłatnie, BSD | tak |
Dwie starsze implementacje nie są już dostępne:
- TISL , autorstwa Masato Izumi i Takayasu Ito (Uniwersytet Tohoku), był tłumaczem i kompilatorem.
- G-LISP autorstwa Josefa Jelinka był apletem Javy.