aboutsummaryrefslogtreecommitdiffstats
path: root/src/lift.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-05-14 06:51:51 +0000
committerDavid Robillard <d@drobilla.net>2011-05-14 06:51:51 +0000
commit6cbeccf2ca0df91e5b71ccdbfcf412535f0c1179 (patch)
tree2df6d87917144977b63b5a7d1762b724b1832bab /src/lift.cpp
parentb4745f2217a735b3b5ea2a163f79a90f1457a59f (diff)
downloadresp-6cbeccf2ca0df91e5b71ccdbfcf412535f0c1179.tar.gz
resp-6cbeccf2ca0df91e5b71ccdbfcf412535f0c1179.tar.bz2
resp-6cbeccf2ca0df91e5b71ccdbfcf412535f0c1179.zip
Use recursive types in IR rather than fugly __REC kludge.
git-svn-id: http://svn.drobilla.net/resp/trunk@420 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'src/lift.cpp')
-rw-r--r--src/lift.cpp13
1 files changed, 1 insertions, 12 deletions
diff --git a/src/lift.cpp b/src/lift.cpp
index 2d26ace..518fc4f 100644
--- a/src/lift.cpp
+++ b/src/lift.cpp
@@ -99,17 +99,6 @@ lift_def(CEnv& cenv, Code& code, const ATuple* def) throw()
}
static const AST*
-lift_def_type(CEnv& cenv, Code& code, const ATuple* def) throw()
-{
- const ASymbol* sym = def->frst()->to_symbol();
- if (!sym)
- return def;
-
- const AST* type = def->frrst()->as_tuple()->replace(sym, cenv.penv.sym("__REC"));
- return tup(def->loc, def->fst(), sym, type, 0);
-}
-
-static const AST*
lift_fn(CEnv& cenv, Code& code, const ATuple* fn) throw()
{
List impl;
@@ -289,7 +278,7 @@ resp_lift(CEnv& cenv, Code& code, const AST* ast) throw()
else if (form == "def")
return lift_def(cenv, code, call);
else if (form == "def-type")
- return lift_def_type(cenv, code, call);
+ return call;
else if (form == "do")
return lift_args(cenv, code, call);
else if (form == "fn")