LispとSchemeの通訳についてのフランスのクリスチャン・ケネク教授によるこの本は、英語圏で非常によく知られています。 Habréで数回滑りました。 しかし、ロシア語圏のコミュニティでは、Schemeは「コンピュータープログラムの構造と解釈」(別名SICP)に最もよく関連付けられています。 これは初心者向けの優れた教科書であり、使用される言語の実装に2つの章が当てられていますが、マクロ、継続、動的計算など、Lispにとって非常に興味深い重要なものの実装については説明しません。
「Lisp in Small Pieces」が私の手に落ちた後、数十ページ後に、そのようなダイヤモンドは不明瞭に消える価値がないことに気付きました。 そして、外国の本
を普及させる
ために宗派のより多くの支持者を得る最良の方法は、対象読者の母国語に翻訳することであるので、これは普通に読む代わりに私が取り上げたものです。 最後に、翻訳、レイアウト、校正が完了しました。 努力の結果はあなたの注意に示されます。
読者の期待:
- 37,000以上のブラケット!
- Schemeのすべての構成のセマンティクスとその親類を解析します。
- その表示的意味論の分析を含む-ラムダ計算に関する言語の正式な数学的記述。
- 11個のインタープリターと2個のコンパイラー(そこに記載されているVMのマシンコードとCコードへのトランスレーター);
- 再帰の本質、クロージャーと環境、継続と呼び出しのスタック、マクロとメタ言語の実装、および少しの反射と自己修正コードの説明。
- Lispの歴史と言語の設計でなされた決定の理由への多くの遠足;
- 著者自身のCLOSライクなオブジェクトシステム(そしてもちろんその実装)。
- 時々、「はい、これは言語YのXです」という感覚があります。
- 230アイテムのトピックに関するリファレンス。
一般に、ブラケットのファンだけでなく、プログラミング言語の実装の基本に関する優れたチュートリアルです。
(
tl; dr: PDF 、
EPUB 、
HTML )
何らかの理由で(少なくとも私は感じました)、独自の実装を書くことに関するトピックに関する初心者向けのさまざまな記事で、解析などの「退屈な」ことに注意が払われます。プログラミング言語の開発は楽しく創造的です。」 関心のある人の頭に入れて、彼の希望を確認し、よく知られている
チェックリストのようなもので日常を疲れさせたり夢を壊したりしないようにする必要があるのは、この考えです。 結局のところ、プログラミングがおもしろければ、プログラミング言語のプログラミングに興味があります。 ソフトウェア開発者が彼のプログラムの神なら、言語開発者は...すごい! 世俗的な事柄は後の世話をすることができます。
Schemeは実装が簡単なことで知られています。 それ以上に、この言語は最も耐えられないプログラミング言語のタイトルを正しく持っています:12を超える人気の(相互に互換性のない)実装、さらにはさまざまな程度のハッキングされた工芸品、そしておそらく何百もの学生通訳が毎年引き渡されます。 そのため、Scheme自体にSchemeを実装すると、
言語の開発プロセスに完全に集中でき、パーサー、適切な型システム、ガベージコレクターなどについて(時期尚早に)考える必要がなくなります。 これはまさにこのチュートリアルが教えていることであり、興味のある人には低レベルの実装の詳細を残しますが、さらに深くすべきことです。
著者との合意により、本は
CC BY-ND 3.0の条件の下で配布されます。 本のソースコード(LaTeXおよび
不器用な HTML)とアセンブリ手順は
Githubにあります。 そこから、リリースから、
PDFおよび
EPUB (マッチボックスのサイズの画面の
オプション)をダウンロードできます。
ここでブラウザ
で本を読むことができ
ます 。 枯れ木のバージョンはウィッシュリストにあります。
残念ながら、テストに必要な数のさまざまなデバイスが不足していることと、EPUBのハードウェアサポートの一般的な不備のために、EPUBバージョンの品質を保証できません。 おそらく、完全なブラウザを持たないすべてのものについては、テキストがクロールされ、キットで提案されているフォントがCSSの半分とともに無視され、すべてがひどく見えます。 リクエストに応じて、特定の画面サイズと解像度のPDFにスタンプを付けることができます。 (技術文献用の電子書籍の最も適切な形式についてのコメントを喜んで議論します。)