[xyzzy:07537] stable-sort について
- Subject: [xyzzy:07537] stable-sort について
- From: 大久保博之 <ohkubo@xxxxxxxxxxxxxxxxxxxxx>
- X-mailer: EdMax Ver2.84.2F
亀井さん、メーリングリストの皆さん、こんにちは。
大久保と申します。久しぶりにメールさせてもらいます。
xyzzy 0.2.2.210 にて lisp モードのキーワードリストを自分で
更新しようと思い、とりあえず、fboundp、boundp、macro-function 等での
判定を行わずに lisp package の全ての外部シンボルを得ようと、
次のコードを評価しました。
(let (symbols)
(do-external-symbols (s (find-package 'lisp))
(push (format nil "~A" (symbol-name s)) symbols))
(stable-sort symbols #'string-lessp)
(dolist (s symbols)
(format t "~A\n" s)))
その結果、
simple-string
simple-string-p
simple-vector
...
yes-no-or-cancel-p
yes-or-no-p
zerop
と、simple-string 以降のシンボルのみ出力されました。
試しに sort するのをやめ、以下のコードを評価してみました。
(let (symbols)
(do-external-symbols (s (find-package 'lisp))
(push (format nil "~A" (symbol-name s)) symbols))
; (stable-sort symbols #'string-lessp)
(dolist (s symbols)
(format t "~A\n" s)))
その結果、
simple-string
make-symbol
nth
...
round
simple-string-p
sharing-violation-pathname
と、simple-string を先頭とし、恐らく全ての外部シンボルが出力されました。
(eq #'stable-sort #'sort) が t なので当前ですが、stable-sort を sort に
変更しても出力結果はかわりませんでした。
lisp にあまり明るくないため、私が stable-sort の使い方を間違えているのか、
stable-sort の挙動がおかしいのか、sort する際に領域を拡大するような指定が
存在するのかわからない状態です。
以上ご教授宜しくお願い致します。
---
大久保博之(OHKUBO Hiroshi)
konata_o@xxxxxxxxxxx
http://members.tripod.co.jp/ohkubo/xyzzy/index.html