diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-08-17 11:04:11 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-08-17 11:04:11 -0700 |
commit | dc5fd66df1953e68571d369d2db2736dbef924e6 (patch) | |
tree | 3c6fbb243042bd5e37dfb0d6bfdbf9503603ba17 /lisplib.c | |
parent | 62f7bad2bd19b62bd09d02d2f452dc102d7d8097 (diff) | |
download | txr-dc5fd66df1953e68571d369d2db2736dbef924e6.tar.gz txr-dc5fd66df1953e68571d369d2db2736dbef924e6.tar.bz2 txr-dc5fd66df1953e68571d369d2db2736dbef924e6.zip |
list-builder: dequeue capabilities with del/del* operators.
* lisplib.c (build_set_entries): Add buildn for autload, and
intern del and del* symbols.
* share/txr/stdlib/build.tl (list-builder): New methods del
and del*.
(sys:list-builder-flets): Generate flet for del*.
(sys:build-expander): New function, consisting of expansion
logic previously in build function. Macrolet added for del.
(build): Call sys:build-expander.
(buildn): New macro.
* txr.1: Documented.
Diffstat (limited to 'lisplib.c')
-rw-r--r-- | lisplib.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -426,11 +426,13 @@ static val awk_instantiate(val set_fun) static val build_set_entries(val dlt, val fun) { val name[] = { - lit("list-builder"), lit("build-list"), lit("build"), nil + lit("list-builder"), lit("build-list"), lit("build"), lit("buildn"), nil }; val name_noload[] = { lit("head"), lit("tail"), lit("add"), lit("add*"), lit("pend"), - lit("pend*"), lit("ncon"), lit("ncon*"), lit("get"), nil + lit("pend*"), lit("ncon"), lit("ncon*"), lit("get"), + lit("del"), lit("del*"), + nil }; set_dlt_entries(dlt, name, fun); |