#% git grep alist->hash-table とかして該当するコードが一個も出てこなくて変だなぁとか悩むなどした。そりゃそおだよね
#おやいつの間にか手元にhash-tableというファイルが…
#身に覚えのないファイルがあちこちに転がってるのに気付いてにやにやしてましたわ。そこは1個のシンボルとして解釈して欲しい>*sh
#ちなみにHEADでは、ソースがSchemeでかつプリコンパイルされていなければ、(source-location <procedure>) とか (source-code <procedure>) とか出来ます。例:
#gosh> (source-location hash-table-map)
("/usr/share/gauche-0.9/0.9.5_pre1/lib/gauche/hashutil.scm" 43)
gosh> (source-code hash-table-map)
(define (hash-table-map hash proc) (check-arg hash-table? hash) (let ((eof (cons #f #f)) (i (%hash-table-iter hash))) (let loop ((r '())) (receive (k v) (i eof) (if (eq? k eof) r (loop (cons (proc k v) r)))))))
#alist->hash-tableはプリコンパイルされちゃってるので出てこないですが、そのうち出せるようにするつもり。
#本当だ。スゲ