diff options
| author | Keith Packard <keithp@keithp.com> | 2016-11-11 00:28:31 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-02-20 11:16:50 -0800 | 
| commit | 7f7e2431f5d1f7c1782ed6e774ccfc70fb4c87cf (patch) | |
| tree | b790d22b440455913c70f6af62033c215578c21d /src/lisp/ao_lisp.h | |
| parent | f5a36c15f894803f8804bbc3daf105eed53d5ff6 (diff) | |
altos/lisp: add length, pack, unpack and flush
lots more builtins
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lisp/ao_lisp.h')
| -rw-r--r-- | src/lisp/ao_lisp.h | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/src/lisp/ao_lisp.h b/src/lisp/ao_lisp.h index 60a97f2c..86a5ddcf 100644 --- a/src/lisp/ao_lisp.h +++ b/src/lisp/ao_lisp.h @@ -36,10 +36,14 @@ extern uint8_t ao_lisp_const[AO_LISP_POOL_CONST];  #define _ao_lisp_atom_cdr	_atom("cdr")  #define _ao_lisp_atom_cons	_atom("cons")  #define _ao_lisp_atom_last	_atom("last") +#define _ao_lisp_atom_length	_atom("length")  #define _ao_lisp_atom_cond	_atom("cond")  #define _ao_lisp_atom_lambda	_atom("lambda")  #define _ao_lisp_atom_led	_atom("led")  #define _ao_lisp_atom_delay	_atom("delay") +#define _ao_lisp_atom_pack	_atom("pack") +#define _ao_lisp_atom_unpack	_atom("unpack") +#define _ao_lisp_atom_flush	_atom("flush")  #define _ao_lisp_atom_eval	_atom("eval")  #define _ao_lisp_atom_read	_atom("read")  #define _ao_lisp_atom_eof	_atom("eof") @@ -215,6 +219,7 @@ enum ao_lisp_builtin_id {  	builtin_cdr,  	builtin_cons,  	builtin_last, +	builtin_length,  	builtin_quote,  	builtin_set,  	builtin_setq, @@ -233,6 +238,9 @@ enum ao_lisp_builtin_id {  	builtin_greater,  	builtin_less_equal,  	builtin_greater_equal, +	builtin_pack, +	builtin_unpack, +	builtin_flush,  	builtin_delay,  	builtin_led,  	_builtin_last @@ -409,6 +417,9 @@ ao_lisp_cons_print(ao_poly);  void  ao_lisp_cons_patom(ao_poly); +int +ao_lisp_cons_length(struct ao_lisp_cons *cons); +  /* string */  extern const struct ao_lisp_type ao_lisp_string_type; @@ -421,6 +432,12 @@ ao_lisp_string_copy(char *a);  char *  ao_lisp_string_cat(char *a, char *b); +ao_poly +ao_lisp_string_pack(struct ao_lisp_cons *cons); + +ao_poly +ao_lisp_string_unpack(char *a); +  void  ao_lisp_string_print(ao_poly s); | 
