aboutsummaryrefslogtreecommitdiff
path: root/frontend/containers.icl
diff options
context:
space:
mode:
authorjohnvg2002-02-08 13:44:23 +0000
committerjohnvg2002-02-08 13:44:23 +0000
commit24490c83f8cf7d29df9e80a3deccb4684b74b065 (patch)
tree8e171e2b56e99fc7377eaf77ebf6f8d33022b2e6 /frontend/containers.icl
parent- cosmetic changes: made some String-representation of type names symbolic (diff)
add missing alternatives in equal_strictness_lists and
move the function to module containers git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1007 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/containers.icl')
-rw-r--r--frontend/containers.icl20
1 files changed, 20 insertions, 0 deletions
diff --git a/frontend/containers.icl b/frontend/containers.icl
index 138fc9d..dd4e66e 100644
--- a/frontend/containers.icl
+++ b/frontend/containers.icl
@@ -286,6 +286,26 @@ is_not_strict NotStrict = True
is_not_strict (Strict s) = s==0
is_not_strict (StrictList s l) = s==0 && is_not_strict l
+equal_strictness_lists :: !StrictnessList !StrictnessList -> Bool
+equal_strictness_lists NotStrict NotStrict
+ = True
+equal_strictness_lists NotStrict (Strict s)
+ = s==0
+equal_strictness_lists NotStrict (StrictList s l)
+ = s==0 && is_not_strict l
+equal_strictness_lists (Strict s) NotStrict
+ = s==0
+equal_strictness_lists (Strict s1) (Strict s2)
+ = s1==s2
+equal_strictness_lists (Strict s1) (StrictList s2 l)
+ = s1==s2 && is_not_strict l
+equal_strictness_lists (StrictList s l) NotStrict
+ = s==0 && is_not_strict l
+equal_strictness_lists (StrictList s1 l) (Strict s2)
+ = s1==s2 && is_not_strict l
+equal_strictness_lists (StrictList s1 l1) (StrictList s2 l2)
+ = s1==s2 && equal_strictness_lists l1 l2
+
add_next_strict :: !Int !Int !StrictnessList -> (!Int,!Int,!StrictnessList)
add_next_strict strictness_index strictness strictness_list
| strictness_index<32