Gauche (Scheme implementation)

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 release| 11 January 2001; 24 years ago (2001-01-11)
Stable release|

0.9.15[1]  / 24 April 2024; 15 months ago (24 April 2024)

Repository|

* github.com/shirok/Gauche.git

Operating system| Cross-platform
Type| Programming language
License| BSD License
Website| practical-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

[edit]

* 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

[edit]

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

[edit]

* Gauche home page
* Gauche reference manual
* Gauche development progress & plan
* Standards conformance and platform list
* Shooting A Moving Target - An Experience in Developing a Production Tracking Database
* Tracking Assets in the Production of 'Final Fantasy: The Spirits Within'
* Gluing Things Together - Scheme in a Real-time CG Content Production

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

|

* v
* t
* e

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

|

* v
* t
* e

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template