aboutsummaryrefslogtreecommitdiff
path: root/frontend/convertcases.dcl
diff options
context:
space:
mode:
authorsjakie1999-11-23 12:03:07 +0000
committersjakie1999-11-23 12:03:07 +0000
commit05b79443ca056cc97053521b327c522ac7e046d9 (patch)
tree6d11d8c451601423185b5ee5360aced06ff4c149 /frontend/convertcases.dcl
parentadded code for dealing with dynamics (diff)
change: dynamics are now converted before 'fusion'
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@58 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/convertcases.dcl')
-rw-r--r--frontend/convertcases.dcl10
1 files changed, 8 insertions, 2 deletions
diff --git a/frontend/convertcases.dcl b/frontend/convertcases.dcl
index d7b2cf2..7f1e9ff 100644
--- a/frontend/convertcases.dcl
+++ b/frontend/convertcases.dcl
@@ -18,10 +18,16 @@ convertIclModule :: !{# CommonDefs} !*{#{# CheckedTypeDef}} !ImportedConstructor
-> (!*{#{# CheckedTypeDef}}, !ImportedConstructors, !*VarHeap, !*TypeHeaps)
-newFunction :: !(Optional Ident) !FunctionBody ![AType] !AType !Int !(!Int, ![FunctionInfoPtr],!*FunctionHeap)
+newFunction :: !(Optional Ident) !FunctionBody ![FreeVar] ![AType] !AType !Int !(!Int, ![FunctionInfoPtr],!*FunctionHeap)
-> (! SymbIdent, !(!Int, ![FunctionInfoPtr],!*FunctionHeap))
-copyExpression :: ![(FreeVar,AType)] !Expression !*VarHeap -> (![Expression], ![.(FreeVar,AType)], !Expression, !*VarHeap)
+
+:: TypedVariable =
+ { tv_free_var :: !FreeVar
+ , tv_type :: !AType
+ }
+
+copyExpression :: ![TypedVariable] !Expression !*VarHeap -> (![Expression], ![TypedVariable], ![FreeVar], !Expression, !*VarHeap)
addNewFunctionsToGroups :: !{#.CommonDefs} FunctionHeap ![FunctionInfoPtr] !*{! Group} !*{#{# CheckedTypeDef}} !ImportedFunctions !*TypeHeaps !*VarHeap
-> (!*{! Group}, ![FunDef], !*{#{# CheckedTypeDef}}, !ImportedConstructors, !*TypeHeaps, !*VarHeap)