For Gauche 0.9.5


Next: , Previous: , Up: 主要な概念   [Contents][Index]

2.1 標準への準拠

Gaucheは、次に説明する少しの例外を除き、オプショナルな構文や手続きも含め "Revised^7 Report of Algorithmic Language Scheme" (R7RS) に準拠しています。

GaucheはR7RS以前から開発されているため、既存のGaucheソースコードの多くはR7RSの プログラムやライブラリの構造に従っていないことに注意してください。 Gaucheは、伝統的なGaucheのモジュール形式やスクリプトも、R7RS形式のプログラムや ライブラリも、両方解釈することができます。 R7RSがどのようにGaucheに統合されているかについては、 ライブラリモジュール - R7RS統合を参照してください。

Gaucheはまた、以下のSRFIをサポートしています。

SRFI-0, 機能ベースの条件展開

組み込みです。機能条件式参照。

SRFI-1, リストライブラリ

モジュールsrfi-1でサポートされます。リストライブラリ参照。 SRFI-1の手続きのうちいくつかは組み込みになっています。

SRFI-2, AND-LET*: 局所束縛をともなう AND、ガード付 LET* 特殊フォーム

組み込みです。変数束縛参照。

SRFI-4, 一様な数値ベクタ型

モジュールgauche.uvectorsrfi-4の上位互換手続きを提供します。 同モジュールにはSRFI-4の手続きに加え、 算術演算やジェネリックなインタフェースが定義されています。ユニフォームベクタ参照。

SRFI-5, シグネチャとrest引数に互換性のあるlet形式

モジュールsrfi-5でサポートされます。 シグネチャとrest引数に互換性のあるlet形式参照。

SRFI-6, 基本文字列ポート

SRFI-6の手続きは組み込みになっています。文字列ポート参照。

SRFI-7, 機能ベースプログラム設定言語

オートロードされるマクロとしてサポートされています。 機能ベースプログラム設定言語参照。

SRFI-8, receive: 多値束縛

構文receiveは組み込みになっています。変数束縛参照。

SRFI-9, レコード型の定義

モジュールgauche.recordでサポートされます。レコード型参照。

SRFI-10, Sharp-comma外部フォーム

組み込みです。読み込み時コンストラクタ参照。

SRFI-11, 多値を受け取るための構文

モジュールsrfi-11でサポートされます。Let-values参照。

SRFI-13, 文字列ライブラリ

モジュールsrfi-13でサポートされます。文字列ライブラリ参照。 (SRFI-13の手続きのいくつかは組み込みになっています。)

SRFI-14, 文字集合のライブラリ

文字集合と基本的なSRFI-14手続きは組み込みになっています。 文字集合参照。SRFI-14の完全なサポートはモジュールsrfi-14 で提供されています。文字集合ライブラリ参照。

SRFI-16, 可変長引数手続き構文 (case-lambda)

組み込みです。手続きを作る参照。

SRFI-17, 一般化された set!

組み込みです。代入参照。

SRFI-18, マルチスレッドのサポート

いくつかのSRFI-18の機能は組み込みであり、、残りのAPIは gauche.threadsモジュールで提供されます。スレッド参照。

SRFI-19, 時間データの型と手続き

時間のデータ型はGauche組み込みです(時間参照)。 SRFI-19の完全なサポートはモジュールsrfi-19で提供されています。 時間のデータ型と手続き参照。

SRFI-22, UNIX 上の Scheme スクリプトの実行

サポートされています。Schemeスクリプトを書く参照。

SRFI-23, エラー報告機構

組み込みです。例外の通知参照。

SRFI-25, 多次元配列のプリミティブ

モジュールgauche.arrayが、SRFI-25の上位互換と なっています。配列参照。

SRFI-26, カリー化をともなわないパラメータの特殊化記法

オートロードされるマクロとして定義されています。手続きを作る参照。

SRFI-27, ランダムビットのソース

モジュールsrfi-27でサポートされます。ランダムビットのソース参照。

SRFI-28, 基本フォーマット文字列

Gauche組み込みのformatがSRFI-28のものの上位互換に なっています。出力参照。

SRFI-29, 地域化

モジュールsrfi-29でサポートされます。 地域化参照。

SRFI-30, ネストした複数行コメント

ネイティブのリーダでサポートされています。字句構造参照。

SRFI-31, 再帰評価用の特殊フォーム rec

オートロードされるマクロとして定義されています。変数束縛参照。

SRFI-34, プログラムの例外処理

