STklos

STklos is a Scheme implementation that succeeded STk. It is a bytecode compiler with an ad hoc virtual machine which aims to be fast as well as light.

STklos
Developer(s)Erick Gallesio
Initial releaseJanuary 17, 2001 (2001-01-17)[1] (version 0.50, first public release)
Stable release
1.70[2] / November 25, 2021 (2021-11-25)[3]
Repository
Operating systemCross-platform
Standard(s)R7RS (mostly)
TypeProgramming language
LicenseGPL
Websitewww.stklos.net

STklos is free software, released under the GNU General Public License.

In addition to implementing most of R5RS, and a large part of R7RS, STklos supports:

  • an object system based on CLOS with multiple inheritance, generic functions, multimethods and a MOP
  • a module system
  • easy connection with the GTK toolkit
  • a low-level macro system that compiles macro expanders into bytecode (syntax-rules is also present as a high-level macro system)
  • a full Numerical tower implementation, as defined in R7RS
  • Unicode support
  • Perl compatible regular expressions via PCRE library
  • a simple foreign function interface via libffi
  • being compiled as a library and embedded in an application
  • native threads, using the libpthread library. The API conforms to SRFI-18
  • a number of SRFIs[4]
  • easy access to SLIB
  • an HTTP client

Additional libraries are available through its package system ScmPkg.[5][6]

References

  1. "STklos Changelog". stklos.net. Retrieved 2018-07-21.
  2. "STklos Changelog". stklos.net. Retrieved 2021-11-25.
  3. "STklos Changelog". stklos.net. Retrieved 2021-03-18.
  4. "STklos SRFI support". stklos.net. Retrieved 2010-03-11.
  5. Manuel Serrano; Erick Gallesio (2007-10-22). "An Adaptive Package Management System for Scheme" (PDF). Proceedings of the Second Dynamic Languages Symposium. Retrieved 2010-03-11.
  6. "STklos ScmPkg support". stklos.net. Retrieved 2010-03-11.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.