ISLISP

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
ISLISP
ParadigmsMulti-paradigm: functional, procedural, object-oriented, reflective, meta
FamilyLisp
Designed byMany
DevelopersMany
Implementation languageC, C#, Go, Java, JavaScript, Lisp,
PlatformIA-32, x86-64
OSWindows, macOS, Linux, BSD, AIX, Solaris, Android, QNX
Dialects
dayLISP, Easy-ISLisp, Iris, ISLisproid, Kiss, OKI ISLISP, OpenLisp, PRIME-LISP
Influenced by
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][permanent dead link] (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[edit]

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).

Implementations[edit]

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 Mikhail Semenov Yes Interpreter C# Windows Proprietary, Shareware, freely redistributable binaries No
Iris[9] Masaya Taniguchi[10][permanent dead link] No Interpreter Go any Free, Mozilla Public License 2.0 Yes[11]
Iris web REPL[12] Masaya Taniguchi[13][permanent dead link] No Interpreter, compiles to JavaScript Go, JavaScript Browser Free, Mozilla Public License 2.0 Yes[14]
Kiss[15] Yuji Minejima[16] No, not yet Interpreter C, Lisp any Free, GPL v3+ Yes[17]
ISLisproid[18] Hiroshi Gomi No Interpreter Java Android Proprietary No
dayLISP[19] Matthew Denson No Interpreter Java, Lisp Any Free, BSD Yes[20]
Easy-ISLisp[21] Kenichi Sasagawa ? Interpreter, compiles to C C, Lisp Windows, Linux Proprietary, free noncommercial use Partial

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[edit]

  1. ^ "WG16 Mail archive".
  2. ^ "ISO/IEC 13816:1997(E)". International Organization for Standardization. Retrieved 2018-11-10.
  3. ^ "ISO/IEC 13816:2007(E)". International Organization for Standardization. Retrieved 2018-11-10.
  4. ^ "Programming Language ISLISP: History".
  5. ^ "Programming Language ISLISP: Specification".
  6. ^ "ISLISP.info".
  7. ^ "Eligis".
  8. ^ "OKI ISLISP".
  9. ^ "Iris".
  10. ^ "Masaya Taniguchi".
  11. ^ "Iris source code".
  12. ^ "Iris web REPL".
  13. ^ "Masaya Taniguchi".
  14. ^ "Iris source code".
  15. ^ "Kiss".
  16. ^ "Yuji Minejima".
  17. ^ "Kiss source code".
  18. ^ "ISLisproid".
  19. ^ "dayLISP".
  20. ^ "dayLISP source code".
  21. ^ "Easy-ISLisp".

External links[edit]