#include <stdio.h>
#include "expr.h"
-struct EvalResult
-{
- bool is_error;
- struct Expr expr;
- struct Expr scope;
- // TODO(#326): make EvalResult.error a struct Expr
- const char *error;
-};
+struct Scope;
+struct Gc;
-struct EvalResult eval_success(struct Expr expr, struct Expr scope);
-struct EvalResult eval_failure(const char *error, struct Expr expr, struct Expr scope);
-struct EvalResult eval(Gc *gc, struct Expr scope, struct Expr expr);
+struct EvalResult eval_success(struct Expr expr);
+struct EvalResult eval_failure(struct Expr expr);
-void print_eval_error(FILE *stream, struct EvalResult result);
+struct EvalResult eval(Gc *gc, struct Scope *scope, struct Expr expr);
#endif // INTERPRETER_H_