Gauche 0.9.4

R5RS Scheme implementation developed to be a handy script interpreter
Gauche was designed to be 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.

Main features:

  • Covers R5RS, almost.
  • Both R5RS high-level macro and legacy define-macro are supported.
  • Numeric operations are supported on fixnum, bignum, flonum and complex.
  • Supports the following SRFIs:
  • SRFI-0 Feature based conditional expansion construct
  • SRFI-1 List library
  • SRFI-2 And-let
  • SRFI-4 Homogeneous numeric vector datatypes
  • SRFI-5 A compatible let form with signatures and rest arguments
  • SRFI-6 String ports
  • SRFI-7 Feature-based program configuration language
  • SRFI-8 Receive
  • SRFI-9 Record Types
  • SRFI-10 Sharp-comma external form
  • SRFI-11 Let-values
  • SRFI-13 String Library
  • SRFI-14 Character Set Library
  • SRFI-16 Syntax for procedures of variable arity
  • SRFI-17 Generalized set!
  • SRFI-18 Multithreading support
  • SRFI-19 Time data types and procedures
  • SRFI-22 Running Scheme Scripts on Unix
  • SRFI-23 Error reporting mechanism
  • SRFI-25 Multi-dimensional array primitives
  • SRFI-26 Notation for Specializing Parameters without Currying
  • SRFI-27 Sources of random bits
  • SRFI-28 Basic format strings
  • SRFI-29 Localization
  • SRFI-30 Nested Multi-line comments
  • SRFI-31 A special form rec for recursive evaluation
  • SRFI-34 Exception Handling for Programs
  • SRFI-35 Conditions
  • SRFI-36 I/O Conditions (partly)
  • SRFI-37 args-fold: a program argument processor
  • SRFI-38 External Representation for Data With Shared Structure
  • SRFI-39 Parameter objects
  • SRFI-40 A Library of Streams
  • SRFI-42 Eager comprehenshion
  • SRFI-43 Vector Library
  • SRFI-45 Primitives for Expressing Iterative Lazy Algorithms
  • SRFI-55 require-extension
  • SRFI-61 A more general cond clause
  • SRFI-62 S-expression comments
  • SRFI-87 => in case clauses
  • 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:
July 24th, 2014, 18:22 GMT
file size:
8.6 MB
developed by:
Shiro Kawai
license type:
operating system(s):
Windows All
C: \ Programming \ Other Programming Files
Download Button

In a hurry? Add it to your Download Basket!

user rating



Rate it!
What's New in version 0.9.2
  • New Features
  • Case mapping and character properties are fully supported, compatible to R6RS and R7RS draft (both based on Unicode standard). Character-wise case mapping (char-upcase etc.) and property queries (char-alphabetic?, char-general-category, etc.) are built-in. Context-aware string case mapping (string-upcase etc.) is provided in the new text.unicode module. (Note: srfi-13's string-upcase etc. are unchanged; they are defined to use simple case mappings.) The text.unicode module also provides conversion between utf-8/utf-16 and Unicode codepoints.
  • Windows binary distribution is now in MS installer (*.msi) format, created with WiX. It's safer than the previous *.exe format created by NSIS, which had a bug that smashes PATH settings when it is too long.
  • A convenient wrapper for atomic execution is added in gauche.threads. See this intro post.
read full changelog

Add your review!