quote
- 最近、common lispをずっと触っている。
都度、そういうことかという事か!と納得が面白くてハマっている状況なのだが、今回はquoteについて。
Lispでは全てのものをリストとして扱う。そしてそれは2種類に分けられカッコに包まれる。
- コードのリスト
(print foo)
- データのリスト
'(foo bar)
- 違いはデータのリストの冒頭にシングルクォートがくっ付く事。
コードのリストはリスト内の先頭の要素が関数として、残りの要素が引数として解釈される。
今なるほどとなったのは次の分は、実はシンタックスシュガーで
'(foo bar)
元の文に展開すると
(quote (foo bar))
quoteを関数だと理解するとつまり、データのリストもコードと同じ構造。シンタックスだったのか!と。
- 前置きなしに学び始めのLispについて書き始めたが、その辺も近々書いておきたい。