diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-12-03 21:28:47 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-12-03 21:28:47 -0800 |
commit | 336071aa972798af0252345d90e0a8d4acdc1e00 (patch) | |
tree | cf57a1f13fc6cc263717f9645a1c06d30d1a88a2 /lib.h | |
parent | 252111c171f300a7990bdc79f45dbe55aba0f36b (diff) | |
download | txr-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.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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); |