From f10ed814f895f2527b99fc6a55057617a7750ba7 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 21 Jul 2015 22:14:23 -0700 Subject: 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. --- lisplib.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lisplib.c') diff --git a/lisplib.c b/lisplib.c index bc00b6a1..7fc92021 100644 --- a/lisplib.c +++ b/lisplib.c @@ -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)); } -- cgit v1.2.3