|
Article on other languages:
|
Scheme(スキーム)は、ガイ・スティール(Guy Lewis Steele Jr.)とジェラルド・ジェイ・サスマン(Gerald Jay Sussman)によって開発された。LISPの方言の1つで、関数型プログラミング言語としての側面がよく知られたマルチパラダイムプログラミング言語である。他のLISP言語と比べてもシンプルで一貫した思想に基づく点が特徴である。 Schemeは、実行時のスナップショットを抽象化した継続(コンティニュエーション)、静的スコープ、末尾最適化を言語として保証するなどの機能を持つ。 Schemeが出てくるまでの他のLISP方言では変数束縛が実行履歴を元に決定される動的スコープを採用することが多かったが、Schemeでは変数の意味がコード上のネスティングで定まるという静的スコープを持つ。静的スコープはCommon Lispに採用された。Schemeは、アメリカ合衆国では大学でのプログラミング教育に広く使われている。 MITでプログラミング教育に使われている処理系実装MIT Schemeは、多くのプラットフォームで動作する。 サスマンらによる『計算機プログラムの構造と解釈 第二版』(ISBN 489471163X)は、演習や説明にSchemeを使ったコンピュータサイエンスの優れた教科書である。 言語仕様は、文書The Revised5 Report on the Algorithmic Language Scheme(R5RSと呼ばれる)で定められる。LISP系言語はSchemeとCommon Lispを二大潮流とするが、提案された機能を原則全て導入するCommon Lispに対して、メンバーの全員一致を原則とするSchemeという特徴を持っている。 なお、2007年9月に新仕様R6RSが成立した。4部構成となり、R5RSに比べおよそ3倍の文章量となった。今までは小さな言語仕様に対してのこだわりが見られたが、Unicodeサポート等の実用的な言語として必要な要素が盛り込まれている点が特徴的である。しかし、多くの機能が盛り込まれたにもかかわらず細部の練りこみが不十分であるといった批判もあり、非公式にR5RSを拡張する形でERR5RS(Extended R5RS Scheme)という規格を検討するコミュニティも現れている。 SRFISchemeは言語機能を必要十分の最低限まで単純化することを目指した言語である。そのため仕様書がコンパクトな反面、実用に際して各種のライブラリが乱立し、移植性が問題になっていた。そこで実装間の統一をとるため、コミュニティ内の議論を集約しているのがScheme Requests for Implementationである。SRFIではライブラリ仕様、言語拡張仕様などがインデックス化されており、SRFI準拠の実装系は「xに準拠」といった形で利用者の便宜を図ることができる。 なお、Schemeでは言語機能とライブラリ機能は分けて考えられているため、SRFIとScheme言語仕様のコミュニティは原則分離している。 実装Schemeの仕様書は50ページにも満たないため、かなりの数の実装が存在する。
外部リンク
More about Scheme: rhyme scheme, pyramid scheme, ponzi scheme, wedding color scheme, club investor pyramid scheme, get rich quick scheme, paint scheme, window xp color scheme, rhyme scheme poem, |
||||||||||||||||||||||||||||||
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.