ダグ・ホイト : LET OVER LAMBDA

作成日: 2010-03-21
最終更新日:

概要

Common Lisp の特長であるマクロを十分に活かす技法を余すところなく述べる。

感想

マクロは難しい。それ以前に Common Lisp が難しい。あのカッコが難物である。 たとえば、同書 30 ページの BLOCK-SCANNER という関数を見てみよう。定義は次の通り。


(defun block-scanner (trigger-string)
  (let* ((trig (coerce trigger-string 'list))
         (curr trig))
    (lambda (data-string)
      (let ((data (coerce data-string 'list)))
        (dolist (c data)
          (if curr
            (setq curr
                  (if (char= (car curr) c)
                    (cdr curr) ; next char
                    trig))))   ; start over
        (not curr))))) ; return t if found

結局これだけのコードを入力するのに骨が折れた。徐々にやっていこう。

書 名 LET OVER LAMBDA
著 者ダグ・ホイト
訳 者株式会社タイムインターメディアHOPプロジェクト
発行日2009年7月15日(初版)
発行元エスアイビー・アクセス
定 価3200円(本体)
サイズA5版
ISBN978-4-434-13363-3
その他越谷市立南越谷図書館で借りて読む。

まりんきょ学問所読んだ本の記録 > ダグ・ホイト : LET OVER LAMBDA


MARUYAMA Satosi