Misplaced Pages

Gauche (Scheme implementation)

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (September 2016) (Learn how and when to remove this message)
Gauche
Developer(s)Shiro Kawai
Initial release11 January 2001; 24 years ago (2001-01-11)
Stable release0.9.15 Edit this on Wikidata / 24 April 2024; 8 months ago (24 April 2024)
Repository
Operating systemCross-platform
TypeProgramming language
LicenseBSD License
Websitepractical-scheme.net/gauche/

Gauche is an R7RS Scheme implementation. It is designed for scripting in a production environment. It is intended to allow programmers and system administrators to write scripts in support of daily operations. Quick startup, built-in system interface, native multilingual support are some of its key design goals.

Gauche is free software under the BSD License. It is primarily developed by Shiro Kawai.

Features

  • Quick startup - Gauche includes common features in its executable, while less common functions are in libraries which are loaded on demand.
  • Module system - A simple module system, API compatible to STklos.
  • Object system - CLOS-like object system with metaobject protocol. Almost API compatible to STklos. It is also similar to Guile's object system.
  • Native multilingual support - Strings are represented by multibyte string internally. You can use UTF-8, EUC-JP, Shift-JIS or no multibyte encoding. Conversion between native coding system and external coding system is supported by port objects.
  • Multibyte regexp - Regular expression matcher is aware of multibyte string; you can use multibyte characters both in patterns and matched strings.
  • Built-in system interface - Gauche has built-in support for most POSIX.1 system calls.
  • Network interface - Has API for socket-based network interface, including IPv6 if the OS supports it.
  • Multithreading - Multithreading is supported on top of pthreads. Scheme-level API conforms to SRFI-18.
  • DBM interface - Interfaces to dbm, ndbm and/or gdbm.
  • XML parsing - Oleg Kiselyov's SXML tools are included.

References

  1. "Release 0.9.15". 24 April 2024. Retrieved 23 May 2024.
Notes
  • R. Kelsey, W. Clinger, J. Rees (eds.), Revised^5 Report on the Algorithmic Language Scheme, Higher-Order and Symbolic Computation, 11(1), September, 1998 and ACM SIGPLAN Notices, 33(9), October, 1998.
  • Carl Bruggeman, Oscar Waddell and R. Kent Dybvig, Representing control in the presence of one-shot continuations, in Proceedings of SIGPLAN '96, pp. 99-107, 1996.
  • Eugene Myers, An O(ND) Difference Algorithm and Its Variations, Algorithmica Vol. 1 No. 2, pp. 251-266, 1986.
  • Gregor Kiczales, Jim Des Rivieres, Daniel Bobrow, The Art of Metaobject Protocol, The MIT Press.
  • Kim Barrett, Bob Cassels, Paul Haahr, David A. Moon, Keith Playford, P. Tucker Withington, A Monotonic Superclass Linearization for Dylan, in Proceedings of OOPSLA 96, October 1996.

External links


Stub icon

This free and open-source software article is a stub. You can help Misplaced Pages by expanding it.

Stub icon

This computer-programming-related article is a stub. You can help Misplaced Pages by expanding it.

Categories:
Gauche (Scheme implementation) Add topic