diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-11-03 20:28:27 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-11-03 20:28:27 -0700 |
commit | f9298daa51f5800f31ee7cdca5797ee57ae2e163 (patch) | |
tree | 4caf0eb48db52c84a2141cf18151ad2c207c1f29 /tests/012/iter.tl | |
parent | 00d7b468e94d23646bb58b1774f5bec33b7c9fb1 (diff) | |
download | txr-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/iter.tl')
0 files changed, 0 insertions, 0 deletions