(スキーム)は構文スコープを持つ の方言の一つである。言語仕様の小ささとその出自からプログラミングの教育分野でもよく使われている。 は、マサチューセッツ工科大学の人工知能研究所においてカール・ヒューイットの設計したアクタ言語 (Planner-73) の動作を理解するために、アロンゾ・チャーチのλ計算を基盤に持つ 方言として、カール・ヒューイットの学生であったジェラルド・ジェイ・サスマンとガイ・スティール・ジュニアによって1975年頃に設計された。アクタを言語に導入するにあたって採用された 60 由来の構文スコープは、状態を持つデータであるアクタ(クロージャ)の実現以外にも、codice_1 構文を用いたλ計算や末尾再帰の最適化に不可欠な機構であった。また、プログラムの制御理論から当時出てきた継続及びアクタ理論におけるアクタへのメッセージ渡しの概念から触発された継続渡し形式と呼ばれるプログラミング手法は以後の継続の研究に大きな影響を与えた。MIT人工知能研究所においては以下のとおりLISPに始まるいくつかの言語が作られた。この中でカール・ヒューイットが設計した規則ベースの言語 はあまりに複雑な機構を持っていたため実装されなかった。サスマン等はそれを使いやすい言語 、 として実現した。同じくカール・ヒューイットが設計したアクタ言語 (-73) も複雑な機構を持っていたため、 による実装が存在したものの、その動作の仕組みを理解するのは困難であった。サスマン及びガイ・スティール・ジュニアは を理解するために、不要な機能を省いた 構文を持つ小さな を設計した。上記の からその小さな の設計に至る過程は から 及び へ至る過程を彷彿とさせるものであったため、その言語は (計画する者)及び (策略を巡らす者)の次という意味で当初 (陰謀を企てる者)と名付けられた。しかし、当時のオペレーティングシステムのファイルシステムの制限からファイル名が6文字に切られたことから という名前が使われるようになった。 以前の 方言では変数束縛が実行履歴を元に決定される動的スコープが採用されていたが、 では変数の意味が構文的に定まるという構文スコープを 方言として当時初めて採用した。構文スコープは環境の機構により実現される。 はcodice_2(略称:codice_4)と呼ばれるピーター・ランディンやジョン・レイノルズに始まる脱出オペレータの命令を提供する。 の言語仕様はIEEEによって公式に定められ、その仕様は「」と呼ばれている。2016年現在広く実装されているものは改訂第五版に当たるR5RS(1998年)である。なお、2007年9月に「」が成立した。4部構成となり、R5RSに比べおよそ3倍の文章量となった。R5RSまでは小さな言語仕様に対してのこだわりが見られたが、 サポート等の実用的な言語として必要な要素が盛り込まれている点が特徴的である。しかし、多くの機能が盛り込まれたにもかかわらず細部の練りこみが不十分であるといった批判もあり、非公式にR5RSを拡張する形でERR5RS () という規格を検討する党派も現れている。2009年8月、 言語運営委員会は、 を大規模バージョンと、大規模バージョンのサブセットとなる小さな言語仕様のふたつの言語に分割することを推奨する意向を発表した。2013年7月、「」 () が成立した。 の仕様書はR5RSだと50ページにも満たないため、かなりの数の実装が存在する。 は言語機能を必要十分の最低限まで単純化することを目指した言語である。そのため仕様書が簡素な反面、実用に際して各種のライブラリが乱立し、移植性が問題になっていた。そこで実装間の統一をとるため、コミュニティ内の議論を集約しているのが「」である。 ではライブラリ仕様、言語拡張仕様などがインデックス化されており、 準拠の実装系は「◯◯に準拠」といった形で利用者の便宜を図ることができる。なお、 では言語機能とライブラリ機能は分けて考えられているため、 と 言語仕様のコミュニティは原則分離している。 はしばしば他のアプリケーションの拡張用言語として使われる。代表的なアプリケーションには以下のようなものがある。より専門的な応用としては、映画ファイナルファンタジーのために3Dレンダリングエンジンに インタプリタを組み込んだ例や、リトルウイングのピンボールコンストラクションシステムの記述に を使った例がある。 が発表された一連の論文は、ラムダ論文と呼ばれている。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。