|Arc Cross Reference|
[procedure] setforms place-form
[procedure] metafn place-form
[procedure] expand-metafn-call expanded-func args
[procedure] expand= place-form val
[procedure] expand=list terms
Generalized setter support (sort of scheme:SRFI-17). I guess these belong to "under-the-hood" and most casual users don't need to care.
setforms takes the form represents place and returns the triplet (as the one returned by expansion procedure given to defset). The reason you need this is that you want to analyze the case that the car of place-form isn't a symbol.
(Comment: It's a bit surprising to me that PG took CL-ish approach over SRFI-17 approach here, since he appears to emphasize symplicity over performance unless the performance is really an issue. SRFI-17 is surprisingly simple to implement and performs reasonably well; the penalty drawback is that if you want to inline the setter functions you have to tweak the engine. -- shiro)