13 struct EvalResult eval_success(struct Expr expr);
14 struct EvalResult eval_failure(struct Expr expr);
16 wrong_argument_type(Gc *gc, const char *type, struct Expr obj);
18 wrong_number_of_arguments(Gc *gc, long int count);
20 not_implemented(Gc *gc);
22 read_error(Gc *gc, const char *error_message, long int character);
25 car(void *param, Gc *gc, struct Scope *scope, struct Expr args);
27 struct EvalResult eval(Gc *gc, struct Scope *scope, struct Expr expr);
28 struct EvalResult eval_block(Gc *gc, struct Scope *scope, struct Expr block);
31 match_list(struct Gc *gc, const char *format, struct Expr args, ...);
33 #endif // INTERPRETER_H_