From 284bb3680d566e26bf6d8ceabacb6634442cde55 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 11 Oct 2015 13:25:21 -0700 Subject: Hash table iterators exposed, with new macro. * eval.c (eval_init): Register hash-begin and hash-next intrinsics. * lisplib.c (hash_set_entries, hash_instantiate): New static functions. (lisplib_init): Register new tables in dl_table. * share/txr/stdlib/hash.tl: New file. * txr.1: Document with-hash-iter macro. --- eval.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'eval.c') diff --git a/eval.c b/eval.c index 6708fd2a..f16be7ec 100644 --- a/eval.c +++ b/eval.c @@ -4499,6 +4499,8 @@ void eval_init(void) reg_fun(intern(lit("hash-update-1"), user_package), func_n4o(hash_update_1, 3)); reg_fun(intern(lit("hash-revget"), user_package), func_n4o(hash_revget, 2)); + reg_fun(intern(lit("hash-begin"), user_package), func_n1(hash_begin)); + reg_fun(intern(lit("hash-next"), user_package), func_n1(hash_next)); reg_fun(intern(lit("eval"), user_package), func_n2o(eval_intrinsic, 1)); reg_fun(intern(lit("lisp-parse"), user_package), func_n5o(lisp_parse, 0)); -- cgit v1.2.3