diff options
Diffstat (limited to 'tuplr.hpp')
-rw-r--r-- | tuplr.hpp | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -297,7 +297,7 @@ struct AType : public ATuple { bool concrete() const { switch (kind) { case VAR: return false; - case PRIM: return true; + case PRIM: return at(0)->str() != "Nothing"; case EXPR: FOREACH(const_iterator, t, *this) { AType* kid = (*t)->to<AType*>(); @@ -576,9 +576,9 @@ struct Engine { const AType* retT, const ATuple& argsT, const vector<string> argNames=vector<string>()) = 0; - virtual void finishFunction(CEnv& cenv, CFunction f, CValue ret) = 0; - virtual void eraseFunction(CEnv& cenv, CFunction f) = 0; - virtual void writeModule(CEnv& cenv, std::ostream& os) = 0; + virtual void finishFunction(CEnv& cenv, CFunction f, const AType* retT, CValue ret) = 0; + virtual void eraseFunction(CEnv& cenv, CFunction f) = 0; + virtual void writeModule(CEnv& cenv, std::ostream& os) = 0; virtual const string call(CEnv& cenv, CFunction f, AType* retT) = 0; }; |