diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-07-31 17:32:19 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-07-31 17:37:25 -0700 |
commit | 2f5e7a5b96039b7a00543b4056bab7ec85c8db4b (patch) | |
tree | f6aeb8eb6cb4ee3fad726348fdd27ae2e43ec885 /lib.h | |
parent | c7edf3a752bc2522589246ff64f5a00fb96315d6 (diff) | |
download | txr-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.h | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -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); |