summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-07-31 17:32:19 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-07-31 17:37:25 -0700
commit2f5e7a5b96039b7a00543b4056bab7ec85c8db4b (patch)
treef6aeb8eb6cb4ee3fad726348fdd27ae2e43ec885 /lib.h
parentc7edf3a752bc2522589246ff64f5a00fb96315d6 (diff)
downloadtxr-2f5e7a5b96039b7a00543b4056bab7ec85c8db4b.tar.gz
txr-2f5e7a5b96039b7a00543b4056bab7ec85c8db4b.tar.bz2
txr-2f5e7a5b96039b7a00543b4056bab7ec85c8db4b.zip
txr-014 2009-10-05txr-014
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib.h b/lib.h
index 36081ad8..20cb2a77 100644
--- a/lib.h
+++ b/lib.h
@@ -159,8 +159,8 @@ extern obj_t *t, *cons_t, *str_t, *chr_t, *num_t, *sym_t, *fun_t, *vec_t;
extern obj_t *stream_t, *lcons_t, *var, *regex, *set, *cset, *wild, *oneplus;
extern obj_t *zeroplus, *optional, *compound, *or;
extern obj_t *skip, *trailer, *block, *next, *fail, *accept;
-extern obj_t *all, *some, *none, *maybe, *collect, *until, *coll;
-extern obj_t *output, *single, *frst, *lst, *empty, *repeat, *rep;
+extern obj_t *all, *some, *none, *maybe, *cases, *collect, *until, *coll;
+extern obj_t *define, *output, *single, *frst, *lst, *empty, *repeat, *rep;
extern obj_t *flattn, *forget, *mrge, *bind, *cat, *dir;
extern obj_t *zero, *one, *two, *negone, *maxint, *minint;
@@ -210,6 +210,7 @@ obj_t *consp(obj_t *obj);
obj_t *nullp(obj_t *obj);
obj_t *atom(obj_t *obj);
obj_t *listp(obj_t *obj);
+obj_t *proper_listp(obj_t *obj);
obj_t *length(obj_t *list);
obj_t *num(long val);
long c_num(obj_t *num);
@@ -226,6 +227,8 @@ obj_t *max2(obj_t *anum, obj_t *bnum);
obj_t *min2(obj_t *anum, obj_t *bnum);
obj_t *string(char *str);
obj_t *mkstring(obj_t *len, obj_t *ch);
+obj_t *mkustring(obj_t *len); /* must initialize immediately with init_str! */
+obj_t *init_str(obj_t *str, const char *);
obj_t *copy_str(obj_t *str);
obj_t *stringp(obj_t *str);
obj_t *length_str(obj_t *str);
@@ -239,7 +242,10 @@ obj_t *cat_str(obj_t *list, obj_t *sep);
obj_t *trim_str(obj_t *str);
obj_t *string_lt(obj_t *astr, obj_t *bstr);
obj_t *chr(int ch);
+obj_t *chrp(obj_t *str);
int c_chr(obj_t *chr);
+obj_t *chr_str(obj_t *str, obj_t *index);
+obj_t *chr_str_set(obj_t *str, obj_t *index, obj_t *chr);
obj_t *sym_name(obj_t *sym);
obj_t *make_sym(obj_t *name);
obj_t *intern(obj_t *str);
@@ -282,6 +288,9 @@ void cobj_print_op(obj_t *, FILE *); /* Print function for struct cobj_ops */
obj_t *assoc(obj_t *list, obj_t *key);
obj_t *acons_new(obj_t *list, obj_t *key, obj_t *value);
obj_t *alist_remove(obj_t *list, obj_t *keys);
+obj_t *alist_remove1(obj_t *list, obj_t *key);
+obj_t *copy_cons(obj_t *cons);
+obj_t *copy_alist(obj_t *list);
obj_t *mapcar(obj_t *fun, obj_t *list);
obj_t *mappend(obj_t *fun, obj_t *list);
obj_t *sort(obj_t *list, obj_t *lessfun, obj_t *keyfun);