[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 Standard conformance

Gauche conforms "Revised^5 Report of Algorithmic Language Scheme," including optional syntax and procedures, except the following features.

(Note: A new Scheme standard R6RS has been ratified on September 2007. Although we don't have a plan to change Gauche to conform R6RS in near future, we'll gradually add modules that are compatible to R6RS).

Gauche also supports the following SRFIs (Scheme Request for Implementation).

SRFI-0, Feature-based conditional expansion construct.

As an autoloaded macro. See section srfi-0 - Feature conditional.

SRFI-1, List library.

Supported by the module srfi-1. See section srfi-1 - List library. (Some of SRFI-1 procedures are built-in).

SRFI-2, AND-LET*: an AND with local bindings, a guarded LET* special form.

Supported natively. See section Binding constructs.

SRFI-4, Homogeneous numeric vector datatypes.

The module gauche.uvector provides a superset of srfi-4 procedures, including arithmetic operations and generic interface on the SRFI-4 vectors. See section gauche.uvector - Uniform vectors.

SRFI-5, A compatible let form with signatures and rest arguments

Supported by the module srfi-5. See section srfi-5 - A compatible let form with signatures and rest arguments.

SRFI-6, Basic String Ports.

SRFI-6 procedures are built-in. See section String ports.

SRFI-7, Feature-based program configuration language

Supported as an autoloaded macro. See section srfi-7 - Feature-based program configuration language.

SRFI-8, receive: Binding to multiple values.

Syntax receive is built-in. See section Binding constructs.

SRFI-9, Defining record types.

Supported by the module srfi-9. See section srfi-9 - Record types.

SRFI-10, Sharp-comma external form.

Built-in. See section Read-time constructor.

SRFI-11, Syntax for receiving multiple values.

Supported by the module srfi-11. See section srfi-11 - Let-values.

SRFI-13, String library

Supported by the module srfi-13. See section srfi-13 - String library. (Some of SRFI-13 procedures are built-in).

SRFI-14, Character-set library

Character-set object and a few SRFI-14 procedures are built-in. See section Character Set. Complete set of SRFI-14 is supported by the module srfi-14. See section srfi-14 - Character-set library.

SRFI-16, Syntax for procedures of variable arity (case-lambda)

Built-in. See section Making Procedures.

SRFI-17, Generalized set!

Built-in. See section Assignments.

SRFI-18, Multithreading support

Some SRFI-18 features are built-in, and the rest is in gauche.threads module. See section gauche.threads - Threads.

SRFI-19, Time Data Types and Procedures.

Time data type is Gauche built-in (See section Time). Complete set of SRFI-19 is supported by the module srfi-19. See section srfi-19 - Time data types and procedures.

SRFI-22, Running Scheme scripts on Unix

Supported. See section Writing Scheme scripts.

SRFI-23, Error reporting mechanism.

Built-in. See section Signalling exceptions.

SRFI-25, Multi-dimensional array primitives.

Supported by the module gauche.array, which defines superset of SRFI-25. See section gauche.array - Arrays.

SRFI-26, Notation for specializing parameters without currying.

As an autoloaded macro. See section Making Procedures.

SRFI-27, Sources of Random Bits.

Supported by the module srfi-27. See section srfi-27 - Sources of Random Bits.

SRFI-28, Basic format strings.

Gauche's built-in format procedure is a superset of SRFI-28 format. See section Output.

SRFI-29, Localization

Supported by the module srfi-29. See section srfi-29 - Localization.

SRFI-30, Nested multi-line comments.

Supported by the native reader. See section Lexical structure.

SRFI-31, A special form rec for recursive evaluation

Defined as an autoloaded macro. See section Binding constructs.

SRFI-34, Exception Handling for Programs

Built-in. See section Exceptions. (However, Gauche implements srfi-18's semantics of raise literally, which differs slightly from srfi-34's. This may be changed in future.)

SRFI-35, Conditions

Built-in. See section Conditions.

SRFI-36, I/O Conditions

Partly supported. See section Conditions.

SRFI-37, args-fold: a program argument processor

Supported by the module srfi-37. See section srfi-37 - args-fold: a program argument processor.

SRFI-38, External Representation for Data With Shared Structure

Built-in. See Reading data and Output.

SRFI-39, Parameter objects

Supported by the module gauche.parameter. See section gauche.parameter - Parameters.

SRFI-40, A Library of Streams

Supported by the module util.stream. See section util.stream - Stream library.

SRFI-42, Eager comprehensions

Supported by the module srfi-42. See section srfi-42 - Eager comprehensions.

SRFI-43, Vector library

Supported by the module srfi-43. See section srfi-43 - Vector library.

SRFI-45, Primitives for Expressing Iterative Lazy Algorithms

Built-in. See section Delayed evaluation.

SRFI-55, require-extension

Supported as an autoloaded macro. See section srfi-55 - Requiring extensions.

SRFI-61, A more general cond clause

Supported natively. See section Conditionals.

SRFI-62, S-expression comments

Supported by the native reader. See section Lexical structure.

SRFI-87, => in case clauses

Supported natively. See section Conditionals.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Shiro Kawai on October, 7 2008 using texi2html 1.78.