diff options
author | johnvg | 2002-02-08 13:44:23 +0000 |
---|---|---|
committer | johnvg | 2002-02-08 13:44:23 +0000 |
commit | 24490c83f8cf7d29df9e80a3deccb4684b74b065 (patch) | |
tree | 8e171e2b56e99fc7377eaf77ebf6f8d33022b2e6 /frontend | |
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')
-rw-r--r-- | frontend/comparedefimp.icl | 9 | ||||
-rw-r--r-- | frontend/containers.dcl | 3 | ||||
-rw-r--r-- | frontend/containers.icl | 20 |
3 files changed, 22 insertions, 10 deletions
diff --git a/frontend/comparedefimp.icl b/frontend/comparedefimp.icl index 9580c2f..7084aec 100644 --- a/frontend/comparedefimp.icl +++ b/frontend/comparedefimp.icl @@ -235,15 +235,6 @@ where compare strictness1 strictness2 comp_st = (equal_strictness_lists strictness1 strictness2,comp_st) -equal_strictness_lists NotStrict NotStrict - = True -equal_strictness_lists NotStrict (Strict s) - = s==0 -equal_strictness_lists (Strict s) NotStrict - = s==0 -equal_strictness_lists (Strict s1) (Strict s2) - = s1==s2 - instance compare AttributeVar where compare {av_info_ptr = dcl_info_ptr} {av_info_ptr = icl_info_ptr} comp_st=:{comp_attr_var_heap} diff --git a/frontend/containers.dcl b/frontend/containers.dcl index 3b66e02..3662108 100644 --- a/frontend/containers.dcl +++ b/frontend/containers.dcl @@ -32,8 +32,9 @@ first_n_strict :: !Int -> StrictnessList insert_n_strictness_values_at_beginning :: !Int !StrictnessList -> StrictnessList insert_n_lazy_values_at_beginning :: !Int !StrictnessList -> StrictnessList arg_strictness_annotation :: !Int !StrictnessList -> Annotation; -is_not_strict :: !StrictnessList -> Bool arg_is_strict :: !Int !StrictnessList -> Bool; +is_not_strict :: !StrictnessList -> Bool +equal_strictness_lists :: !StrictnessList !StrictnessList -> Bool add_next_strict :: !Int !Int !StrictnessList -> (!Int,!Int,!StrictnessList) add_next_not_strict :: !Int !Int !StrictnessList -> (!Int,!Int,!StrictnessList) append_strictness :: !Int !StrictnessList -> StrictnessList 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 |