projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/telegps-v2.0: Set CPU clock to 48MHz instread of 96MHz
[fw/altos]
/
src
/
lisp
/
ao_lisp_builtin.c
diff --git
a/src/lisp/ao_lisp_builtin.c
b/src/lisp/ao_lisp_builtin.c
index 4c845307b45ac5b101b07faf7923646778a29c31..902f60e2e9b6f83b355264e875ad865096a1ab48 100644
(file)
--- a/
src/lisp/ao_lisp_builtin.c
+++ b/
src/lisp/ao_lisp_builtin.c
@@
-87,7
+87,13
@@
static const ao_poly builtin_names[] = {
[builtin_save] = _ao_lisp_atom_save,
[builtin_restore] = _ao_lisp_atom_restore,
[builtin_call_cc] = _ao_lisp_atom_call2fcc,
[builtin_save] = _ao_lisp_atom_save,
[builtin_restore] = _ao_lisp_atom_restore,
[builtin_call_cc] = _ao_lisp_atom_call2fcc,
-
+ [builtin_collect] = _ao_lisp_atom_collect,
+#if 0
+ [builtin_symbolp] = _ao_lisp_atom_symbolp,
+ [builtin_listp] = _ao_lisp_atom_listp,
+ [builtin_stringp] = _ao_lisp_atom_stringp,
+ [builtin_numberp] = _ao_lisp_atom_numberp,
+#endif
};
static char *
};
static char *
@@
-561,6
+567,15
@@
ao_lisp_do_read(struct ao_lisp_cons *cons)
return ao_lisp_read();
}
return ao_lisp_read();
}
+ao_poly
+ao_lisp_do_collect(struct ao_lisp_cons *cons)
+{
+ int free;
+ (void) cons;
+ free = ao_lisp_collect(AO_LISP_COLLECT_FULL);
+ return ao_lisp_int_poly(free);
+}
+
const ao_lisp_func_t ao_lisp_builtins[] = {
[builtin_eval] = ao_lisp_do_eval,
[builtin_read] = ao_lisp_do_read,
const ao_lisp_func_t ao_lisp_builtins[] = {
[builtin_eval] = ao_lisp_do_eval,
[builtin_read] = ao_lisp_do_read,
@@
-599,5
+614,6
@@
const ao_lisp_func_t ao_lisp_builtins[] = {
[builtin_save] = ao_lisp_save,
[builtin_restore] = ao_lisp_restore,
[builtin_call_cc] = ao_lisp_call_cc,
[builtin_save] = ao_lisp_save,
[builtin_restore] = ao_lisp_restore,
[builtin_call_cc] = ao_lisp_call_cc,
+ [builtin_collect] = ao_lisp_do_collect,
};
};