ISLISP
Programming language in the Lisp family
ISLISP Paradigms Multi-paradigm : functional , procedural , object-oriented , reflective , meta Family Lisp Designed by Many Developers Many Implementation language C , C# , Go , Java , JavaScript , Lisp Platform IA-32 , x86-64 OS Windows , macOS , Linux , BSD , AIX , Solaris , Android , QNX dayLISP, Easy-ISLisp, Iris, Isle ISLISP, ISLisproid, Kiss, OKI ISLISP, OpenLisp , PRIME-LISP Common Lisp , EuLisp , Le Lisp , Scheme
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
ISLISP implementations
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
ISO standards
by standard number 1–9999 10000–19999 20000–29999 30000+