aboutsummaryrefslogtreecommitdiff
path: root/frontend/classify.icl
diff options
context:
space:
mode:
authorjohnvg2012-06-18 12:03:33 +0000
committerjohnvg2012-06-18 12:03:33 +0000
commitffef318614add95662a0b5950eea166d3aa12328 (patch)
tree816e9f959d6ca408a1da41aef1548f6b33abae99 /frontend/classify.icl
parentmake local functions of function partitionateAndLiftFunctions global, (diff)
in module classify, unify of Seq n1 [] and Seq n2 [] is Seq (max n1 n2) []
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2099 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/classify.icl')
-rw-r--r--frontend/classify.icl18
1 files changed, 11 insertions, 7 deletions
diff --git a/frontend/classify.icl b/frontend/classify.icl
index b009dfb..c8aaea8 100644
--- a/frontend/classify.icl
+++ b/frontend/classify.icl
@@ -135,15 +135,15 @@ Max a m [|d:ds]
= Max a s ds
= Max a m ds
-Sum a [|]
- = a
-Sum a [|d:ds]
- | a >= 2
- = 2
- = Sum (a + score d) ds
-
score (Par i d) = Max i 0 d
score (Seq i d) = Sum i d
+where
+ Sum a [|]
+ = a
+ Sum a [|d:ds]
+ | a >= 2
+ = 2
+ = Sum (a + score d) ds
score (Dep f a) = 0
Max` a m [|]
@@ -216,6 +216,10 @@ unify_counts c1 c2
where
unify (Seq 0 [|]) rc2 = rc2
unify rc1 (Seq 0 [|]) = rc1
+ unify rc1=:(Seq i1 [|]) rc2=:(Seq i2 [|])
+ | i1>=i2
+ = rc1
+ = rc2
unify rc1 rc2 = Par 0 [|rc1,rc2]
show_counts component_members group_counts