13 // TODO(#285): there is no way to execute struct Expr
23 struct Expr atom_as_expr(struct Atom *atom);
24 struct Expr cons_as_expr(struct Cons *cons);
25 struct Expr create_expr_from_str(const char *str);
26 void destroy_expr(struct Expr expr);
27 void print_expr_as_sexpr(struct Expr expr);
41 int number; // ATOM_NUMBER
42 char *name; // ATOM_SYMBOL
43 char *text; // ATOM_STRING
47 struct Atom *create_atom(enum AtomType type, ...);
48 void destroy_atom(struct Atom *atom);
56 struct Cons *create_cons(struct Expr car, struct Expr cdr);
57 void destroy_cons(struct Cons *cons);