summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-03 21:28:47 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-03 21:28:47 -0800
commit336071aa972798af0252345d90e0a8d4acdc1e00 (patch)
treecf57a1f13fc6cc263717f9645a1c06d30d1a88a2 /lib.h
parent252111c171f300a7990bdc79f45dbe55aba0f36b (diff)
downloadtxr-336071aa972798af0252345d90e0a8d4acdc1e00.tar.gz
txr-336071aa972798af0252345d90e0a8d4acdc1e00.tar.bz2
txr-336071aa972798af0252345d90e0a8d4acdc1e00.zip
Expose lazy lists in TXR Lisp.
* eval.c (eval_init): New intrinsic functions. * lib.c (rplaca, rplacd, lcons_fun): New functions. (make_lazycons): Renamed to make_lazy_cons, relocated and turned into external function. (lazy_stream_func, lazy_stream_cons): Follow rename of make_lazycons. * lib.h (rplaca, rplacd, make_lazy_cons, lcons_fun): Declared. * txr.1: Stub sections created.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib.h b/lib.h
index ba8e1e37..4375fea5 100644
--- a/lib.h
+++ b/lib.h
@@ -297,6 +297,8 @@ val type_check3(val obj, int, int, int);
val class_check(val cobj, val class_sym);
val car(val cons);
val cdr(val cons);
+val rplaca(val cons, val new_car);
+val rplacd(val cons, val new_car);
val *car_l(val cons);
val *cdr_l(val cons);
val first(val cons);
@@ -329,6 +331,8 @@ mem_t *chk_malloc(size_t size);
mem_t *chk_realloc(mem_t *, size_t size);
wchar_t *chk_strdup(const wchar_t *str);
val cons(val car, val cdr);
+val make_lazy_cons(val func);
+val lcons_fun(val lcons);
val list(val first, ...); /* terminated by nao */
val consp(val obj);
val nullp(val obj);