aboutsummaryrefslogtreecommitdiffstats
path: root/src/tuplr.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-10-15 16:50:14 +0000
committerDavid Robillard <d@drobilla.net>2009-10-15 16:50:14 +0000
commit0ee5ad002dbe88c791bfa48e392094bade72a12c (patch)
tree918300d71be5f8b18ce6274ec9bcb2de986916c1 /src/tuplr.hpp
parent9fe6831a3f9f0b9c062f3cd570327bfb828667d9 (diff)
downloadresp-0ee5ad002dbe88c791bfa48e392094bade72a12c.tar.gz
resp-0ee5ad002dbe88c791bfa48e392094bade72a12c.tar.bz2
resp-0ee5ad002dbe88c791bfa48e392094bade72a12c.zip
Clean up function type system.
Unify function types globally, rather than construct a "generic type" locally, since this didn't take into consideration captured bindings, leaving the generic type not as solved as it could be. git-svn-id: http://svn.drobilla.net/resp/tuplr@226 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'src/tuplr.hpp')
-rw-r--r--src/tuplr.hpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/tuplr.hpp b/src/tuplr.hpp
index 947a62c..a89b612 100644
--- a/src/tuplr.hpp
+++ b/src/tuplr.hpp
@@ -375,9 +375,8 @@ struct AFn : public ATuple {
return NULL;
}
};
- Impls impls;
- mutable Subst subst;
- string name;
+ Impls impls;
+ string name;
};
/// Function call/application, e.g. "(func arg1 arg2)"
@@ -564,10 +563,9 @@ struct TEnv : public Env<const ASymbol*, AType*> {
}
static Subst buildSubst(AType* fnT, const AType& argsT);
- typedef map<const AST*, AType*> Vars;
- typedef map<const AFn*, const AType*> GenericTypes;
+ typedef map<const AST*, AType*> Vars;
+
Vars vars;
- GenericTypes genericTypes;
PEnv& penv;
unsigned varID;
};