2009年1月2日金曜日

【ELp入門】3 関数定義の書き方


  • 前説

    • 「関数定義を持つシンボルを、単に関数と呼ぶ」このように断わっておいてくれるのは初学者にとって親切だ。

  • 3.1 スペシャルフォームdefun

    • Elispでは (defun hoge (piyo) puyo)の(piyo)を引数リスト(argument list)と呼ぶようだ。CLだと正式にはパラメータリストで、歴史的にいうとラムダリストもあり。

  • 3.2 関数定義のインストール

    • defunを評価すると関数がインストールされる。

  • 3.3 関数を対話的にする。

    • スペシャルフォームinteractiveの紹介。
    • 「対話的関数を呼び出すのは、(中略)副作用のためであり」 なるほど。

  • 3.4 interactiveの他のオプション

    • interactive、便利だなぁ。関数にまつわるEmacs的インターフェイスは、ほぼこれで尽きてるんじゃないか???

  • 3.5 コードの恒久的インストール

    • ファイルの中のコードはloadで読み込めるようだ。

  • 3.6 let

    • スペシャルフォームlet。
    • 普通の使い方では特にCLとの違いはなし。ただし、progvは存在しないし、そのエクステントは動的なんだろう。(調べてはいない)

  • 3.7 スペシャルフォームif
  • 3.8 If-then-else式

    • if-thenとif-then-elseを個別に順番に説明するのは丁寧だ。
    • シンボルの比較にequalを使うのは不自然だ。
    • CLとの有意な違いはなし。

  • 3.9 Lispの真偽値

    • CLとの有意な違いはなし。

  • 3.10 save-excursion

    • save-excursionは関数。
    • save-excursionはwith-excursionという感じだな。


こつこつ。

0 件のコメント: