aboutsummaryrefslogtreecommitdiffstats
path: root/src/tuplr.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tuplr.hpp')
-rw-r--r--src/tuplr.hpp19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/tuplr.hpp b/src/tuplr.hpp
index 6f79e8c..ada5412 100644
--- a/src/tuplr.hpp
+++ b/src/tuplr.hpp
@@ -628,15 +628,11 @@ struct CEnv {
~CEnv() { Object::pool.collect(GC::Roots()); }
- typedef Env<const AST*, CVal> Vals;
+ typedef Env<const ASymbol*, CVal> Vals;
Engine* engine() { return _engine; }
void push() { tenv.push(); vals.push(); }
void pop() { tenv.pop(); vals.pop(); }
- CVal compile(AST* obj) {
- CVal* v = vals.ref(obj);
- return (v && *v) ? *v : vals.def(obj, obj->compile(*this));
- }
void lock(AST* ast) { Object::pool.addRoot(ast); Object::pool.addRoot(type(ast)); }
AType* type(AST* ast, const Subst& subst = Subst()) const {
ASymbol* sym = ast->to<ASymbol*>();
@@ -649,13 +645,12 @@ struct CEnv {
vals.def(sym, v);
}
- ostream& out;
- ostream& err;
- PEnv& penv;
- TEnv& tenv;
- Vals vals;
-
- Subst tsubst;
+ ostream& out;
+ ostream& err;
+ PEnv& penv;
+ TEnv& tenv;
+ Vals vals;
+ Subst tsubst;
map<string,string> args;