Английская Википедия:ISLISP
Шаблон:Short description Шаблон:Infobox programming language ISLISP (also capitalized as ISLisp) is a programming language in the Lisp family standardized by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) joint working group ISO/IEC JTC 1/SC 22/WG 16[1] (commonly termed simply SC22/WG16 or WG16). The primary output of this working group was an international standard, published by ISO.[2] The standard was updated in 2007 and republished as ISO/IEC 13816:2007(E).[3][4] Although official publication was through ISO, versions of the ISLISP language specification are available that are believed to be in the public domain.[5]
The goal of this standards effort was to define a small, core language to help bridge the gap between differing dialects of Lisp. It attempted to accomplish this goal by studying primarily Common Lisp, EuLisp, Le Lisp, and Scheme and standardizing only those features shared between them.
Design goals
ISLISP has these design goals:[6]
- Compatible with extant Lisp dialects where feasible
- Provide basic functionality
- Object-oriented
- Design for extensibility
- Prioritize industrial needs over academic needs
- Promote efficient implementations and applications
ISLISP has separate function and variable namespaces (hence it is a Lisp-2).
ISLISP's object system, ILOS, is mostly a subset of the Common Lisp Object System (CLOS).
Major differences from Common Lisp
- There is a global lexical variable. (
defglobal
) - Dynamic variable is explicit. (
dynamic
) - Keywords are not self-evaluating.
- Destructuring is not supported in
defmacro
.
Implementations
ISLISP implementations have been made for many operating systems including: Windows, most Unix and POSIX based (Linux, macOS, FreeBSD, OpenBSD, NetBSD, Solaris, HP-UX, AIX, Cygwin, QNX), Android, DOS, OS/2, Pocket PC, OpenVMS, and z/OS.
Implementations for hardware computer architectures include: x86, x86-64, IA-64, SPARC, SPARC9, PowerPC, MIPS, Alpha, PA-RISC, ARM, AArch64
Name | Creator | Complete ISLisp | Architecture | Written in | Operating system | License | Source code available |
---|---|---|---|---|---|---|---|
OpenLisp | Eligis[7] | Шаблон:Yes | interpreter, compiles to C | C, Lisp | Windows, macOS, Linux, BSD, AIX, Solaris, QNX | Шаблон:Proprietary | Шаблон:Partial |
OKI ISLISP[8] | Kyoto University and Oki Electric Industry Co. | Шаблон:Yes | Bytecode machine, compiles to bytecode | C | Windows | Шаблон:? | Шаблон:No |
Prime-Lisp[9] | Mikhail Semenov | Шаблон:Yes | Interpreter | C# | Windows | Шаблон:Proprietary, Shareware, freely redistributable binaries | Шаблон:No |
Iris[10] | Masaya Taniguchi[11] | Шаблон:No | Interpreter | Go | any | Шаблон:Free, Mozilla Public License 2.0 | Шаблон:Yes[12] |
Iris web REPL[13] | Masaya Taniguchi[14] | Шаблон:No | Interpreter, compiles to JavaScript | Go, JavaScript | Browser | Шаблон:Free, Mozilla Public License 2.0 | Шаблон:Yes[15] |
Kiss[16] | Yuji Minejima[17] | Шаблон:No, not yet | Interpreter | C, Lisp | any | Шаблон:Free, GPL v3+ | Шаблон:Yes[18] |
ISLisproid[19] | Hiroshi Gomi | Шаблон:No | Interpreter | Java | Android | Шаблон:Proprietary | Шаблон:No |
dayLISP[20] | Matthew Denson | Шаблон:No | Interpreter | Java, Lisp | Any | Шаблон:Free, BSD | Шаблон:Yes[21] |
Easy-ISLisp[22] | Kenichi Sasagawa | Шаблон:Yes | Interpreter, compiles to C | C, Lisp | Linux, MacOS, OpenBSD | Шаблон:Free, BSD | Шаблон:Yes[23] |
Isle ISLISP | KIM Taegyoon | Шаблон:No | Compiler | Common Lisp | OSes on which Common Lisp operates (including Linux and Windows) | Шаблон:Free, Unlicense | Шаблон:Yes[24] |
Two older implementations are no longer available:
- TISL, by Masato Izumi and Takayasu Ito (Tohoku University), was an interpreter and compiler.
- G-LISP, by Josef Jelinek, was a Java applet.
References
External links
- ISLISP 2007 draft in PDF format
- ISLISP 2007 draft in HTML format
- ISLISP page of Kent M Pitman
- ISLISP page of OKI ISLISP developers
- ISLISP on Software Preservation Group
Шаблон:Lisp programming language Шаблон:ISO standards Шаблон:List of International Electrotechnical Commission standards
- ↑ Шаблон:Cite webШаблон:Dead link
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web