aboutsummaryrefslogtreecommitdiff
path: root/backend/backendpreprocess.icl
diff options
context:
space:
mode:
Diffstat (limited to 'backend/backendpreprocess.icl')
-rw-r--r--backend/backendpreprocess.icl24
1 files changed, 16 insertions, 8 deletions
diff --git a/backend/backendpreprocess.icl b/backend/backendpreprocess.icl
index 31f81a2..8b0dd8c 100644
--- a/backend/backendpreprocess.icl
+++ b/backend/backendpreprocess.icl
@@ -113,11 +113,15 @@ instance sequence Selection where
sequence (DictionarySelection dictionaryVar dictionarySelections _ index)
= sequence index
-instance sequence (Bind Expression FreeVar) where
- sequence {bind_src=App app , bind_dst}
- = sequence` app bind_dst
+// MW0 instance sequence (Bind Expression FreeVar) where
+instance sequence LetBind where
+// MW0 sequence {bind_src=App app , bind_dst}
+ sequence {lb_src=App app , lb_dst}
+// MW0 = sequence` app bind_dst
+ = sequence` app lb_dst
where
- sequence` {app_symb, app_args} bind_dst sequenceState=:{ss_aliasDummyId}
+// MW0 sequence` {app_symb, app_args} bind_dst sequenceState=:{ss_aliasDummyId}
+ sequence` {app_symb, app_args} lb_dst sequenceState=:{ss_aliasDummyId}
| app_symb.symb_name==ss_aliasDummyId
// the compiled source was a strict alias like "#! x = y"
= case hd app_args of
@@ -126,13 +130,17 @@ instance sequence (Bind Expression FreeVar) where
non_alias_bound_var = case vi of
VI_SequenceNumber _ -> bound_var
VI_Alias alias_bound_var-> alias_bound_var
- ss_varHeap = writePtr bind_dst.fv_info_ptr (VI_Alias non_alias_bound_var) ss_varHeap
+// MW0 ss_varHeap = writePtr bind_dst.fv_info_ptr (VI_Alias non_alias_bound_var) ss_varHeap
+ ss_varHeap = writePtr lb_dst.fv_info_ptr (VI_Alias non_alias_bound_var) ss_varHeap
-> { sequenceState & ss_varHeap = ss_varHeap }
_
- -> sequence bind_dst sequenceState
- = sequence bind_dst sequenceState
+// MW0 -> sequence bind_dst sequenceState
+ -> sequence lb_dst sequenceState
+// MW0 = sequence bind_dst sequenceState
+ = sequence lb_dst sequenceState
sequence bind
- = sequence bind.bind_dst
+// MW0 = sequence bind.bind_dst
+ = sequence bind.lb_dst
instance sequence FunctionPattern where
sequence (FP_Algebraic _ subpatterns optionalVar)