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 /stdlib/doc-syms.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 'stdlib/doc-syms.tl')
-rw-r--r-- | stdlib/doc-syms.tl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/stdlib/doc-syms.tl b/stdlib/doc-syms.tl index 08dcc8e2..947e327a 100644 --- a/stdlib/doc-syms.tl +++ b/stdlib/doc-syms.tl @@ -9,6 +9,7 @@ ("*args-eff*" "N-03DEE18A") ("*args-full*" "N-03DEE18A") ("*child-env*" "N-01BB2097") + ("*define-struct-prelude*" "N-0083D695") ("*doc-url*" "N-0003D10B") ("*filters*" "N-00E6A902") ("*gensym-counter*" "N-0387B1B1") @@ -728,7 +729,7 @@ ("file-get-string" "N-02238370") ("file-put" "N-0041C2E5") ("file-put-buf" "N-02AE3A31") - ("file-put-json" "D-002A") + ("file-put-json" "D-0029") ("file-put-jsons" "D-007E") ("file-put-lines" "N-0041C2E5") ("file-put-string" "N-0041C2E5") @@ -783,7 +784,7 @@ ("float" "N-03237030") ("floatp" "N-03E9D6E1") ("flock" "N-004E5B3E") - ("floor" "D-0029") + ("floor" "D-002A") ("floor-rem" "N-02DE978F") ("floor1" "N-01ED20D1") ("flow" "N-02B2153E") |