diff options
author | alimarin | 2002-03-28 12:49:09 +0000 |
---|---|---|
committer | alimarin | 2002-03-28 12:49:09 +0000 |
commit | 3cc3a4de6b560780e6de49b70b1734058733f952 (patch) | |
tree | c70d2547cfa726bc7f532a666b161e0c487a7001 /frontend/generics1.icl | |
parent | don't try to add arguments to 'code' functions (diff) |
fixes in generics to compile with Clean 2.0
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1069 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/generics1.icl')
-rw-r--r-- | frontend/generics1.icl | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/frontend/generics1.icl b/frontend/generics1.icl index 9c28918..9acad49 100644 --- a/frontend/generics1.icl +++ b/frontend/generics1.icl @@ -819,7 +819,6 @@ where com_cons_defs = arrayPlusList cons_defs new_cons_defs} #! heaps = {heaps & hp_var_heap = hp_var_heap, hp_type_heaps = {hp_type_heaps & th_vars = th_vars}} - #! modules = { modules & [module_index] = common_defs } = (common_defs, dcl_modules, heaps, symbol_table) @@ -1289,14 +1288,6 @@ where build_instance_and_member module_index class_index gencase symbol_type ins_type fun_info ins_info heaps #! (memfun_ds, fun_info, heaps) = build_instance_member module_index gencase symbol_type fun_info heaps -/* - #! ins_type = - { it_vars = [] - , it_types = [gencase.gc_type] - , it_attr_vars = [] - , it_context = [] - } -*/ #! ins_info = build_class_instance class_index gencase memfun_ds ins_type ins_info = (fun_info, ins_info, heaps) @@ -1366,7 +1357,6 @@ where , ins_members = {member_fun_ds} , ins_specials = SP_None , ins_pos = gc_pos - , ins_generated = True } = (inc ins_index, [ins:instances]) @@ -1812,23 +1802,23 @@ instance foldType TypeContext where // mapping of a AType, depth first //---------------------------------------------------------------------------------------- class mapTypeSt type :: - (Type .st -> (Type, .st)) // called on each type before recursion - (AType .st -> (AType, .st)) // called on each attributed type before recursion - (Type .st -> (Type, .st)) // called on each type after recursion - (AType .st -> (AType, .st)) // called on each attributed type after recursion - type .st -> (type, .st) + (Type -> u:(.st -> u:(Type, .st))) // called on each type before recursion + (AType -> u:(.st -> u:(AType, .st))) // called on each attributed type before recursion + (Type -> u:(.st -> u:(Type, .st))) // called on each type after recursion + (AType -> u:(.st -> u:(AType, .st))) // called on each attributed type after recursion + type .st -> u:(type, .st) mapTypeBeforeSt :: - (Type .st -> (Type, .st)) // called on each type before recursion - (AType .st -> (AType, .st)) // called on each attributed type before recursion - type .st -> (type, .st) | mapTypeSt type + (Type -> u:(.st -> u:(Type, .st))) // called on each type before recursion + (AType -> u:(.st -> u:(AType, .st))) // called on each attributed type before recursion + type .st -> u:(type, .st) | mapTypeSt type mapTypeBeforeSt on_type_before on_atype_before type st = mapTypeSt on_type_before on_atype_before idSt idSt type st mapTypeAfterSt :: - (Type .st -> (Type, .st)) // called on each type after recursion - (AType .st -> (AType, .st)) // called on each attributed type after recursion - type .st -> (type, .st) | mapTypeSt type + (Type -> u:(.st -> u:(Type, .st))) // called on each type after recursion + (AType -> u:(.st -> u:(AType, .st))) // called on each attributed type after recursion + type .st -> u:(type, .st) | mapTypeSt type mapTypeAfterSt on_type_after on_atype_after type st = mapTypeSt idSt idSt on_type_after on_atype_after type st |