aboutsummaryrefslogtreecommitdiff
path: root/frontend/overloading.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/overloading.icl')
-rw-r--r--frontend/overloading.icl6
1 files changed, 6 insertions, 0 deletions
diff --git a/frontend/overloading.icl b/frontend/overloading.icl
index 30b948e..c50e9af 100644
--- a/frontend/overloading.icl
+++ b/frontend/overloading.icl
@@ -531,6 +531,12 @@ where
| diff >= 0
= match defs (TV tv, types) (TA { type_cons & type_arity = diff } (take diff cons_args), drop diff cons_args) type_heaps
= (False, type_heaps)
+//AA..
+ match defs TArrow TArrow type_heaps
+ = (True, type_heaps)
+ match defs (TArrow1 t1) (TArrow1 t2) type_heaps
+ = match defs t1 t2 type_heaps
+//..AA
match defs (TB tb1) (TB tb2) type_heaps
= (tb1 == tb2, type_heaps)
/* match defs type (TB (BT_String array_type)) type_heaps