2022-01-01から1年間の記事一覧

Common Lispで関数呼出を辿る

通常プログラムを書いていると、関数を書いて、その関数を呼び出す関数を書いて、というような木構造とか階層構造とか複雑になっていく。 これを辿る方法について。 実行環境はlemのslime上で、ccl 1.12.1が前半でsbcl 2.2.9が後半。 slimeの挙動 slimeには …

valuesのvalues

Common Lispには多値が存在するが、多値を要素にもつ多値が扱えるのかどうか何となく気になったので実験。 実行環境はUbuntu 22.04 amd64とCCL 1.12.1。 多値を返す関数と多値の受け取り。 (defun f () (values :alfa :bravo)) (multiple-value-bind (a b) (…