mokeheheのScheme日記

ツッコミ、添削大歓迎です。いろいろ教えてください。

2008-01-02

[] Practical Common Lisp第4章 シンタックスとセマンティクス (2)

関数呼び出し
特殊オペレータ
  • 関数だと、呼び出される前に引数がすべて評価されてしまうので、ifなどが表現できない
マクロ

特殊オペレータとマクロって何が違うの?いっしょでよくない?

真、偽、そして等値性
  • eq: オブジェクト同値。実装依存なので、数値やキャラクタの比較に使うべきではない。
  • eql: 同じクラスのオブジェクトの2つの値が等しいか。同じクラスで値が等しい場合は真であることが保証される。別のクラスの場合等しくないことが保証される。
  • この本では常にeqlを使う
  • equal: リストや文字列の中身を見て比較してくれる。あとはeqlと一緒
  • equalp: 大文字小文字を同一とみなす。整数と浮動小数も。リストの要素同士がequalpの場合、真。あとはeqlと一緒
Lispコードの整形
  • 文法や意味的にではなく、コードの読み書きのためにインデント重要
  • 閉じ括弧は別の行に書くな
トラックバック - http://sicp.g.hatena.ne.jp/mokehehe/20080102