aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'frontend')
-rw-r--r--frontend/comparedefimp.icl2
-rw-r--r--frontend/convertDynamics.icl4
-rw-r--r--frontend/explicitimports.icl2
3 files changed, 8 insertions, 0 deletions
diff --git a/frontend/comparedefimp.icl b/frontend/comparedefimp.icl
index 2b90484..48f324e 100644
--- a/frontend/comparedefimp.icl
+++ b/frontend/comparedefimp.icl
@@ -756,6 +756,8 @@ instance e_corresponds CasePatterns where
e_corresponds (BasicPatterns dcl_basic_type dcl_patterns) (BasicPatterns icl_basic_type icl_patterns)
= equal2 dcl_basic_type icl_basic_type
o` e_corresponds dcl_patterns icl_patterns
+ e_corresponds (OverloadedListPatterns dcl_alg_type _ dcl_patterns) (OverloadedListPatterns icl_alg_type _ icl_patterns)
+ = e_corresponds dcl_patterns icl_patterns
e_corresponds (DynamicPatterns dcl_patterns) (DynamicPatterns icl_patterns)
= e_corresponds dcl_patterns icl_patterns
e_corresponds NoPattern NoPattern
diff --git a/frontend/convertDynamics.icl b/frontend/convertDynamics.icl
index 511cb0f..c14c22a 100644
--- a/frontend/convertDynamics.icl
+++ b/frontend/convertDynamics.icl
@@ -351,6 +351,10 @@ where
(BasicPatterns type basic_patterns)
# (basic_patterns, ci) = convertDynamics cinp bound_vars nested_case_default basic_patterns ci
-> (Case {keesje & case_expr = case_expr, case_guards = BasicPatterns type basic_patterns, case_default = this_case_default}, ci)
+ (OverloadedListPatterns type decons_expr algebraic_patterns)
+ # (algebraic_patterns, ci) = mapSt (convertDynamicsOfAlgebraicPattern cinp bound_vars nested_case_default)
+ (zip2 algebraic_patterns ct_cons_types) ci
+ -> (Case {keesje & case_expr = case_expr, case_guards = OverloadedListPatterns type decons_expr algebraic_patterns, case_default = this_case_default}, ci)
(DynamicPatterns dynamic_patterns)
# keesje = {keesje & case_expr = case_expr, case_default = this_case_default}
-> convertDynamicPatterns cinp bound_vars keesje ci
diff --git a/frontend/explicitimports.icl b/frontend/explicitimports.icl
index 9e52bba..c178de9 100644
--- a/frontend/explicitimports.icl
+++ b/frontend/explicitimports.icl
@@ -618,6 +618,8 @@ instance check_completeness CasePatterns where
= check_completeness algebraicPatterns cci ccs
check_completeness (BasicPatterns _ basicPatterns) cci ccs
= check_completeness basicPatterns cci ccs
+ check_completeness (OverloadedListPatterns _ _ algebraicPatterns) cci ccs
+ = check_completeness algebraicPatterns cci ccs
check_completeness (DynamicPatterns dynamicPatterns) cci ccs
= check_completeness dynamicPatterns cci ccs
check_completeness NoPattern _ ccs