aboutsummaryrefslogtreecommitdiffstats
path: root/tuplr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tuplr.cpp')
-rw-r--r--tuplr.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/tuplr.cpp b/tuplr.cpp
index 7dd3e9b..5aaf54a 100644
--- a/tuplr.cpp
+++ b/tuplr.cpp
@@ -250,7 +250,8 @@ eval(CEnv& cenv, const string& name, istream& is)
result->constrain(cenv.tenv, c); // Constrain types
cenv.tsubst = Subst::compose(cenv.tsubst, TEnv::unify(c)); // Solve type constraints
resultType = cenv.type(result);
- result->lift(cenv); // Lift functions
+ if (resultType->concrete())
+ result->lift(cenv); // Lift functions
exprs.push_back(make_pair(exp, result));
// Add definitions as GC roots