Gauche 0.8.8 review

by on

Gauche is an R5RS Scheme implementation developed to be a handy script interpreter, which allows programmers and system administrator

License: BSD License
File size: 0K
Developer: Shiro.k
0 stars award from

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.

Here are some key features of "Gauche":
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


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

What's New in This Release:
Exact rational arithmetic is added.
The reader becomes more strict about malformed UTF-8 input.
Numerous bugfixes, including a fix for a race condition in I/O.

Gauche 0.8.8 search tags