summaryrefslogtreecommitdiffstats
path: root/stdlib/doc-syms.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 /stdlib/doc-syms.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 'stdlib/doc-syms.tl')
-rw-r--r--stdlib/doc-syms.tl5
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")