Chez Scheme

Last updated
Chez Scheme
Paradigms Multi-paradigm: functional, imperative, meta
Family Lisp
Designed by R. Kent Dybvig
Developer Cadence Research Systems
First appeared1985;39 years ago (1985)
Stable release
10.0.0 [1]   OOjs UI icon edit-ltr-progressive.svg / 6 February 2024;3 months ago (6 February 2024)
Typing discipline Dynamic, latent, strong
Scope Lexical
Platform x86 (IA-32, x86-64) PowerPC, SPARC, ARMv6, AArch64 [2]
OS Cross-platform
License Apache License 2.0
Filename extensions .ss
Website www.scheme.com
Influenced by
Lisp, Scheme

Chez Scheme is a programming language, a dialect and implementation of the language Scheme which is a type of Lisp. It uses an incremental native-code compiler to produce native binary files for the x86 (IA-32, x86-64), PowerPC, SPARC, and AArch64 processor architectures.

Contents

History

The first version of Chez Scheme was developed by R. Kent Dybvig and completed in 1984. [3] Some copies of the original version were distributed in 1985.

Cadence Research Systems developed Chez Scheme until the company was purchased by Cisco Systems in 2011. [4] Cisco open-sourced Chez Scheme in 2016. [5]

It has supported the R6RS standard since version 7.9.1. [6] It is free and open-source software released under an Apache License, version 2.0. It was first released in 1985, by R. Kent Dybvig, originally licensed as proprietary software, and then released as open-source software on GitHub on 2016-05-13 with version 9.4. [7]

Petite Chez Scheme

Petite Chez Scheme is a sibling implementation which uses a threaded interpreter design instead of Chez Scheme's incremental native-code compiler. Programs written for Chez Scheme run unchanged in Petite Chez Scheme, as long as they do not depend on using the compiler (for example foreign function interface is only available in the compiler). Petite Chez Scheme was originally freely distributable [8] and is now distributed open-source as part of Chez Scheme. [9]

Performance

In one series of benchmarks, [10] Chez Scheme was among the fastest available Scheme implementations on the Sun SPARC processor architecture, while Petite Chez Scheme was among the slowest implementations on the more common x86 (Pentium 32-bit) processor architecture.

Libraries

Chez Scheme has a windowing system and computer graphics package called the Scheme Widget Library, and is supported by the portable SLIB library.[ citation needed ]. However the widget library is no longer maintained. [11]

Related Research Articles

Poplog is a reflective, incrementally compiled software development computer programming integrated development environment and system platform for the programming languages POP-11, Common Lisp, Prolog, and Standard ML. It was created originally in the United Kingdom for teaching and research in artificial intelligence, at the University of Sussex, and later marketed as a commercial package for software development, teaching, and research. It was one of the initiatives supported for a time by the UK government-funded Alvey Programme.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Standard Widget Toolkit</span> Graphical widget toolkit for use with the Java platform

The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).

LCC is a small, retargetable compiler for the ANSI C programming language. Although its source code is available at no charge for personal use, it is not open-source or free software according to the usual definitions because products derived from LCC may not be sold, although components not derived from LCC may be sold. It was developed by Chris Fraser and David Hanson.

CMUCL is a free Common Lisp implementation, originally developed at Carnegie Mellon University.

<span class="mw-page-title-main">QCAD</span> CAD software

QCAD is a computer-aided design (CAD) software application for 2D design and drafting. It is available for Linux, Apple macOS, Unix and Microsoft Windows. The QCAD GUI is based on the Qt framework.

<span class="mw-page-title-main">Watcom C/C++</span>

Watcom C/C++ is an integrated development environment (IDE) product from Watcom International Corporation for the C, C++, and Fortran programming languages. Watcom C/C++ was a commercial product until it was discontinued, then released under the Sybase Open Watcom Public License as Open Watcom C/C++. It features tools for developing and debugging code for DOS, OS/2, and Windows, Linux operating systems, which are based upon 16-bit x86, 32-bit IA-32, or 64-bit x86-64 compatible processors.

<span class="mw-page-title-main">Racket (programming language)</span> Lisp dialect

Racket is a general-purpose, multi-paradigm programming language. The Racket language is a modern dialect of Lisp and a descendant of Scheme. It is designed as a platform for programming language design and implementation. In addition to the core Racket language, Racket is also used to refer to the family of programming languages and set of tools supporting development on and with Racket. Racket is also used for scripting, computer science education, and research.

