第40章. さらに読み進めるために
これはガイド最後の章です。
この章の目的
この章はガイドを締めくくり、次にどこへ進むかを指し示します。
ここまでに行ってきたこと
第1部から第8部はKeleusmaの言語を教えました — 値と型、関数と制御の流れ、データの形、3つの関数カテゴリとホストとの会話、検証器と保証、より深い機能、プログラムをどう出荷するか、そして集大成として動くピアノロール、です。第9部はもう一方の側、Rustホストの中にKeleusmaを組み込むことを教えました。両者あわせて、ガイドはどちら側のKeleusma開発者も始めるのに必要なすべてをカバーしています。第1部から第8部はKeleusmaの言語を教えました — 値と型、関数と制御の流れ、データの形、3つの関数カテゴリとホストとの会話、検証器と保証、より深い機能、プログラムをどう出荷するか、そして集大成として動くピアノロール、です。第9部はもう一方の側、Rustホストの中にKeleusmaを組み込むことを教えました。両者あわせて、ガイドはどちら側のKeleusma開発者も始めるのに必要なすべてをカバーしています。
これに続くのは、その知識を深めるための道です。
2つ目の作業例: ローグライク
ピアノロールは1つの作業例です。リポジトリにはもう一つ、より大きな作業例があります — examples/rogue/の中のローグライクゲームで、その長文マニュアルがdocs/guide/ROGUE.mdにあります。ピアノロールがloopスクリプトを1つ持つ一方、ローグライクは複数のスクリプトで動きます — ゲームティックループ、ダンジョン生成器、モンスターの振る舞いの集合、戦闘の数式、アイテムの効果、です。大きなアプリケーションがそのロジックを多くのKeleusmaスクリプトに分けて、1つのRustホストの裏で組み立てる方法を学ぶための研究対象です。ピアノロールは1つの作業例です。リポジトリにはもう一つ、より大きな作業例があります — examples/rogue/の中のローグライクゲームで、その長文マニュアルがdocs/guide/ROGUE.mdにあります。ピアノロールがloopスクリプトを1つ持つ一方、ローグライクは複数のスクリプトで動きます — ゲームティックループ、ダンジョン生成器、モンスターの振る舞いの集合、戦闘の数式、アイテムの効果、です。大きなアプリケーションがそのロジックを多くのKeleusmaスクリプトに分けて、1つのRustホストの裏で組み立てる方法を学ぶための研究対象です。
リファレンスドキュメント
ガイドは言語を説明しました。正確な参照のために、リポジトリのdocs/spec/ディレクトリに公式仕様があります — 形式文法、型システム、標準ライブラリ、命令セット、ワイヤフォーマット。docs/architecture/ディレクトリには設計の解説があります — 設計目標と保証を扱うLANGUAGE_DESIGN.md、ランタイムモデルを扱うEXECUTION_MODEL.md、です。質問が説明ではなく正確な答えを求めているとき、開くべきはこれらのドキュメントです。ガイドは言語を説明しました。正確な参照のために、リポジトリのdocs/spec/ディレクトリに公式仕様があります — 形式文法、型システム、標準ライブラリ、命令セット、ワイヤフォーマット。docs/architecture/ディレクトリには設計の解説があります — 設計目標と保証を扱うLANGUAGE_DESIGN.md、ランタイムモデルを扱うEXECUTION_MODEL.md、です。質問が説明ではなく正確な答えを求めているとき、開くべきはこれらのドキュメントです。
ホスト側とトラブルシューティングのリファレンス
第9部の先の組み込み作業については、docs/guide/COOKBOOK.mdがホスト側のレシピをまとめています。docs/guide/EMBEDDING.mdがホスト側の完全なリファレンスです。検証器がプログラムを却下するとき、docs/guide/WHY_REJECTED.mdが却下メッセージとその原因と書き換えを対応付けています。docs/guide/FAQ.mdは初期のユーザーが出会う粗削りな点と意外な点を集めています。docs/reference/ディレクトリには用語集と、Keleusmaが下敷きにしている学術的、産業的な仕事の中での位置を述べるRELATED_WORK.mdがあります。第9部の先の組み込み作業については、docs/guide/COOKBOOK.mdがホスト側のレシピをまとめています。docs/guide/EMBEDDING.mdがホスト側の完全なリファレンスです。検証器がプログラムを却下するとき、docs/guide/WHY_REJECTED.mdが却下メッセージとその原因と書き換えを対応付けています。docs/guide/FAQ.mdは初期のユーザーが出会う粗削りな点と意外な点を集めています。docs/reference/ディレクトリには用語集と、Keleusmaが下敷きにしている学術的、産業的な仕事の中での位置を述べるRELATED_WORK.mdがあります。
より広いリポジトリ
examples/ディレクトリにはより小さなプログラムがいくつもあって、それぞれが一つの組み込みテクニックを示しています。examples/rtos/ディレクトリには協調型リアルタイムマイクロカーネルがあって、組み込みハードウェアの上でKeleusmaを動かします — 言語が意図しているデプロイメントターゲットの最も明確な実演です。examples/ディレクトリにはより小さなプログラムがいくつもあって、それぞれが一つの組み込みテクニックを示しています。examples/rtos/ディレクトリには協調型リアルタイムマイクロカーネルがあって、組み込みハードウェアの上でKeleusmaを動かします — 言語が意図しているデプロイメントターゲットの最も明確な実演です。
締めくくり
Keleusmaは意図して小さい言語です。とても多くを省くからこそ、少しのことを確実に約束できます — プログラムは拍を保ち、決まった時間とメモリの予算の内側で、サイクルごとに、永遠に動き続ける、と。このガイドのすべてはその約束から派生していました。その内側で書かれるプログラムは、普通のプログラムには信頼を置けない場所でも信頼できます。Keleusmaは意図して小さい言語です。とても多くを省くからこそ、少しのことを確実に約束できます — プログラムは拍を保ち、決まった時間とメモリの予算の内側で、サイクルごとに、永遠に動き続ける、と。このガイドのすべてはその約束から派生していました。その内側で書かれるプログラムは、普通のプログラムには信頼を置けない場所でも信頼できます。
これがガイドの終わりです。次のステップは、何かを書くこと、です。