Gauche (Scheme Implementation)
   HOME

TheInfoList



OR:

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 Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
under the
BSD License BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
. 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 Clos may refer to: People * Clos (surname) Other uses * CLOS, Command line-of-sight, a method of guiding a missile to its intended target * Clos network, a kind of multistage switching network * Clos (vineyard), a walled vineyard; used in Fran ...
-like object system with metaobject protocol. Almost API compatible to STklos. It is also similar to
Guile Guile may refer to: * Astuteness, deception. * GNU Guile, an implementation of the Scheme programming language * Guile (''Street Fighter''), a video game character from the ''Street Fighter'' series * Guile (''Chrono Cross''), a video game chara ...
'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

;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


Gauche home page
* ttps://web.archive.org/web/20111001132005/http://users.lava.net/~shiro/Private/essay/gdc2002.html Tracking Assets in the Production of 'Final Fantasy: The Spirits Within'br>Gluing Things Together - Scheme in a Real-time CG Content Production
Scheme (programming language) interpreters Scheme (programming language) implementations Free compilers and interpreters Cross-platform software Software using the BSD license {{compu-prog-stub