diff options
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/comparedefimp.icl | 2 | ||||
-rw-r--r-- | frontend/convertDynamics.icl | 4 | ||||
-rw-r--r-- | frontend/explicitimports.icl | 2 |
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 |