summaryrefslogtreecommitdiffstats
path: root/tests/012/type.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-11-03 20:28:27 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-11-03 20:28:27 -0700
commitf9298daa51f5800f31ee7cdca5797ee57ae2e163 (patch)
tree4caf0eb48db52c84a2141cf18151ad2c207c1f29 /tests/012/type.tl
parent00d7b468e94d23646bb58b1774f5bec33b7c9fb1 (diff)
downloadtxr-f9298daa51f5800f31ee7cdca5797ee57ae2e163.tar.gz
txr-f9298daa51f5800f31ee7cdca5797ee57ae2e163.tar.bz2
txr-f9298daa51f5800f31ee7cdca5797ee57ae2e163.zip
New feature: struct preludes.
A struct prelude definition associates one or more future defstruct (by struct name) with clauses which are implicitly inserted into the defstruct. It is purely a macro-time construct, customizing the expansion behavior of defstruct. * stdlib/struct.tl (*struct-prelude, *struct-prelude-alists*): New special variables holding hash tables. (defstruct): Before processing slot-specs, augment it with the contents of the prelude definitions associated with this struct name. (define-struct-prelude): New macro. * autoload.c (struct_set_entries): define-struct-prelude is interned and triggers autoload of struct module. * tests/012/oop-prelude.tl: New file. * tests/012/oop-prelude.expected: Likewise. * txr.1: Documented. * stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'tests/012/type.tl')
0 files changed, 0 insertions, 0 deletions