aboutsummaryrefslogtreecommitdiffstats
path: root/src/resp.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/resp.hpp')
-rw-r--r--src/resp.hpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/resp.hpp b/src/resp.hpp
index efd0c43..5ee5047 100644
--- a/src/resp.hpp
+++ b/src/resp.hpp
@@ -682,9 +682,9 @@ struct Engine {
virtual CVal compileDot(CEnv& cenv, CVal tup, int32_t index) = 0;
virtual CVal compileGlobalSet(CEnv& cenv, const string& s, CVal v, const AST* t) = 0;
virtual CVal compileGlobalGet(CEnv& cenv, const string& s, CVal v) = 0;
- virtual void compileIfStart(CEnv& cenv, const AST* cond, const AST* type) = 0;
- virtual void compileIfThen(CEnv& cenv, CVal thenV) = 0;
- virtual void compileIfElse(CEnv& cenv, CVal elseV) = 0;
+ virtual CVal compileIfStart(CEnv& cenv, const AST* cond, const AST* type) = 0;
+ virtual CVal compileIfThen(CEnv& cenv, CVal thenV) = 0;
+ virtual CVal compileIfElse(CEnv& cenv, CVal elseV) = 0;
virtual CVal compileIfEnd(CEnv& cenv) = 0;
virtual CVal compileLiteral(CEnv& cenv, const AST* lit) = 0;
virtual CVal compilePrimitive(CEnv& cenv, const ATuple* prim) = 0;
@@ -834,6 +834,7 @@ void resp_constrain(TEnv& tenv, Constraints& c, const AST* ast) throw(Erro
const AST* resp_simplify(CEnv& cenv, const AST* ast) throw();
const AST* resp_cps(CEnv& cenv, const AST* ast, const AST* k) throw();
const AST* resp_lift(CEnv& cenv, Code& code, const AST* ast) throw();
+const AST* resp_flatten(CEnv& cenv, Code& code, const AST* ast) throw();
CVal resp_compile(CEnv& cenv, const AST* ast) throw();
bool is_form(const AST* ast, const std::string& form);