aboutsummaryrefslogtreecommitdiff
path: root/frontend/transform.dcl
diff options
context:
space:
mode:
authormartinw1999-11-05 15:32:39 +0000
committermartinw1999-11-05 15:32:39 +0000
commit6d949b9ad945e6022518ea35dffc29e923d07737 (patch)
tree1d50ca2986085ec4350be65860d4be4ca3790163 /frontend/transform.dcl
parent*** empty log message *** (diff)
fusion works now. The fusion switch in module typesupport is enabled
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@35 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/transform.dcl')
-rw-r--r--frontend/transform.dcl11
1 files changed, 8 insertions, 3 deletions
diff --git a/frontend/transform.dcl b/frontend/transform.dcl
index f285c3b..8e0f782 100644
--- a/frontend/transform.dcl
+++ b/frontend/transform.dcl
@@ -13,11 +13,16 @@ partitionateMacros :: !IndexRange !Index !*{# FunDef} !u:{# DclModule} !*VarHeap
-> (!*{# FunDef}, !u:{# DclModule}, !*VarHeap, !*ExpressionHeap, !*SymbolTable, !*ErrorAdmin )
:: UnfoldState =
- { us_var_heap :: !.VarHeap
- , us_symbol_heap :: !.ExpressionHeap
- , us_cleanup_info :: ![ExprInfoPtr]
+ { us_var_heap :: !.VarHeap
+ , us_symbol_heap :: !.ExpressionHeap
+ , us_opt_type_heaps :: !.Optional .TypeHeaps
+ , us_cleanup_info :: ![ExprInfoPtr]
+ , us_subst_vars :: !Bool
+ , us_handle_aci_free_vars :: !AciFreeVarHandleMode
}
+:: AciFreeVarHandleMode = LeaveThem | RemoveThem | SubstituteThem
+
class unfold a :: !a !*UnfoldState -> (!a, !*UnfoldState)
instance unfold Expression, CasePatterns