リスト遊び―Emacsで学ぶLispの世界

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)

2008-06-08読了)

Mewの作者で知られる山本和彦氏の著書.

後半の「セル遊び」の章では,破壊的リスト操作関数による副作用について,consセルの図を交えて紹介している.本書の価値はこの章に集約されていると思う.それ以外の部分については,本書以外の入門書でも必ずといってもいいほど説明されている.


appendは第一引数のコピーをとって,第2引数は元のリストを共有しているということを初めて知った.普段気にしないけれど,実はとっても大事なことを気づかせてくれた.

Lispのデータ構造とその操作をconsセルを用いて考えることができるようになれば,Cのポインタがすんなり理解できるだろう.そういった意味でも,本書の価値は大きい.


あとがきに著者が書いているように,Lispはとっつきにくい言語である.そういった点で,この本はLispアレルギーになることなく,なんだLispの世界って簡単じゃん.じゃあ何ができるんだろう?という正のスパイラルを作ってくれる気がする.


Emacs Lispとなっているが,interactive関数を作ってほげほげしよう,という話題はないのであしからず.

トリビア

ちなみにnreverse, nconcatのnは「破壊的」という意味らしい.nukeが由来となっている説があるとか.