diff options
Diffstat (limited to 'tuplr.cpp')
-rw-r--r-- | tuplr.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -175,7 +175,7 @@ parseFn(PEnv& penv, const SExp& exp, void* arg) else if (exp.size() < 3) throw Error(exp.loc, "Missing function body"); SExp::const_iterator a = exp.begin(); ++a; - AClosure* ret = new AClosure(exp.loc, penv.sym("fn"), new ATuple(penv.parseTuple(*a++))); + AFn* ret = new AFn(exp.loc, penv.sym("fn"), new ATuple(penv.parseTuple(*a++))); while (a != exp.end()) ret->push_back(penv.parse(*a++)); return ret; @@ -206,7 +206,7 @@ initLang(PEnv& penv, TEnv& tenv) // Special forms penv.reg(true, "fn", PEnv::Handler(parseFn)); penv.reg(true, "if", PEnv::Handler(parseCall<AIf>)); - penv.reg(true, "def", PEnv::Handler(parseCall<ADefinition>)); + penv.reg(true, "def", PEnv::Handler(parseCall<ADef>)); // Numeric primitives penv.reg(true, "+", PEnv::Handler(parseCall<APrimitive>)); @@ -252,7 +252,7 @@ eval(CEnv& cenv, const string& name, istream& is) exprs.push_back(make_pair(exp, result)); // Add definitions as GC roots - if (result->to<ADefinition*>()) + if (result->to<ADef*>()) cenv.lock(result); // Add types in type substition as GC roots @@ -319,7 +319,7 @@ repl(CEnv& cenv) finishFunction(cenv, f, retVal); cenv.out << call(cenv, f, bodyT); } catch (Error& e) { - ADefinition* def = body->to<ADefinition*>(); + ADef* def = body->to<ADef*>(); if (def) cenv.out << def->sym(); else @@ -329,7 +329,7 @@ repl(CEnv& cenv) cenv.out << " : " << cenv.type(body) << endl; // Add definitions as GC roots - if (body->to<ADefinition*>()) + if (body->to<ADef*>()) cenv.lock(body); Object::pool.collect(Object::pool.roots()); |