人気ブログランキング | 話題のタグを見る
On Lisp 第11章 古典的なマクロ
 だんだんマクロの規模が大きくなってきた。がんばってついていこう。

 ちなみに、最近、仕事でコードを書いていて、「あ、これマクロでやれそう (やりたい)」と考える事が多くなってきた。徐々に洗脳が進んでいるらしい。

よく使われる種類のマクロ
- コンテキストを作るマクロ
- 条件付き評価のためのマクロ
- 反復評価のためのマクロ

11.1 コンテキストの生成
- コンテキストの種類
1. レキシカル環境
2. 世界の状態
- スペシャル変数の値
- データ構造の内容
- Lisp外部の状態
- etc...

11.2 with-系マクロ
- コンテキスト生成マクロの名前は with- で始めることが多い
- unwind-protect
- 複雑なマクロは、関数とマクロの組み合わせで書く方が実用的
# dynamic-extent宣言ってなに??
# あとで読む: Common Lisp のスコープとエクステント (PDF)

11.3 条件付き評価
- 定石のうち、明確なものと効率的なものとの選択に直面したときに、
前者を後者に変換するマクロを書く事で、切り抜けられる

11.4 反復
- 本体となる指揮を執って、それを反復評価するオペレータ
=> マクロでのみ表現可能

11.5 複数の値にわたる反復
# ちょっとでかいマクロが多くて、あまりついていけなかった・・・
# 要復習

11.6 マクロの必要性
- 引数をクロージャで括って、評価から保護する方法があるよ
* でも、マクロで書いた方がすっきりする場合多数



On Lisp
Paul Graham

4274066371
オーム社 2007-03
売り上げランキング : 82240
おすすめ平均 star

Amazonで詳しく見る
by G-Tools
by fkmn | 2009-11-20 19:27 | 一人読書会
<< On Lisp 第12章 汎変数 「入門Git」は噂通りの神本だった >>


とあるWebアプリケーションエンジニアの日記

by fkmn
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX