Gauche (Scheme implementation)

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.