wrong_argument_type(Gc *gc, const char *type, struct Expr obj);
struct EvalResult
wrong_number_of_arguments(Gc *gc, long int count);
+struct EvalResult
+not_implemented(Gc *gc);
+struct EvalResult
+read_error(Gc *gc, const char *error_message, long int character);
struct EvalResult
car(void *param, Gc *gc, struct Scope *scope, struct Expr args);
struct EvalResult eval(Gc *gc, struct Scope *scope, struct Expr expr);
-
-void load_std_library(Gc *gc, struct Scope *scope);
+struct EvalResult eval_block(Gc *gc, struct Scope *scope, struct Expr block);
struct EvalResult
-unpack_args(struct Gc *gc, const char *format, struct Expr args, ...);
+match_list(struct Gc *gc, const char *format, struct Expr args, ...);
#endif // INTERPRETER_H_