Go to the first, previous, next, last section, table of contents.


Guile

ソフトウェア・システムに拡張可能なプログラムが複数あれば、プログラムの実装 では全て同じ拡張言語の実装を使うべきである。これは、拡張担当者が学習する量 が少なくて済み、その拡張部分のライブラリは1つ以上のプログラムにおいて有用で ある、という意味である。共通言語は、プログラムが複雑なデータ構造やソース・ コードをやりとりできるようになる。共通する実装は、システムの資源や保守に要 する資源の両方の節約となる。

GNU プロジェクトは、Guile (GNUs' Ubiquitous Extension Language、GNUのどこに でも使える拡張言語)の作成に着手した。プログラマが一般的なあらゆるCプログラ ムを拡張性のあるものとするために使えるようなライブラリを作成している。我々 は、多くの GNU プログラムでこのライブラリを使いたいと思っており、他のところ でも幅広く使って欲しいと願っている。Guileは、Aubrey Jaffer作成によるあるバー ジョンのScheme SCM(section GNUソフトウェアの種類のJACAL参照)を基にしているので、そ のインタープリタをCのライブラリとして使えば、さらに有用なものとなるだろう。 何人かのボランティアは、完全な Posix インタフェース、SCSHのようなライブラリ、 モジュール・システムの作業を行なっている。既に説明した特徴の一部を実装した ものは、1995年初頭にリリースする予定である。SCMは既に配布可能である。

Guileの著作権条項は、独占的なプログラム中でさえそのライブラリの使用を許すこ とになるだろう。X11に用いられている著作権条項に似たものを採用する予定でいる。

Schemeを用いると、「どの拡張言語が最高であるか」という議論を棚上げにできる。 他の拡張言語から翻訳可能な便利な目標言語だからである。保守担当者は、拡張言 語の実装にあたって1つしか選択の余地はないが、ユーザは、いくつもの拡張言語の 中からの選択が可能になっている。新しいトランスレータを作成するだけで、誰に でもGuileアプリケーションを自分の好きなプログラミング言語で記述できるように なる。簡単化したC言語に似ており、会話的なコマンド・プロセッサに似た構文を採 り入れようと考えている。Guile は、Emacs Lisp プログラムも実行できるようにし たい。


Go to the first, previous, next, last section, table of contents.