diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-07-21 22:14:23 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-07-21 22:14:23 -0700 |
commit | f10ed814f895f2527b99fc6a55057617a7750ba7 (patch) | |
tree | 7e0c421f9b284f195c8e3fae239ef84463d8f0ad /lisplib.c | |
parent | 701d5ff8c6a2d4ca6023be345faf4f085db6c689 (diff) | |
download | txr-f10ed814f895f2527b99fc6a55057617a7750ba7.tar.gz txr-f10ed814f895f2527b99fc6a55057617a7750ba7.tar.bz2 txr-f10ed814f895f2527b99fc6a55057617a7750ba7.zip |
Implementing caar, cadr, cdar and friends.
* lib.c (init): Call cadr_init.
* lisplib.c (dl_table, set_dlt_entries, dlt_register): Externalize.
* lisplib.h (dl_table, set_dlt_entries, dlt_register): Declared.
* Makefile (OBJS): Add cadr.o.
* cadr.c: New file.
* cadr.h: New file.
* gencadr.txr: New file.
* share/txr/stdlib/cadr.tl: New file.
* txr.1: Document cadr accessors.
Diffstat (limited to 'lisplib.c')
-rw-r--r-- | lisplib.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -38,9 +38,9 @@ #include "txr.h" #include "lisplib.h" -static val dl_table; +val dl_table; -static void set_dlt_entries(val dlt, val *name, val fun) +void set_dlt_entries(val dlt, val *name, val fun) { for (; *name; name++) { val sym = intern(*name, user_package); @@ -126,9 +126,9 @@ static val txr_case_instantiate(val set_fun) return nil; } -static val dlt_register(val dlt, - val (*instantiate)(val), - val (*set_entries)(val, val)) +val dlt_register(val dlt, + val (*instantiate)(val), + val (*set_entries)(val, val)) { return set_entries(dl_table, func_f0(func_f1(dlt, set_entries), instantiate)); } |