aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'frontend')
-rw-r--r--frontend/transform.icl11
1 files changed, 11 insertions, 0 deletions
diff --git a/frontend/transform.icl b/frontend/transform.icl
index 296e145..fb931fa 100644
--- a/frontend/transform.icl
+++ b/frontend/transform.icl
@@ -83,6 +83,9 @@ where
lift (MatchExpr opt_tuple cons_symb expr) ls
# (expr, ls) = lift expr ls
= (MatchExpr opt_tuple cons_symb expr, ls)
+ lift (DynamicExpr expr) ls
+ # (expr, ls) = lift expr ls
+ = (DynamicExpr expr, ls)
lift expr ls
= (expr, ls)
@@ -188,6 +191,14 @@ where
# (dp_rhs, ls) = lift dp_rhs ls
= ({ pattern & dp_rhs = dp_rhs }, ls)
+instance lift DynamicExpr
+where
+ lift dyn=:{dyn_expr} ls
+ # (dyn_expr, ls) = lift dyn_expr ls
+ = ({ dyn & dyn_expr = dyn_expr}, ls)
+
+import RWSDebug
+
liftFunctions :: [FunctionOrMacroIndex] Int Int *{#FunDef} *{#*{#FunDef}} *(Heap VarInfo) *(Heap ExprInfo) -> .LiftState;
liftFunctions group group_index main_dcl_module_n fun_defs macro_defs var_heap expr_heap
# (contains_free_vars, lifted_function_called, fun_defs,macro_defs)