structure の conc-name

structure の定義は (get ' 'si:structure-definition) で得られるのはわかったけど、そっから conc-name を見つける方法がわからなくて struct.l を3時間くらい読んでみた。結果、structure の定義を作ってる si::*make-structure-definition なる関数に conc-name を渡してない(というか create-accessors にしか使ってない)ので直接的には無理っぽい。

structure-definition から slot 名を集めて、xxx- という symbol を do-symbols で探し集めて、とかはできそうではあるが、、、

struct.l 読んだメモ

なんかすげーしんどいんでざっと眺めた程度なんではっきりわからんけど、気になったトコ。

typed structure というのは実体が sequence な structure みたい

何に使うんだろう。特定のケースではパフォーマンスがよろしいのだろうか。

:include の2つ目以降で slot 定義を上書きできるっぽい

多少制限はあるようだが。include される(親の)方の slot 定義で :read-only が non-nil だと上書きされないというかエラーになるっぽい。

暇ができたらゆっくり読んでみたい。老後の楽しみに取っておくか。