diff options
Diffstat (limited to 'src/lisp/ao_lisp_frame.c')
| -rw-r--r-- | src/lisp/ao_lisp_frame.c | 21 | 
1 files changed, 21 insertions, 0 deletions
| diff --git a/src/lisp/ao_lisp_frame.c b/src/lisp/ao_lisp_frame.c index 8791c4de..7978f20a 100644 --- a/src/lisp/ao_lisp_frame.c +++ b/src/lisp/ao_lisp_frame.c @@ -100,6 +100,27 @@ const struct ao_lisp_type ao_lisp_frame_type = {  	.move = frame_move  }; +void +ao_lisp_frame_print(ao_poly p) +{ +	struct ao_lisp_frame	*frame = ao_lisp_poly_frame(p); +	int			f; + +	printf ("{"); +	if (frame) { +		for (f = 0; f < frame->num; f++) { +			if (f != 0) +				printf(", "); +			ao_lisp_poly_print(frame->vals[f].atom); +			printf(" = "); +			ao_lisp_poly_print(frame->vals[f].val); +		} +		if (frame->next) +			ao_lisp_poly_print(frame->next); +	} +	printf("}"); +} +  ao_poly *  ao_lisp_frame_ref(struct ao_lisp_frame *frame, ao_poly atom)  { | 
