quicklisp 助かるわ〜。

どもです。
「let*」のインデントがおかしくなり,lisp-indent-error-function みたいな関数がvoidってる
とかいって怒られ,それを直そうと試行錯誤して,いくつも NTEmacs を起動したりしていたら,
いつの間にやら,session 情報がふっとんでいました!


しかし,同じ轍を踏みたくない whitypig さんは,というか,同じ轍を数回踏んでやっとこさ
学習した whitypig さんは,30分おきに,session 情報を別ファイルに書き出しているので,
そこから,session 情報を復元して事なきをえましたとさ。
はっはっは。
はてしてその方法とは!?
大風呂敷広げてもしゃーないので,その対策を書いた記事へのリンク。
http://d.hatena.ne.jp/whitypig/20111225/1324782709
閑話休題

ダイクストラ法を使いたい! priority queue を使いたい!

そんな願いも quicklisp さんのおかげでばっちりちり足。

CL-USER> (ql:system-apropos "queue")
#<SYSTEM cl-speedy-queue / cl-speedy-queue-20111001-git / quicklisp 2011-10-01>
#<SYSTEM jpl-queues / jpl-queues-0.1 / quicklisp 2011-10-01>
#<SYSTEM pcall-queue / pcall-0.3 / quicklisp 2011-10-01>
#<SYSTEM queue / gbbopen-20111001-svn / quicklisp 2011-10-01>
NIL
CL-USER> (ql:system-apropos "heap")
#<SYSTEM binomial-heap / binomial-heap-20110219-git / quicklisp 2011-10-01>
#<SYSTEM cl-heap / cl-heap_0.1.4 / quicklisp 2011-10-01>
#<SYSTEM cl-heap-tests / cl-heap_0.1.4 / quicklisp 2011-10-01>
#<SYSTEM com.informatimago.common-lisp.heap / com.informatimago-20110829-git / quicklisp 2011-10-01>
NIL
CL-USER> (ql:quickload 'cl-heap)
To load "cl-heap":
  Load 1 ASDF system:
    cl-heap
; Loading "cl-heap"

(CL-HEAP)


さて,使えるようになったものの,その使い方がわからんとどにもならん。
最初 cl-heap のプロジェクトのページを見ていましたが,
README がどっかにあるだろうと思い,探しました。んだらありましたよ。
ここね。

% pwd
/home/whitypig/quicklisp/dists/quicklisp/software/cl-heap_0.1.4

% ls
AUTHORS           ChangeLog    cl-heap-tests.asd  COPYING              heap.lisp     priority-queue.lisp  tests.lisp
binary-heap.lisp  cl-heap.asd  condition.lisp     fibonacci-heap.lisp  package.lisp  README


README を読んでなるほどと。
んで,なぜか最短経路を求められるダイクストラ法を使って無事 Proble82 を解決。
よっしゃよっしゃ。
quicklisp とか cl-heap とか,オープンソースソフトウェアの作者様達に感謝!