Let Over Lambda pdf版
3,520円 (3,200円+税)
関連サイト
本書の関連ページが用意されています。
内容紹介
Let Over Lambdaは世にある中でも最も過激なコンピュータプログラミング書籍の1つだ。基礎から始まり、最も高度な言語、すなわちCommon Lispの最も高度な機能を説明する。トップ1%のプログラマだけがLispを使う。そして本書を理解すれば、そのLispプログラマのトップ1%になるのだ。本書は、プログラムを書くプログラムであるマクロに関するものだ。マクロこそが、Lispを世界で最も偉大な言語たらしめているものなのだ。正しく使えば、驚くべき抽象化の技法、プログラマの生産性、コードの効率、そして他所では耳にすることすらないようなセキュリティをもたらしてくれる。マクロは、他の言語では全く不可能なことを可能にしてくれるのだ。もしあなたが探しているのが、現代のどんな言語を使うにせよ、常識的なテクニックを切り刻み直すだけの無味乾燥としたコーディングマニュアルなのだとしたら、本書はあなたには向かない。本書は、プログラミングに関する我々の知識を押し広げるためのものだ。本書はあなたがたった今抱えている問題を解決する助けとなる有用なマクロ技能を教えるが、同時に読者を楽しませ、刺激するようにも設計されている。Lispとは、あるいはプログラミング自体がいったい何のためのものなのかを疑問に思ったことがあるなら、本書こそがあなたの探し求めていたものなのだ。
書誌情報
- 著者: ダグ・ホイト(Doug Hoyte)(著), 株式会社タイムインターメディアHOPプロジェクト(訳)
- 発行日: 2016-03-10 (紙書籍版発行日: 2009-07-15)
- 最終更新日: 2016-03-10
- バージョン: 1.0.0
- ページ数: 350ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: エスアイビー・アクセス
対象読者
著者について
ダグ・ホイト(Doug Hoyte)
ダグ・ホイトはカナダのブリティッシュコロンビア大学で計算機科学の学位を取得した。彼はAntiweb Webサーバの開発とサポートを行うHoytechの代表であり、個人的にも数多くのフリーソフトウェアをWebサイトwww.hcsw.orgで公開している。また、Nmapセキュリティスキャナの活発な開発者のひとりでもある。カナダのバンクーバーで開催されたConSecWestカンファレンスにおいてコンピュータセキュリティ道場で教え、西インド諸島ジャマイカでもコンピュータプログラミングのクラスを担当した。現在、カナダのトロントに在住している。
目次
第1章 クロージャ
- 1.1 クロージャ指向プログラミング
- 1.2 環境とエクステント
- 1.3 レキシカルスコープとダイナミックスコープ
- 1.4 汝、それをLambdaたらしめよ
- 1.5 Let Over Lambda
- 1.6 Lambda Over Let Over Lambda
- 1.7 Let Over Lambda Over Let Over Lambda
第2章 マクロの基礎
- 2.1 反復的な開発
- 2.2 ドメイン固有言語
- 2.3 制御構造
- 2.4 自由変数
- 2.5 望まぬ捕捉
- 2.6 一度だけ(once-only)
- 2.7 構文の二重性
第3章 リードマクロ
- 3.1 読み込み時の実行時
- 3.2 バッククォート
- 3.3 文字列を読む
- 3.4 CL-PPCRE
- 3.5 循環式
- 3.6 リーダーのセキュリティ
第4章 プログラムするプログラム
- 4.1 Lispは関数型ではない
- 4.2 トップダウンプログラミング
- 4.3 暗黙のコンテキスト
- 4.4 macroletを使ったコードウォーク
- 4.5 再帰的展開
- 4.6 再帰的解決
- 4.7 dlambda
第5章 アナフォリックマクロ
- 5.1 さらなる照応?
- 5.2 シャープバッククォート
- 5.3 aletと有限状態機械
- 5.4 間接参照の連鎖
- 5.5 実行時修正クロージャ
- 5.6 サブレキシカルスコープ
- 5.7 パンドラのマクロ
第6章 マクロの効率
- 6.1 Lispは速い
- 6.2 マクロがLispを速くする
- 6.3 ディスアセンブラと仲良くなる
- 6.4 ポインタスコープ
- 6.5 tlistとコンスプール
- 6.6 ソーティングネットワーク
- 6.7 コンパイラの書き方とベンチマーク
第7章 Lispを動かすForthを動かすLisp
- 7.1 設計された異形
- 7.2 コンス・スレッデッドコード
- 7.3 定義された構文の二重性
- 7.4 Forthで行こう
- 7.5 さらにForthで行こう5
- 7.6 Lispで行こう