Common Lisp

Lispにマップリテラルが無かった本当の理由

Common LispやSchemeでハッシュテーブルリテラルが無いのには理由がある。最大の理由は、「ハッシュテーブルを再現するには、各要素だけでなくハッシュ関数および比較関数の情報が必要」という点だろう。 http://blog.practical-scheme.net/shiro/20100219-m…

SBCLをインストール

速いと噂のSBCLをインストールした.と言っても,バイナリをインストールしただけでコンパイルはしてない. Steel Bank Common Lisp SBCLはCommon Lispで書かれているので,自分でコンパイルするのは面倒臭そうだった(GNU CLISP他いくつかのANSI準拠のコン…

練習にqsort

(defun qsort (list cmp) (if list (let* ((pivot (car list)) (list (cdr list)) (f (lambda (x) (funcall cmp pivot x)))) (append (qsort (remove-if f list) cmp) (cons pivot (qsort (remove-if-not f list) cmp)))) nil)) (prin1 (qsort '(3 1 4 1 5 9…

CLISPをソースコードからインストール

いろいろインストールが必要な上に,手際が悪くてかなり手間取った.手順の記録も適当なので注意. CLISPのソースを入手.CLISP - an ANSI Common Lisp - Browse Files at SourceForge.net $ tar -jxvf clisp-2.48.tar.bz2 $ cd clisp-2.48/ $ ./configure (…