ISLISP

In today’s world, ISLISP has become a highly relevant topic for millions of people around the world. Interest in ISLISP has increased significantly in recent years, thanks to its direct impact on people’s daily lives. Whether on a social, political, economic or personal level, ISLISP has captured the attention of experts, leaders and ordinary citizens alike. It is evident that ISLISP has generated an intense and passionate debate, with divided opinions and firm positions. In this article, we will explore the topic of ISLISP in depth, analyzing different perspectives, research and testimonies that will allow us to better understand its importance and impact on today’s society.

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
Dialects
dayLISP, Easy-ISLisp, Iris, Isle ISLISP, 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] (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.

Timeline of Lisp dialects

1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
LISP 1, 1.5, LISP 2(abandoned)
Maclisp
Interlisp
MDL
Lisp Machine Lisp
Scheme R5RS R6RS R7RS small
NIL
ZIL (Zork Implementation Language)
Franz Lisp
Common Lisp ANSI standard
Le Lisp
MIT Scheme
XLISP
T
Chez Scheme
Emacs Lisp
AutoLISP
PicoLisp
Gambit
EuLisp
ISLISP
OpenLisp
PLT Scheme Racket
newLISP
GNU Guile
Visual LISP
Clojure
Arc
LFE
Hy
Chialisp

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

  1. ^ «WG16 Mail archive».[permanent dead link‍]
  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». Archived from the original on 2016-01-22. Retrieved 2011-03-20.
  6. ^ «ISLISP.info».
  7. ^ «Eligis».
  8. ^ «OKI ISLISP».
  9. ^ «Prime-Lisp».
  10. ^ «Iris».
  11. ^ «Masaya Taniguchi». GitHub. Archived from the original on November 21, 2021.
  12. ^ «Iris source code». GitHub. 4 September 2021.
  13. ^ «Iris web REPL».
  14. ^ «Masaya Taniguchi». GitHub. Archived from the original on November 21, 2021.
  15. ^ «Iris source code». GitHub.
  16. ^ «Kiss». 8 April 2017.
  17. ^ «Yuji Minejima».
  18. ^ «Kiss source code». GitHub. 26 September 2021.
  19. ^ «ISLisproid».
  20. ^ «dayLISP».
  21. ^ «dayLISP source code».
  22. ^ «Easy-ISLisp».
  23. ^ «Easy-ISLisp source code». GitHub. 21 November 2021.
  24. ^ «Isle ISLISP source code». GitHub. 15 October 2023.

  • 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

Features
Object systems
Implementations
Standardized
Common
Lisp
Scheme
ISLISP
Unstandardized
Logo
POP
Operating system
  • List
  • Common Lisp Interface Manager, McCLIM
  • Genera
  • Scsh
  • Hardware
    Community
    of practice
    Technical standards
    Education
    Books
    Curriculum
    Organizations
    Business
    Education
    People
    Common Lisp
    Scheme
    Logo
    POP
    List Books Commons Category Category

    ISO standards by standard number

    List of ISO standards – ISO romanizations – IEC standards
    1–9999
    10000–19999
    20000–29999
    30000+

    IEC standards

    IEC
    ISO/IEC
    Related