In C and related programming languages, long double refers to a floating-point data type that is often more precise than double precision though the language standard only requires it to be at least as precise as double. As with C's other floating-point types, it may not necessarily map to an IEEE format.

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. The primary output of this working group was an international standard, published by ISO. The standard was updated in 2007 and republished as ISO/IEC 13816:2007(E). Although official publication was through ISO, versions of the ISLISP language specification are available that are believed to be in the public domain.

<span class="mw-page-title-main">Oracle Linux</span> Linux distribution by Oracle

Oracle Linux is a Linux distribution packaged and freely distributed by Oracle, available partially under the GNU General Public License since late 2006. It is compiled from Red Hat Enterprise Linux (RHEL) source code, replacing Red Hat branding with Oracle's. It is also used by Oracle Cloud and Oracle Engineered Systems such as Oracle Exadata and others.

Gambit, also called Gambit-C, is a programming language, a variant of the language family Lisp, and its variants named Scheme. The Gambit implementation consists of a Scheme interpreter, and a compiler which compiles Scheme into the language C, which makes it cross-platform software. It conforms to the standards R4RS, R5RS, and Institute of Electrical and Electronics Engineers (IEEE), and to several Scheme Requests for Implementations (SRFIs). Gambit was released first in 1988, and Gambit-C (Gambit with a C backend) was released first in 1994. They are free and open-source software released under a GNU Lesser General Public License (LGPL) 2.1, and Apache License 2.0.

R. Kent Dybvig is a professor emeritus of computer science at Indiana University Bloomington, in Bloomington, Indiana. His research focuses on programming languages, and he is the principal developer of the optimizing Chez Scheme compiler and runtime system which were initially released in 1985. Together with Daniel P. Friedman, he has long advocated the use of the Scheme language in teaching computer science. He retired from Indiana University to join Cisco in 2011.

<span class="mw-page-title-main">Ikarus (Scheme implementation)</span> R6RS Scheme compiler

Ikarus Scheme is a free software optimizing incremental compiler for R6RS Scheme that compiles directly to the x86 IA-32 architecture. Ikarus is the first public implementation of a large part of the R6RS Scheme standard. Version 0.0.3 has 94% of the total R6RS forms and procedures. Development stopped in 2008.

An AES instruction set is a set of instructions that are specifically designed to perform AES encryption and decryption operations efficiently. These instructions are typically found in modern processors and can greatly accelerate AES operations compared to software implementations. An AES instruction set includes instructions for key expansion, encryption, and decryption using various key sizes.

In computing, quadruple precision is a binary floating-point–based computer number format that occupies 16 bytes with precision at least twice the 53-bit double precision.

Crypto++ is a free and open-source C++ class library of cryptographic algorithms and schemes written by Wei Dai. Crypto++ has been widely used in academia, student projects, open-source, and non-commercial projects, as well as businesses. Released in 1995, the library fully supports 32-bit and 64-bit architectures for many major operating systems and platforms, including Android, Apple, BSD, Cygwin, IBM AIX, Linux, MinGW, Solaris, Windows, Windows Phone and Windows RT. The project also supports compilation using C++03, C++11, C++14, and C++17 runtime libraries; and a variety of compilers and IDEs, including Borland Turbo C++, Borland C++ Builder, Clang, CodeWarrior Pro, GCC, Intel C++ Compiler (ICC), Microsoft Visual C/C++, and Sun Studio.

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, PowerPC, x86/IA-32, x86-64, and MIPS architecture.

OpenH264 is a free software library for real-time encoding and decoding video streams in the H.264/MPEG-4 AVC format. It is released under the terms of the Simplified BSD License.

References

  1. "Release 10.0.0" . Retrieved 8 February 2024.
  2. "Chez Scheme Version 10.0.0 Release Notes" . Retrieved 18 May 2024.
  3. Dybvig, R. Kent. "The Development of Chez Scheme" (PDF).
  4. "Sec Filing".
  5. "Cisco/ChezScheme". GitHub . 11 February 2022.
  6. "Chez Scheme Version 8.0 Release Notes". scheme.com. March 2010.
  7. "Chez Scheme". GitHub. Retrieved 2019-04-06.
  8. "Petite Chez Scheme Software License Agreement" . Retrieved 2007-08-05.
  9. "cisco/ChezScheme". Github. Cisco Systems. 29 October 2021. Retrieved 29 October 2021.
  10. Clinger, William D. (2007-07-05). "Twobit: Benchmarks" . Retrieved 2008-08-05.
  11. "Scheme Widget Library". (chez (chez scheme)). Retrieved 29 August 2019.