組み込みです。例外参照。 (但し、Gaucheはraiseに関してはsrfi-18のセマンティクスを文字通り 実装していて、それはsrfi-34と若干異なります。将来はsrfi-34に合わせるかもしれません。)

SRFI-35, コンディション

組み込みです。コンディション参照。

SRFI-36, I/O コンディション

部分的にサポートされています. コンディション参照。

SRFI-37, args-fold: プログラム引数処理

モジュールsrfi-37でサポートされます。 args-fold プログラム引数処理参照。

SRFI-38, 共有されるデータの外部表現

組み込みです。データの読み込み出力参照。

SRFI-39, パラメータオブジェクト

モジュールgauche.parameterでサポートされます。 パラメータ参照。

SRFI-40, ストリームライブラリ

モジュールutil.streamでサポートされています。 See ストリームライブラリ.

SRFI-42, 先行評価的内包表記

モジュールsrfi-42でサポートされます。 Eager comprehensions参照。

SRFI-43, ベクタライブラリ

モジュールsrfi-43でサポートされます。 ベクタライブラリ(旧式)参照。

SRFI-45, 反復的 Lazy アルゴリズムのための基本関数

組み込みです。 See 遅延評価.

SRFI-46, 基本的なsyntax-rulesの拡張

組み込みです。 See 衛生的マクロ.

SRFI-55, requireの拡張

オートロードマクロとしてサポートされます。 Requiring extensions参照。

SRFI-60, 整数に対するビット操作

ほとんどの手続きは組み込みになっています。ビット演算参照。 完全なサポートはsrfi-60モジュールで提供されます。 整数に対するビット操作参照。

SRFI-61, より汎用的なcond

組み込みです。条件式参照。

SRFI-62, S式コメント

ネイティブのリーダでサポートされています。字句構造参照。

SRFI-69, 基本的なハッシュテーブル

モジュールsrfi-69でサポートされます (基本的なハッシュテーブル参照)。 Gaucheにも組み込みのハッシュテーブルサポートがありますが(ハッシュテーブル参照)、 いくつかの手続きにおいて異なる名前を使っています。

SRFI-78, 軽いテストフレームワーク

モジュールsrfi-78でサポートされます。 Gaucheは既に独自のテストフレームワークを持っているので(単体テスト参照)、 このモジュールは主としてサードパーティ製のモジュールがsrfi-78をテストに 使っている場合をサポートするためのものです。

SRFI-87, case節での=>

組込みです。条件式参照。

SRFI-95, ソートとマージ

組み込みです。ソートとマージ参照。

SRFI-98, 環境変数にアクセスするためのインタフェース

モジュールsrfi-98でサポートされます。環境変数へのアクセス参照。

SRFI-99, ERR5RS レコード

モジュールgauche.recordでサポートされます。レコード型参照。

SRFI-106, 基本的なソケットインタフェース

モジュールsrfi-106でサポートされます。基本的なソケットインタフェース参照。

SRFI-111, ボックス

モジュールsrfi-111でサポートされます。ボックス参照。

SRFI-112, 環境の問い合わせ

モジュールsrfi-112でサポートされます。 ポータブルな実行環境の問い合わせ参照。

SRFI-113, セットとバッグ

モジュールsrfi-113でサポートされます。 setとbag参照。

SRFI-114, 比較器

いくつかの機能は組み込みです(基本的な比較器参照)。srfiの完全な仕様はモジュールsrfi-114でサポートされます(比較器参照)。

SRFI-117, リストを元にしたキュー

data.queue上に実装されたモジュールsrfi-117でサポートされます。 (リストを元にしたキュー参照)

SRFI-118, 簡単な可変長文字列

モジュールsrfi-118でサポートされます。 (簡単な可変長文字列参照)

SRFI-121, ジェネレータ

Gaucheのgauche.generatorがsrfi-121のスーパーセットになっています。 (ジェネレータ参照)

SRFI-128, 比較器 (縮小版)

組み込みです。基本的な比較器参照。

SRFI-131, ERR5RSレコード構文 (簡易版)

このsrfiはsrfi-99のサブセットで、gauche.recorddefine-record-typeでカバーされます。レコード型参照。

SRFI-133, ベクタライブラリ (R7RS互換)

モジュールsrfi-133でサポートされます。 ベクタライブラリ参照。

SRFI-134, 変更不可な両端キュー

モジュールdata.idequeがsrfi-134と互換です。 変更不可な両端キュー参照。


Next: , Previous: , Up: 主要な概念   [Contents][Index]