ao_poly in, out = AO_LISP_NIL;
for(;;) {
in = ao_lisp_read();
- if (!in)
+ if (in == _ao_lisp_atom_eof)
break;
-// printf ("in: "); ao_lisp_poly_print(in); printf("\n");
out = ao_lisp_eval(in);
if (ao_lisp_exception) {
+ if (ao_lisp_exception & AO_LISP_EXIT)
+ break;
ao_lisp_exception = 0;
} else {
- ao_lisp_poly_print(out);
+ ao_lisp_poly_write(out);
putchar ('\n');
}
}