Gauche is a scheme implementation for system scripting.
Gauche is an R5RS Scheme implementation developed to be a handy script interpreter, which allows programmers and system administrators to write small to large scripts for their daily chores. Quick startup, built-in system interface, native multilingual support are some of my goals.

Gauche application runs on several Unix-like platforms.


% gzcat Gauche-0.8.3.tgz | tar xf -
% cd Gauche-0.8.3
% ./configure
% make
% make install

Main features:

  • Covers R5RS, almost.
  • R5RS macro is supported as all of define-syntax, let-syntax, letrec-syntax forms. I think the speed of macro expansion is important as a script interpreter, and wrote R5RS macro expander in C, integrated in the internal compiler engine.
  • Numeric operations are supported on fixnum, bignum, flonum and complex.
  • Supports the following SRFIs.
  • 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.
  • Multibyte string support: Strings are represented by multibyte string internally. You can use UTF-8, EUC-JP, Shift-JIS or no multibyte encoding by configure-time choice. 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.
  • Reader extension: literal regexp and char-set, string interpolation: Extended reader recognizes #/.../ as an regular expression, and #[...] as a character set. Handy to write one-liners. (e.g. (rxmatch-substring (rxmatch #/(d+)/ "abc123def")) ==> "123")
  • Also "string interpolation" is supported (e.g. (display #`"1 + 2 = ,(+ 1 2)n")).
  • System interface: Covers most of POSIX.1 and some other features common in Unices. See section 6.19 of the reference manual for details.
  • Network interface: Has API for socket-based network interface, including IPv6 if the OS suppots it.
  • Multithreading: On some platforms, multithreading is supported on top of pthreads. Scheme-level API conforms SRFI-18.
  • DBM interface: Interface to DBM-like libraries (dbm, ndbm and/or gdbm) if the system provides them.
  • XML parsing: Oleg Kiselyov's SXML tools are included.
  • OpenGL binding: OpenGL binding is provided in a separate package.
  • GTK binding: GTK2 binding is provided in a separate package

last updated on:
May 29th, 2012, 6:59 GMT
license type:
BSD License 
developed by:
ROOT \ Programming \ Interpreters
Download Button

In a hurry? Add it to your Download Basket!

user rating 16



Rate it!
What's New in This Release:
  • This version fixes a few build issues.
read full changelog

Add your review!