HOME

TheInfoList



OR:

SISC is an R5RS Scheme implementation, which includes a full number tower,
hygienic macro Hygienic macros are macros whose expansion is guaranteed not to cause the accidental capture of identifiers. They are a feature of programming languages such as Scheme, Dylan, Rust, Nim, and Julia. The general problem of accidental capture was w ...
s, proper tail recursion, and first class
continuation In computer science, a continuation is an abstract representation of the control state of a computer program. A continuation implements ( reifies) the program control state, i.e. the continuation is a data structure that represents the computat ...
s. SISC is short for Second Interpreter of Scheme Code, in reference to its predecessor LISC, the Lightweight Interpreter of Scheme Code.{{cite web, url=http://sisc-scheme.org/manual/html/ch01.html, work=SISC for Seasoned Schemers, title=Introduction, author=Scott G. Miller, author2=Matthias Radestock , quote=SISC as a project began as the successor to the Lightweight Interpreter of Scheme Code (LISC). LISC was a small, stack-based almost R4RS compliant Scheme. SISC was born out of the desire to create an interpreter that was of a similar footprint to LISC, but which executed Scheme code much faster, complied fully to the R5RS standard, and which wasn't limited by the stack-based model. SISC met these goals very quickly, and has since progressed in active development to be a competitive Scheme system. As a successor to LISC the interpreter was named the Second Interpreter of Scheme Code., accessdate=2007-09-25 SISC is
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
,
dual-licensed Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different software licenses or sets of licenses. Prefixes may be used to indicate the number of licenses ...
under the
Mozilla Public License The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird The MPL license is developed and maintained by Mozilla, which seeks to balance the conce ...
and the GNU General Public License, Version 2. It was developed by Scott G. Miller and Matthias Radestock.


Features

SISC depends on
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, ...
'
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
programming language platform. This
runtime environment In computer programming, a runtime system or runtime environment is a sub-system that exists both in the computer where a program is created, as well as in the computers where the program is intended to be run. The name comes from the compile ...
allows SISC to provide many extensions and
libraries A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
such as networking,
exception handling In computing and computer programming, exception handling is the process of responding to the occurrence of ''exceptions'' – anomalous or exceptional conditions requiring special processing – during the execution of a program. In general, a ...
, a
module Module, modular and modularity may refer to the concept of modularity. They may also refer to: Computing and engineering * Modular design, the engineering discipline of designing complex devices using separately designed sub-components * Mo ...
system, and a Java
foreign function interface A foreign function interface (FFI) is a mechanism by which a program written in one programming language can call routines or make use of services written in another. Naming The term comes from the specification for Common Lisp, which explicit ...
. The SISC website claims that it performs faster than any other Scheme interpreter based on the
Java Virtual Machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describ ...
(JVM). Like
GNU Guile GNU Ubiquitous Intelligent Language for Extensions (GNU Guile) is the preferred extension language system for the GNU Project and features an implementation of the programming language Scheme. Its first version was released in 1993. In additio ...
, this Scheme is suitable for embedding into larger programs, where Guile is designed for inclusion in C programs, SISC is designed for the JVM.


References

Scheme (programming language) implementations Scheme (programming language) interpreters JVM programming languages Software using the Mozilla license