タグ

Common Lispに関するk1LoWのブックマーク (5)

  • Common Lisp クエックブック

    素敵な断片 Common Lisp の素敵な断片です。 数値のコンマ編集 (format nil "~:D" 1000000) ;; ==> "1,000,000" 標準出力を束縛する (with-output-to-string (*standard-output*) (write-string "Hello ") (format t "~{~a~^, ~}" '(1 2 3))) ;; ==> "Hello 1, 2, 3" アナフォリックマクロ Anaphora より抜粋。マクロを定義するマクロ。it を予約語であるかのように使う。 (defmacro anaphoric (op test &body body) `(let ((it ,test)) (,op it ,@body))) (defmacro aif (test then &optional else) `(anapho

  • loop マクロの使用例 - http://rubikitch.com/に移転しました

    erc以外のバッファに対してkill-bufferする関数 - IMAKADO::BLOG 無駄が多いのが気になったので添削。 loop 使ってるのに mapcar は無駄なループ。 for var = でそのループにローカルな変数となる。 when (not 〜) は unless で。 collect しなくても do で十分。 ついでに正規表現も統一。 (require 'cl) (defun my-kill-buffers () (interactive) (loop for buf in (buffer-list) for bn = (buffer-name buf) unless (string-match (rx bol (or (+ space) "#")) bn) do (kill-buffer buf)))

    loop マクロの使用例 - http://rubikitch.com/に移転しました
  • M.Hiroi's Home Page / xyzzy Lisp Programming

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Scheme、Common Lisp、Emacs Lispの比較

    「王女アテー姫を含めてハザールの男女は、 この能力によって朝ごと変身を済ませ、 そのたびに、見たこともない斬新な顔で立ち現れる。 だから近親者同士でさえ見分けがつかないほどだ。 旅行者の見聞はこれとはまったく異なり、ハザールの顔つきはどれもそっくりで、 しかも歳を重ねても容貌が変わらない。それゆえ人違いの混乱や厄介が絶えない。 どちらにせよ、結果は同じことで、ハザール族の顔はまず覚えられないし、 覚えても無益となる。」 ミロラド・パヴィチ「ハザール事典」 Lispには数限りないほどの方言がある (例えば、 http://dreamsongs.com/NewFiles/Hopl2Slides.pdf とか参照)。 そのなかで普及している Lispというと、 Scheme、Common Lisp、Emacs Lispの3つだろう。 ユーザの多さでいうと、多い順に Emacs Lisp、Comm

  • Common Lisp: loopマクロ用法抄

    GrahamのANSI Common Lispでは嫌われていて碌に説明のないloopマクロ。一方、Practical Common Lispでは対照的に好んで用いられていて、全編に渡って頻繁に使われている。しかしloopマクロは難しいという意識があるのかその説明は第22章とかなり後回しにされており、ちぐはぐな感を受ける。ここでは、LOOP for Black-Belts という題のつけられたその章で解説されているloopマクロの用法を整理してみた。 ANSI Common Lispでの黒魔術扱いに敬遠していたloopマクロだったが、こうして整理してみるとそれほど難しく考えずとも便利に使うことができそうだ。 目次 繰り返し 計数繰り返し コレクション内繰り返し 変数更新しながら繰り返し ループ終了条件の追加 アクション 集約 ループ内ローカル変数 任意の式の実行 条件分岐 ループ中断 その他

    Common Lisp: loopマクロ用法抄
    k1LoW
    k1LoW 2008/09/24
    clパッケージで対応しているloopと同じ挙動かもしれないのでブクマ
  • 1