diff options
author | alimarin | 2001-07-19 09:09:30 +0000 |
---|---|---|
committer | alimarin | 2001-07-19 09:09:30 +0000 |
commit | 6f59e1c9fb72a901c13f51d1e28b321ac1ff66a1 (patch) | |
tree | fa62504d1af91f0a5c0fb5d864ec8231776772d3 /frontend/overloading.icl | |
parent | remove bug with numbering strict alias node defs (diff) |
Added "curried" arrow types (->) and ((->) a)
Fixed some bugs in generics
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@559 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/overloading.icl')
-rw-r--r-- | frontend/overloading.icl | 6 |
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 |