Chez 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, and SPARC processor architectures. It has supported the R6RS standard since version 7.9.1.[2] 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 with version 9.4.[3]

Chez Scheme
ParadigmsMulti-paradigm: functional, imperative, meta
FamilyLisp
Designed byR. Kent Dybvig
DeveloperCadence Research Systems
First appeared1985 (1985)
Stable release
9.5.2 / March 21, 2019 (2019-03-21)
Typing disciplineDynamic, latent, strong
ScopeLexical
Platformx86 (IA-32, x86-64) PowerPC, SPARC, ARMv6[1]
OSCross-platform
LicenseApache License 2.0
Filename extensions.ss
Websitewww.scheme.com
Influenced by
Lisp, Scheme

Petite Chez Scheme is its 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 is freely distributable and may be used with no royalty fees, subject to the license agreement.[4]

History

The first version of Chez Scheme was developed by R. Kent Dybvig and completed in 1984[5]. 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[6]. Cisco open-sourced Chez Scheme in 2016[7].

Performance

In one series of benchmarks,[8] 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.. However the widget library is no longer maintained [9].

gollark: Off you go, explain it then.
gollark: Huh, I thought you were going to complain about me "explaining closure terribly" or something.
gollark: It's called closure. Stuff defined in something gets access to locals from that thing.
gollark: Just do```luafunction fs.open(file, mode) local f = {} -- Store fs files in here local handle = io.open(file, mode) function f.readAll() return handle:read("*a") end function f.close() handle:close() end function f.write(data) handle:write(data) end return fend```unless there's some other thing you need it for.
gollark: Wait, why do you need a global `openFiles` thing for that?

References

  1. "Chez Scheme Version 9.5.2 Release Notes" (PDF). Retrieved 31 August 2019.
  2. "Chez Scheme Version 8.0 Release Notes". scheme.com. March 2010.
  3. "Chez Scheme". GitHub. Retrieved 2019-04-06.
  4. "Petite Chez Scheme Software License Agreement". Retrieved 2007-08-05.
  5. Dybvig, R. Kent. "The Development of Chez Scheme" (PDF).
  6. "Sec Filing".
  7. https://github.com/cisco/ChezScheme/blob/master/LICENSE
  8. Clinger, William D. (2007-07-05). "Twobit: Benchmarks". Retrieved 2008-08-05.
  9. "Scheme Widget Library". (chez (chez scheme)). Retrieved 29 August 2019.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.