aboutsummaryrefslogtreecommitdiff
path: root/frontend/generics.icl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/generics.icl')
-rw-r--r--frontend/generics.icl246
1 files changed, 123 insertions, 123 deletions
diff --git a/frontend/generics.icl b/frontend/generics.icl
index 28c927a..9162aad 100644
--- a/frontend/generics.icl
+++ b/frontend/generics.icl
@@ -385,7 +385,7 @@ where
= (maybe_td_index, instance_defs, gs)
determine_type_def_index
- (TA {type_index, type_name} _)
+ (TA {type_index, type_ident} _)
instance_def=:{ins_generate, ins_ident, ins_pos}
is_partial
gs_modules gs_error
@@ -397,7 +397,7 @@ where
= ([type_index], instance_def, gs_modules, gs_error)
| supportPartialInstances && is_partial
= ([type_index], {instance_def & ins_partial = True}, gs_modules, gs_error)
- //---> ("collected partial instance type", type_name, type_index)
+ //---> ("collected partial instance type", type_ident, type_index)
| otherwise
= ([], instance_def, gs_modules, gs_error)
determine_td_index (RecordType _) gs_modules gs_error
@@ -405,7 +405,7 @@ where
= ([type_index], instance_def, gs_modules, gs_error)
| supportPartialInstances && is_partial
= ([type_index], {instance_def & ins_partial = True}, gs_modules, gs_error)
- //---> ("collected partial instance type", type_name, type_index)
+ //---> ("collected partial instance type", type_ident, type_index)
| otherwise
= ([], instance_def, gs_modules, gs_error)
determine_td_index (SynType _) gs_modules gs_error
@@ -543,7 +543,7 @@ where
{gs & gs_modules = gs_modules, gs_heaps = gs_heaps, gs_error = gs_error}
check_generic
- {gen_cons_ptr, gen_name, gen_pos}
+ {gen_cons_ptr, gen_ident, gen_pos}
gs_heaps=:{hp_type_heaps=hp_type_heaps=:{th_vars}}
gs_error
# (info, th_vars) = readPtr gen_cons_ptr th_vars
@@ -551,7 +551,7 @@ where
TVI_ConsInstance _
-> gs_error
_
- -> reportError gen_name gen_pos "instance on CONS must be provided" gs_error
+ -> reportError gen_ident gen_pos "instance on CONS must be provided" gs_error
= ({gs_heaps & hp_type_heaps = {hp_type_heaps & th_vars = th_vars}}, gs_error)
@@ -644,7 +644,7 @@ where
= (expr, heaps)
get_cons_fun
- {gen_cons_ptr, gen_pos, gen_name}
+ {gen_cons_ptr, gen_pos, gen_ident}
gs=:{gs_heaps=gs_heaps=:{hp_type_heaps=hp_type_heaps=:{th_vars}}, gs_error}
# (info, th_vars) = readPtr gen_cons_ptr th_vars
# gs_heaps = { gs_heaps & hp_type_heaps = {hp_type_heaps & th_vars = th_vars }}
@@ -652,7 +652,7 @@ where
TVI_ConsInstance fun_def_sym
-> (fun_def_sym, gs_error)
TVI_Empty
- -> (EmptyDefinedSymbol, reportError gen_name gen_pos "no CONS instance provided" gs_error)
+ -> (EmptyDefinedSymbol, reportError gen_ident gen_pos "no CONS instance provided" gs_error)
= (fun_def_sym, {gs & gs_heaps = gs_heaps, gs_error = gs_error})
set_cons_fun
@@ -808,12 +808,12 @@ where
// their mapping is identity
= ([], gs)
collect_in_type_app
- {type_index=type_index=:{glob_module, glob_object}, type_name}
+ {type_index=type_index=:{glob_module, glob_object}, type_ident}
gs=:{gs_gtd_infos, gs_td_infos, gs_modules}
# (gtd_info, gs_gtd_infos) = gs_gtd_infos ! [glob_module, glob_object]
| toBool gtd_info // already marked
= ([], {gs & gs_gtd_infos = gs_gtd_infos})
- //---> ("already marked type", type_name, type_index)
+ //---> ("already marked type", type_ident, type_index)
| otherwise // not yet marked
# gs_gtd_infos = {gs_gtd_infos & [glob_module, glob_object] = GTDI_Generic EmptyGenericType}
# (td_info, gs_td_infos) = gs_td_infos ! [glob_module, glob_object]
@@ -822,7 +822,7 @@ where
# (td_indexes1, gs) = collect_in_type_def_rhs glob_module type_def gs
# td_indexes2 = [(type_index, td_info.tdi_group_nr)]
= (merge_td_indexes td_indexes1 td_indexes2, gs)
- //---> ("mark type", type_name, type_index)
+ //---> ("mark type", type_ident, type_index)
collect_in_type (arg_type --> res_type) gs
#! (td_indexes1, gs) = collect_in_atype arg_type gs
@@ -857,13 +857,13 @@ where
= collect_in_conses mod [rt_constructor] gs
collect_in_type_def_rhs mod {td_rhs=(SynType {at_type})} gs
= collect_in_type at_type gs
- collect_in_type_def_rhs mod {td_rhs=(AbstractType _), td_name, td_pos} gs=:{gs_error}
+ collect_in_type_def_rhs mod {td_rhs=(AbstractType _), td_ident, td_pos} gs=:{gs_error}
#! gs_error = checkErrorWithIdentPos
- (newPosition td_name td_pos)
+ (newPosition td_ident td_pos)
"cannot build generic type representation for an abstract type"
gs_error
= ([], {gs & gs_error = gs_error})
- //= ([], {gs & gs_error = checkWarning td_name "abstract data type" gs_error})
+ //= ([], {gs & gs_error = checkWarning td_ident "abstract data type" gs_error})
collect_in_conses :: !Index ![DefinedSymbol] !*GenericState
-> (![(Global Index, Int)], !*GenericState)
@@ -943,23 +943,23 @@ where
# (iso_fun_index, iso_group_index, gs) = newFunAndGroupIndex gs
# {gs_modules} = gs
- # (type_def=:{td_name}, gs_modules) = getTypeDef module_index type_def_index gs_modules
+ # (type_def=:{td_ident}, gs_modules) = getTypeDef module_index type_def_index gs_modules
# gs = {gs & gs_modules = gs_modules}
# iso_def_sym = {
- ds_ident = {id_name="iso_"+++type_def.td_name.id_name, id_info = nilPtr },
+ ds_ident = {id_name="iso_"+++type_def.td_ident.id_name, id_info = nilPtr },
ds_index = iso_fun_index,
ds_arity = 0
}
# from_def_sym = {
- ds_ident = {id_name="iso_from_generic_to_"+++type_def.td_name.id_name, id_info = nilPtr },
+ ds_ident = {id_name="iso_from_generic_to_"+++type_def.td_ident.id_name, id_info = nilPtr },
ds_index = from_fun_index,
ds_arity = 1
}
# to_def_sym = {
- ds_ident = {id_name="iso_to_generic_from_"+++type_def.td_name.id_name, id_info = nilPtr },
+ ds_ident = {id_name="iso_to_generic_from_"+++type_def.td_ident.id_name, id_info = nilPtr },
ds_index = to_fun_index,
ds_arity = 1
}
@@ -990,7 +990,7 @@ where
# (type_fun_index, group_index, gs) = newFunAndGroupIndex gs
# type_fun_sym =
- { ds_ident = makeIdent ("type_info_" +++ type_def.td_name.id_name)
+ { ds_ident = makeIdent ("type_info_" +++ type_def.td_ident.id_name)
, ds_index = type_fun_index
, ds_arity = 0
}
@@ -1018,15 +1018,15 @@ where
= ([fi:fis], [fd:fds], gs)
build_cons_info {ds_index,ds_arity} cons_num type_info_def_sym group_index common_defs gs=:{gs_main_dcl_module_n}
- # {cons_symb, cons_pos, cons_type} = common_defs.com_cons_defs.[ds_index]
+ # {cons_ident, cons_pos, cons_type} = common_defs.com_cons_defs.[ds_index]
# (fun_index, gs) = newFunIndex gs
# def_sym =
- { ds_ident = makeIdent ("cons_info_" +++ cons_symb.id_name)
+ { ds_ident = makeIdent ("cons_info_" +++ cons_ident.id_name)
, ds_index = fun_index
, ds_arity = 0
}
# {gs_modules,gs_heaps, gs_predefs, gs_main_dcl_module_n} = gs
- # cons_name_expr = makeStringExpr ("\""+++cons_symb.id_name+++"\"") gs_predefs
+ # cons_name_expr = makeStringExpr ("\""+++cons_ident.id_name+++"\"") gs_predefs
# cons_arity_expr = makeIntExpr ds_arity
# cons_num_expr = makeIntExpr cons_num
# (cons_type_expr, gs_heaps) = buildFunApp gs_main_dcl_module_n type_info_def_sym [] gs_heaps
@@ -1091,9 +1091,9 @@ where
= (type_app_expr, { gs & gs_heaps = gs_heaps})
- build_type_info {at_type=TA {type_name,type_arity} ts} gs
+ build_type_info {at_type=TA {type_ident,type_arity} ts} gs
# (arg_exprs, gs) = build_type_infos ts gs
- = build_type_def_app type_name.id_name type_arity [] [] arg_exprs gs
+ = build_type_def_app type_ident.id_name type_arity [] [] arg_exprs gs
build_type_info {at_type=arg --> res} gs
# (arg_expr, gs) = build_type_info arg gs
@@ -1114,8 +1114,8 @@ where
= build_type_def_app name 0 [] [] [] gs
- build_type_info {at_type=TV {tv_name}} gs=:{gs_heaps, gs_predefs}
- # name_expr = makeStringExpr ("\"" +++ tv_name.id_name +++ "\"") gs_predefs
+ build_type_info {at_type=TV {tv_ident}} gs=:{gs_heaps, gs_predefs}
+ # name_expr = makeStringExpr ("\"" +++ tv_ident.id_name +++ "\"") gs_predefs
# (expr, gs_heaps) = buildPredefConsApp PD_ConsTypeVar [ name_expr ] gs_predefs gs_heaps
= (expr, {gs & gs_heaps = gs_heaps})
@@ -1125,15 +1125,15 @@ where
= (expr, {gs & gs_heaps = gs_heaps})
build_typedef_info
- {td_pos,td_name, td_args}
+ {td_pos,td_ident, td_args}
type_info_def_sym
group_index
cons_info_def_syms
gs=:{gs_main_dcl_module_n}
- # type_vars = [ atv.atv_variable.tv_name.id_name \\ atv <- td_args]
+ # type_vars = [ atv.atv_variable.tv_ident.id_name \\ atv <- td_args]
# (body_expr, gs) = build_type_def
- td_name.id_name type_info_def_sym.ds_arity type_vars cons_info_def_syms gs
+ td_ident.id_name type_info_def_sym.ds_arity type_vars cons_info_def_syms gs
# fun_def = makeFunction type_info_def_sym group_index [] body_expr No [] gs_main_dcl_module_n td_pos
= (fun_def, gs)
@@ -1164,22 +1164,22 @@ where
# (rec_fun_index, gs) = newFunIndex gs
# (gs=:{gs_gtd_infos, gs_modules}) = gs
- # (type_def=:{td_name, td_arity}, gs_modules) = getTypeDef glob_module glob_object gs_modules
+ # (type_def=:{td_ident, td_arity}, gs_modules) = getTypeDef glob_module glob_object gs_modules
# (GTDI_Generic gt, gs_gtd_infos) = gs_gtd_infos ! [glob_module, glob_object]
# gtd_info = GTDI_Generic {gt &
gtr_isomap_from = {
- ds_ident = {id_name="isomap_from_"+++td_name.id_name, id_info=nilPtr},
+ ds_ident = {id_name="isomap_from_"+++td_ident.id_name, id_info=nilPtr},
ds_index = from_fun_index,
ds_arity = (td_arity + 1)
},
gtr_isomap_to = {
- ds_ident = {id_name="isomap_to_"+++td_name.id_name, id_info=nilPtr},
+ ds_ident = {id_name="isomap_to_"+++td_ident.id_name, id_info=nilPtr},
ds_index = to_fun_index,
ds_arity = (td_arity + 1)
},
gtr_isomap = {
- ds_ident = {id_name="isomap_"+++td_name.id_name, id_info=nilPtr},
+ ds_ident = {id_name="isomap_"+++td_ident.id_name, id_info=nilPtr},
ds_index = rec_fun_index,
ds_arity = td_arity
}
@@ -1208,7 +1208,7 @@ where
# (group_index, gs) = get_group module_index type_def_index gs
# {gs_modules, gs_gtd_infos} = gs
- # (type_def=:{td_name}, gs_modules) = getTypeDef module_index type_def_index gs_modules
+ # (type_def=:{td_ident}, gs_modules) = getTypeDef module_index type_def_index gs_modules
# (GTDI_Generic {gtr_isomap, gtr_isomap_to, gtr_isomap_from}, gs_gtd_infos)
= gs_gtd_infos![module_index, type_def_index]
@@ -1225,14 +1225,14 @@ where
# funs = [ (from_fun_index, from_fun_def), (to_fun_index, to_fun_def), (rec_fun_index, rec_fun_def) ]
= (funs, gs)
//---> from_fun_def
- //---> ("build isomap for", td_name, module_index, type_def_index)
+ //---> ("build isomap for", td_ident, module_index, type_def_index)
collect_groups :: !Index ![(Index, FunDef)] !*{[Index]} -> !*{[Index]}
collect_groups first_group_index [] groups = groups
- collect_groups first_group_index [(fun_index, fun=:{fun_symb, fun_info={fi_group_index}}):funs] groups
+ collect_groups first_group_index [(fun_index, fun=:{fun_ident, fun_info={fi_group_index}}):funs] groups
# (group, groups) = groups ! [fi_group_index - first_group_index]
# groups = {groups & [fi_group_index - first_group_index] = [fun_index:group]}
- //---> ("add fun " +++ fun_symb.id_name +++ " "+++ toString fun_index +++
+ //---> ("add fun " +++ fun_ident.id_name +++ " "+++ toString fun_index +++
// " to group " +++ toString fi_group_index)
= collect_groups first_group_index funs groups
@@ -1297,10 +1297,10 @@ where
= (new_funs ++ funs, new_groups ++ groups, generic_defs, gs)
build_isomap module_index generic_index generic_defs gs
- # (generic_def=:{gen_name, gen_type}, generic_defs) = generic_defs ! [generic_index]
+ # (generic_def=:{gen_ident, gen_type}, generic_defs) = generic_defs ! [generic_index]
# (fun_index, group_index, gs) = newFunAndGroupIndex gs
# def_sym = {
- ds_ident = {id_name="isomap_"+++gen_name.id_name, id_info = nilPtr},
+ ds_ident = {id_name="isomap_"+++gen_ident.id_name, id_info = nilPtr},
ds_index = fun_index,
ds_arity = gen_type.gt_arity
}
@@ -1460,7 +1460,7 @@ where
}
= (ins_fun_def, {gs & gs_heaps = gs_heaps})
- //---> ("created generic alterntaive for " +++ ins_fun_def.fun_symb.id_name)
+ //---> ("created generic alterntaive for " +++ ins_fun_def.fun_ident.id_name)
move_instance instance_def=:{ins_members, ins_pos} gs=:{gs_main_dcl_module_n}
# (new_fun_index, new_fun_group, gs=:{gs_fun_defs, gs_predefs, gs_heaps})
@@ -1481,9 +1481,9 @@ where
#! (undef_expr, gs_heaps) = buildUndefFunApp [] gs_predefs gs_heaps
#! (arg_vars, gs_heaps) =
mapSt buildFreeVar0 ["v" +++ toString i \\ i <- [1..ins_fun_def.fun_arity]] gs_heaps
- # {fun_symb, fun_arity, fun_info, fun_type, fun_pos} = ins_fun_def
+ # {fun_ident, fun_arity, fun_info, fun_type, fun_pos} = ins_fun_def
#! dummy_def_sym =
- { ds_ident = fun_symb
+ { ds_ident = fun_ident
, ds_arity = fun_arity
, ds_index = ins_fun_index
}
@@ -1597,14 +1597,14 @@ where
# gs = {gs & gs_modules=gs_modules, gs_td_infos = gs_td_infos, gs_heaps = gs_heaps}
# (fun_index, group_index, gs) = newFunAndGroupIndex gs
# fun_def_sym = {
- ds_ident = kind_star_class_def.class_name, // kind star name
+ ds_ident = kind_star_class_def.class_ident, // kind star name
ds_index = fun_index,
ds_arity = member_def.me_type.st_arity
}
//# (fun_def, gs) = build_dummy_instance fun_def_sym group_index gs
# generic_def_sym = {
- ds_ident=generic_def.gen_name,
+ ds_ident=generic_def.gen_ident,
ds_index=ins_generic.glob_object,
ds_arity=0
}
@@ -1614,7 +1614,7 @@ where
# new_instance_def = {
ins_class = {glob_module = ins_generic.glob_module, glob_object = kind_star_class_def_sym},
- ins_ident = kind_star_class_def.class_name,
+ ins_ident = kind_star_class_def.class_ident,
ins_type = new_ins_type,
ins_members = {fun_def_sym},
ins_specials = SP_None,
@@ -1690,7 +1690,7 @@ where
build_type_var name heaps=:{hp_type_heaps=hp_type_heaps=:{th_vars}}
# (tv_info_ptr, th_vars) = newPtr TVI_Empty th_vars
# type_var = {
- tv_name = {id_name = name, id_info = nilPtr},
+ tv_ident = {id_name = name, id_info = nilPtr},
tv_info_ptr = tv_info_ptr
}
= ( type_var, {heaps & hp_type_heaps = {hp_type_heaps & th_vars = th_vars}})
@@ -1852,8 +1852,8 @@ kindOfType _ td_infos
buildClassDef :: !Index !Index !Index !GenericDef !TypeKind !*GenericState
-> (!ClassDef, !MemberDef!, !GenericDef, *GenericState)
-buildClassDef module_index class_index member_index generic_def=:{gen_name, gen_classes} kind gs=:{gs_heaps}
- #! ident = makeIdent (gen_name.id_name +++ ":" +++ (toString kind))
+buildClassDef module_index class_index member_index generic_def=:{gen_ident, gen_classes} kind gs=:{gs_heaps}
+ #! ident = makeIdent (gen_ident.id_name +++ ":" +++ (toString kind))
#! class_ds={ds_ident=ident, ds_index=class_index, ds_arity=0}
#! (class_var, gs_heaps) = build_class_var gs_heaps
#! (member_def, class_contexts, gs_heaps) = build_member module_index class_index member_index class_var class_ds generic_def gs_heaps
@@ -1882,7 +1882,7 @@ where
//#! member_type = { member_type & st_context = [type_context : gen_type.gt_type.st_context] }
#! member_type = { member_type & st_context = [type_context : member_type.st_context] }
#! member_def = {
- me_symb = ds_ident, // same name as class
+ me_ident = ds_ident, // same name as class
me_class = {glob_module = module_index, glob_object = class_index},
me_offset = 0,
me_type = member_type,
@@ -1904,7 +1904,7 @@ where
ds_index = NoIndex/*index in the type def table, filled in later*/
}
#! class_def = {
- class_name = ident,
+ class_ident = ident,
class_arity = 1,
class_args = [class_var],
class_context = class_contexts,
@@ -2057,7 +2057,7 @@ currySymbolType4 st=:{st_args, st_result, st_attr_env, st_attr_vars} attr_var_n
// specialize generic (kind-indexed) type for a kind
specializeGenericType :: !GenericDef !TypeKind !*TypeHeaps -> (!SymbolType, ![ATypeVar], ![AttributeVar], !*TypeHeaps)
-specializeGenericType generic_def=:{gen_name,gen_type} kind th
+specializeGenericType generic_def=:{gen_ident,gen_type} kind th
//#! th = th ---> ("specializeSymbolType", kind, gen_type.gt_type)
@@ -2201,16 +2201,16 @@ where
#! (attr, th_attrs) = fresh_attr atv_attribute postfix th_attrs
= ({agv & atv_attribute = attr, atv_variable = tv}, {th & th_vars = th_vars, th_attrs = th_attrs})
where
- fresh_tv {tv_name, tv_info_ptr} postfix th_vars
- #! name = makeIdent (tv_name.id_name +++ postfix)
+ fresh_tv {tv_ident, tv_info_ptr} postfix th_vars
+ #! name = makeIdent (tv_ident.id_name +++ postfix)
#! (tv, th_vars) = freshTypeVar name th_vars
#! th_vars = th_vars <:= (tv_info_ptr, TVI_Type (TV tv))
= (tv, th_vars)
fresh_attr (TA_Unique) postfix th_attrs = (TA_Unique, th_attrs)
fresh_attr (TA_Multi) postfix th_attrs = (TA_Multi, th_attrs)
- fresh_attr (TA_Var av=:{av_name, av_info_ptr}) postfix th_attrs
- #! (fresh_av, th_attrs) = freshAttrVar (makeIdent (av_name.id_name+++postfix)) th_attrs
+ fresh_attr (TA_Var av=:{av_ident, av_info_ptr}) postfix th_attrs
+ #! (fresh_av, th_attrs) = freshAttrVar (makeIdent (av_ident.id_name+++postfix)) th_attrs
#! attr = TA_Var fresh_av
#! th_attrs = th_attrs <:= (av_info_ptr, AVI_Attr attr)
= (attr, th_attrs)
@@ -2219,7 +2219,7 @@ where
= {th & th_attrs = th_attrs <:= (av_info_ptr, AVI_Attr (TA_Var av))}
buildMemberType2 :: !GenericDef !TypeKind !TypeVar !*TypeHeaps !*VarHeap -> (!SymbolType, ![TypeContext], !*TypeHeaps, !*VarHeap)
-buildMemberType2 generic_def=:{gen_name,gen_type} kind class_var th var_heap
+buildMemberType2 generic_def=:{gen_ident,gen_type} kind class_var th var_heap
# (st, agvs, gavs, th) = specializeGenericType generic_def kind th
@@ -2351,7 +2351,7 @@ where
buildMemberType :: !GenericDef !TypeKind !TypeVar !*TypeHeaps -> (!SymbolType, !*TypeHeaps)
-buildMemberType generic_def=:{gen_name,gen_type} kind class_var th
+buildMemberType generic_def=:{gen_ident,gen_type} kind class_var th
// = abort "generics; buildMemberType"
#! (gen_type, th) = freshGenericType gen_type th
@@ -2387,7 +2387,7 @@ buildMemberType generic_def=:{gen_name,gen_type} kind class_var th
}
= (st, th)
- //---> ("member type", gen_name, kind, st)
+ //---> ("member type", gen_ident, kind, st)
where
@@ -2486,8 +2486,8 @@ where
// replace all generic variables with fresh variables
#! (tvs, th_vars) = mapSt build_subst gt_vars th_vars
with
- build_subst gv=:{tv_name,tv_info_ptr} th_vars
- #! name = makeIdent (tv_name.id_name +++ postfix)
+ build_subst gv=:{tv_ident,tv_info_ptr} th_vars
+ #! name = makeIdent (tv_ident.id_name +++ postfix)
#! (tv, th_vars) = freshTypeVar name th_vars
#! th_vars = th_vars <:= (tv_info_ptr, TVI_Type (TV tv))
= (tv, th_vars)
@@ -2503,8 +2503,8 @@ where
with
build_subst {atv_attribute=TA_Unique} st = (TA_Unique, st)
build_subst {atv_attribute=TA_Multi} st = (TA_Multi, st)
- build_subst {atv_attribute=TA_Var {av_name, av_info_ptr}} (avs, th_attrs)
- #! (fresh_av, th_attrs) = freshAttrVar (makeIdent (av_name.id_name+++postfix)) th_attrs
+ build_subst {atv_attribute=TA_Var {av_ident, av_info_ptr}} (avs, th_attrs)
+ #! (fresh_av, th_attrs) = freshAttrVar (makeIdent (av_ident.id_name+++postfix)) th_attrs
#! attr = TA_Var fresh_av
#! th_attrs = th_attrs <:= (av_info_ptr, AVI_Attr attr)
= (attr, ([fresh_av:avs], th_attrs))
@@ -2521,7 +2521,7 @@ where
buildGenericRepType :: !Index !Index !*GenericState
-> (AType, !*GenericState)
buildGenericRepType module_index td_index gs=:{gs_modules, gs_predefs, gs_error}
- # (type_def=:{td_name}, gs_modules) = getTypeDef module_index td_index gs_modules
+ # (type_def=:{td_ident}, gs_modules) = getTypeDef module_index td_index gs_modules
# (common_defs, gs_modules) = gs_modules ! [module_index]
# (atype, gs_error) = build_type module_index type_def gs_predefs common_defs gs_error
= (atype, {gs & gs_modules = gs_modules, gs_error = gs_error})
@@ -2553,9 +2553,9 @@ where
= (type, error) // is that correct ???
build_type
- td_module td=:{td_rhs=(AbstractType _), td_name, td_arity, td_args, td_pos}
+ td_module td=:{td_rhs=(AbstractType _), td_ident, td_arity, td_args, td_pos}
predefs common_defs error
- #! error = checkErrorWithIdentPos (newPosition td_name td_pos) "cannot build generic type repesentation for an abstract type" error
+ #! error = checkErrorWithIdentPos (newPosition td_ident td_pos) "cannot build generic type repesentation for an abstract type" error
= (makeAType TE TA_None, error)
buildIsoRecord :: !DefinedSymbol !Int !DefinedSymbol !DefinedSymbol !*GenericState
@@ -2574,7 +2574,7 @@ buildIsoTo :: !DefinedSymbol !Int !Int !CheckedTypeDef ![DefinedSymbol] !*Generi
-> (!FunDef, !*GenericState)
buildIsoTo
def_sym group_index type_def_mod
- type_def=:{td_rhs, td_name, td_index, td_pos}
+ type_def=:{td_rhs, td_ident, td_index, td_pos}
cons_infos
gs=:{gs_heaps,gs_main_dcl_module_n}
# (arg_expr, arg_var, gs_heaps) = buildVarExpr "x" gs_heaps
@@ -2600,10 +2600,10 @@ where
= build_body1 type_def_mod type_def_index [rt_constructor] cons_infos arg_expr gs
build_body type_def_mod type_def_index (AbstractType _) cons_infos arg_expr gs=:{gs_error}
- #! gs_error = checkErrorWithIdentPos (newPosition td_name td_pos) "cannot build isomorphisms for an abstract type" gs_error
+ #! gs_error = checkErrorWithIdentPos (newPosition td_ident td_pos) "cannot build isomorphisms for an abstract type" gs_error
= (EE, [], {gs & gs_error = gs_error})
build_body type_def_mod type_def_index (SynType _) cons_infos arg_expr gs=:{gs_error}
- #! gs_error = checkErrorWithIdentPos (newPosition td_name td_pos) "cannot build isomorphisms for a synonym type" gs_error
+ #! gs_error = checkErrorWithIdentPos (newPosition td_ident td_pos) "cannot build isomorphisms for a synonym type" gs_error
= (EE, [], {gs & gs_error = gs_error})
build_body1 type_def_mod type_def_index cons_def_syms cons_infos arg_expr gs
@@ -2676,7 +2676,7 @@ buildIsoFrom :: !DefinedSymbol !Int !Int !CheckedTypeDef !*GenericState
-> (!FunDef, !*GenericState)
buildIsoFrom
def_sym group_index type_def_mod
- type_def=:{td_rhs, td_name, td_index, td_pos}
+ type_def=:{td_rhs, td_ident, td_index, td_pos}
gs=:{gs_predefs, gs_heaps, gs_error,gs_main_dcl_module_n}
#! (body_expr, free_vars, gs_heaps, gs_error) = build_body type_def_mod td_rhs gs_predefs gs_heaps gs_error
| not gs_error.ea_ok
@@ -2693,10 +2693,10 @@ where
build_body type_def_mod (RecordType {rt_constructor}) predefs heaps error
= build_sum type_def_mod [rt_constructor] predefs heaps error
build_body type_def_mod (AbstractType _) predefs heaps error
- #! error = checkErrorWithIdentPos (newPosition td_name td_pos) "cannot build isomorphisms for an abstract type" error
+ #! error = checkErrorWithIdentPos (newPosition td_ident td_pos) "cannot build isomorphisms for an abstract type" error
= (EE, [], heaps, error)
build_body type_def_mod (SynType _) predefs heaps error
- #! error = checkErrorWithIdentPos (newPosition td_name td_pos) "cannot build isomorphisms for a synonym type" error
+ #! error = checkErrorWithIdentPos (newPosition td_ident td_pos) "cannot build isomorphisms for a synonym type" error
= (EE, [], heaps, error)
build_sum :: !Index [DefinedSymbol] !PredefinedSymbols !*Heaps !*ErrorAdmin
@@ -2760,7 +2760,7 @@ buildIsomapFromTo :: !IsoDirection !DefinedSymbol !Int !Int !Int !*GenericState
buildIsomapFromTo
iso_dir def_sym group_index type_def_mod type_def_index
gs=:{gs_heaps, gs_modules,gs_main_dcl_module_n}
- #! (type_def=:{td_name, td_index, td_arity, td_pos}, gs_modules)
+ #! (type_def=:{td_ident, td_index, td_arity, td_pos}, gs_modules)
= getTypeDef type_def_mod type_def_index gs_modules
#! arg_names = [ "i" +++ toString n \\ n <- [1 .. td_arity]]
#! (isomap_arg_vars, gs_heaps) = buildFreeVars arg_names gs_heaps
@@ -2772,7 +2772,7 @@ buildIsomapFromTo
#! (fun_type, gs) = build_type1 iso_dir type_def_mod type_def_index gs
#! fun_def = makeFunction def_sym group_index (isomap_arg_vars ++ [arg_var]) body_expr (Yes fun_type) free_vars gs_main_dcl_module_n td_pos
= (fun_def, def_sym.ds_index, gs)
- //---> ("isomap from/to", td_name, fun_def)
+ //---> ("isomap from/to", td_ident, fun_def)
where
build_body :: !IsoDirection !Int !Int !CheckedTypeDef !Expression ![FreeVar] !*GenericState
-> (Expression, [FreeVar], !*GenericState)
@@ -2784,18 +2784,18 @@ where
build_body
iso_dir type_def_mod type_def_index
- type_def=:{td_rhs=(AbstractType _),td_name, td_pos} arg_expr isomap_arg_vars gs=:{gs_error}
+ type_def=:{td_rhs=(AbstractType _),td_ident, td_pos} arg_expr isomap_arg_vars gs=:{gs_error}
#! gs_error = checkErrorWithIdentPos
- (newPosition td_name td_pos)
+ (newPosition td_ident td_pos)
"cannot build map function for an abstract type"
gs_error
= (EE, [], {gs & gs_error = gs_error})
build_body
iso_dir type_def_mod type_def_index
- type_def=:{td_rhs=(SynType _), td_name, td_pos} arg_expr isomap_arg_vars gs=:{gs_error}
+ type_def=:{td_rhs=(SynType _), td_ident, td_pos} arg_expr isomap_arg_vars gs=:{gs_error}
#! gs_error = checkErrorWithIdentPos
- (newPosition td_name td_pos)
+ (newPosition td_ident td_pos)
"cannot build map function for a synonym type"
gs_error
= (EE, [], {gs & gs_error = gs_error})
@@ -2847,9 +2847,9 @@ where
build_cons_arg :: !IsoDirection !AType !FreeVar ![FreeVar] !CheckedTypeDef !*GenericState
-> (!Expression, !*GenericState)
- build_cons_arg iso_dir type cons_arg_var fun_vars type_def=:{td_args, td_name, td_pos} gs
+ build_cons_arg iso_dir type cons_arg_var fun_vars type_def=:{td_args, td_ident, td_pos} gs
#! type_def_args = [atv_variable \\ {atv_variable} <- td_args]
- #! (iso_expr, gs) = buildIsomapExpr type type_def_args fun_vars td_name td_pos gs
+ #! (iso_expr, gs) = buildIsomapExpr type type_def_args fun_vars td_ident td_pos gs
#! {gs_heaps, gs_predefs} = gs
#! sel_expr = case iso_dir of
IsoTo -> buildIsoToSelectionExpr iso_expr gs_predefs
@@ -2885,14 +2885,14 @@ where
iso_dir module_index type_def_index
gs=:{gs_heaps, gs_modules, gs_predefs}
- #! ({td_arity, td_name}, gs_modules) = getTypeDef module_index type_def_index gs_modules
+ #! ({td_arity, td_ident}, gs_modules) = getTypeDef module_index type_def_index gs_modules
#! (tvs1, gs_heaps) = mapSt (\n->build_type_var ("a"+++toString n)) [1..td_arity] gs_heaps
#! (tvs2, gs_heaps) = mapSt (\n->build_type_var ("b"+++toString n)) [1..td_arity] gs_heaps
#! (iso_args) = [buildATypeISO t1 t2 gs_predefs \\ t1 <- tvs1 & t2 <- tvs2]
#! type_symb_ident = {
- type_name = td_name,
+ type_ident = td_ident,
type_index = { glob_module = module_index, glob_object = type_def_index },
type_arity = td_arity,
type_prop = {
@@ -2927,7 +2927,7 @@ where
}
#! gs = {gs & gs_heaps = gs_heaps, gs_modules = gs_modules}
= (symbol_type, gs)
- //---> ("isomap to/from type", td_name, symbol_type)
+ //---> ("isomap to/from type", td_ident, symbol_type)
build_type_var name heaps
#! (av, heaps) = buildAttrVar name heaps
@@ -2938,7 +2938,7 @@ buildIsomapForTypeDef :: !DefinedSymbol !Int !Int !CheckedTypeDef !DefinedSymbol
-> (!FunDef, !Index, !*GenericState)
buildIsomapForTypeDef
fun_def_sym group_index type_def_mod
- type_def=:{td_name, td_index, td_arity, td_pos}
+ type_def=:{td_ident, td_index, td_arity, td_pos}
from_fun to_fun
gs=:{gs_main_dcl_module_n, gs_heaps, gs_predefs}
#! arg_names = [ "iso" +++ toString n \\ n <- [1 .. td_arity]]
@@ -2956,7 +2956,7 @@ buildIsomapType :: !Int !Int !*GenericState -> (!SymbolType, !*GenericState)
buildIsomapType module_index type_def_index
gs=:{gs_heaps, gs_modules, gs_predefs, gs_td_infos}
- #! ({td_arity, td_name, td_pos}, gs_modules) = getTypeDef module_index type_def_index gs_modules
+ #! ({td_arity, td_ident, td_pos}, gs_modules) = getTypeDef module_index type_def_index gs_modules
# ({tdi_kinds}, gs_td_infos) = gs_td_infos ! [module_index, type_def_index]
# kind = case tdi_kinds of
[] -> KindConst
@@ -2980,8 +2980,8 @@ buildIsomapType module_index type_def_index
, gt_arity = 2
}
# dummy_generic_def =
- { gen_name = td_name
- , gen_member_name = td_name
+ { gen_ident = td_ident
+ , gen_member_ident = td_ident
, gen_type = generic_type
, gen_pos = td_pos
, gen_kinds_ptr = nilPtr
@@ -2994,7 +2994,7 @@ buildIsomapType module_index type_def_index
// substitute generic variables with the type
#! type_symb = {
- type_name = td_name,
+ type_ident = td_ident,
type_index = { glob_module = module_index, glob_object = type_def_index },
type_arity = td_arity,
type_prop = {
@@ -3027,7 +3027,7 @@ buildIsomapType module_index type_def_index
#! gs_heaps = { gs_heaps & hp_type_heaps = hp_type_heaps }
#! gs = {gs & gs_heaps = gs_heaps, gs_modules = gs_modules, gs_td_infos = gs_td_infos}
= (symbol_type, gs)
- //---> ("isomap to/from type", td_name, symbol_type)
+ //---> ("isomap to/from type", td_ident, symbol_type)
where
build_type_var1 name heaps
#! (av, heaps) = buildAttrVar name heaps
@@ -3037,12 +3037,12 @@ where
buildIsomapForGeneric :: !DefinedSymbol !Int !GenericDef !*GenericState
-> (!FunDef, !Index, !*GenericState)
-buildIsomapForGeneric def_sym group_index {gen_type, gen_name, gen_pos} gs=:{gs_heaps,gs_main_dcl_module_n}
+buildIsomapForGeneric def_sym group_index {gen_type, gen_ident, gen_pos} gs=:{gs_heaps,gs_main_dcl_module_n}
#! arg_names = [ "iso" +++ toString n \\ n <- [1 .. gen_type.gt_arity]]
#! (arg_vars, gs_heaps) = buildFreeVars arg_names gs_heaps
#! curried_gt_type = curry_symbol_type gen_type.gt_type
#! gs = {gs & gs_heaps = gs_heaps }
- #! (body_expr, gs) = buildIsomapExpr curried_gt_type gen_type.gt_vars arg_vars gen_name gen_pos gs
+ #! (body_expr, gs) = buildIsomapExpr curried_gt_type gen_type.gt_vars arg_vars gen_ident gen_pos gs
#! fun_def = makeFunction def_sym group_index arg_vars body_expr No [] gs_main_dcl_module_n gen_pos
= (fun_def, def_sym.ds_index, gs)
where
@@ -3070,13 +3070,13 @@ where
# (expr, gs_heaps) = buildIsomapIdApp gs_predefs gs_heaps
= (expr, {gs & gs_heaps = gs_heaps})
- build_expr (TA {type_index, type_name} args) arg_type_vars arg_vars name pos gs
+ build_expr (TA {type_index, type_ident} args) arg_type_vars arg_vars name pos gs
# (arg_exprs, gs) = build_exprs args arg_type_vars arg_vars name pos gs
# {gs_heaps, gs_main_dcl_module_n, gs_gtd_infos} = gs
# (gtd_info, gs_gtd_infos) = gs_gtd_infos ! [type_index.glob_module, type_index.glob_object]
# gt = case gtd_info of
(GTDI_Generic gt) -> gt
- _ -> abort ("(generic.icl) type " +++ type_name.id_name +++ " does not have generic representation\n")
+ _ -> abort ("(generic.icl) type " +++ type_ident.id_name +++ " does not have generic representation\n")
# (expr, gs_heaps) = buildFunApp gs_main_dcl_module_n gt.gtr_isomap arg_exprs gs_heaps
= (expr, {gs & gs_heaps = gs_heaps, gs_gtd_infos = gs_gtd_infos})
@@ -3129,7 +3129,7 @@ buildInstance :: !DefinedSymbol !Int !ClassInstance !GenericDef !*GenericState
buildInstance
def_sym group_index
instance_def=:{ins_type, ins_generic, ins_pos, ins_ident}
- generic_def=:{gen_name, gen_type, gen_isomap}
+ generic_def=:{gen_ident, gen_type, gen_isomap}
gs=:{gs_heaps,gs_main_dcl_module_n}
#! original_arity = gen_type.gt_type.st_arity
@@ -3145,7 +3145,7 @@ buildInstance
#! gen_glob_def_sym = {
glob_module = ins_generic.glob_module,
glob_object = {
- ds_ident = gen_name,
+ ds_ident = gen_ident,
ds_index = ins_generic.glob_object,
ds_arity = 0
}
@@ -3204,7 +3204,7 @@ where
build_instance_expr {at_type} cons_infos type_vars vars gen_sym gs
= build_instance_expr1 at_type cons_infos type_vars vars gen_sym gs
- build_instance_expr1 (TA {type_name, type_index, type_arity} type_args) cons_infos type_vars vars gen_sym gs
+ build_instance_expr1 (TA {type_ident, type_index, type_arity} type_args) cons_infos type_vars vars gen_sym gs
# (arg_exprs, cons_infos, gs=:{gs_heaps}) = build_args type_args cons_infos gs
with
build_args [] cons_infos gs = ([], cons_infos, gs)
@@ -3282,7 +3282,7 @@ where
gs_modules,
gs_error}
- #! (generic_def=:{gen_name, gen_pos, gen_cons_ptr}, gs_modules)
+ #! (generic_def=:{gen_ident, gen_pos, gen_cons_ptr}, gs_modules)
= getGenericDef glob_module glob_object.ds_index gs_modules
#! (info, th_vars) = readPtr gen_cons_ptr th_vars
#! gs_heaps = { gs_heaps & hp_type_heaps = {hp_type_heaps & th_vars = th_vars }}
@@ -3293,7 +3293,7 @@ where
TVI_ConsInstance fun_def_sym
-> (fun_def_sym, gs_error)
TVI_Empty
- -> (EmptyDefinedSymbol, reportError gen_name gen_pos "no CONS instance provided" gs_error)
+ -> (EmptyDefinedSymbol, reportError gen_ident gen_pos "no CONS instance provided" gs_error)
#! (app_expr, gs_heaps) = buildFunApp gs_main_dcl_module_n fun_def_sym [cons_info_expr:arg_exprs] gs_heaps
= (app_expr, cons_infos, {gs & gs_heaps = gs_heaps, gs_modules = gs_modules, gs_error = gs_error})
@@ -3446,12 +3446,12 @@ buildAttrVar name heaps=:{hp_type_heaps=hp_type_heaps=:{th_attrs}}
freshTypeVar :: !Ident !*TypeVarHeap -> (!TypeVar, !*TypeVarHeap)
freshTypeVar name th_vars
# (info_ptr, th_vars) = newPtr TVI_Empty th_vars
- = ({tv_name = name, tv_info_ptr = info_ptr}, th_vars)
+ = ({tv_ident = name, tv_info_ptr = info_ptr}, th_vars)
freshAttrVar :: !Ident !*AttrVarHeap -> (!AttributeVar, !*AttrVarHeap)
freshAttrVar name th_attrs
# (info_ptr, th_attrs) = newPtr AVI_Empty th_attrs
- = ({av_name = name, av_info_ptr = info_ptr}, th_attrs)
+ = ({av_ident = name, av_info_ptr = info_ptr}, th_attrs)
freshSymbolType :: String !SymbolType !*TypeHeaps -> (!SymbolType, !*TypeHeaps)
freshSymbolType postfix st type_heaps
@@ -3475,14 +3475,14 @@ freshSymbolType postfix st type_heaps
= (new_st, type_heaps)
where
- subst_type_var postfix tv=:{tv_name={id_name}, tv_info_ptr} th_vars
+ subst_type_var postfix tv=:{tv_ident={id_name}, tv_info_ptr} th_vars
# (tv, th_vars) = freshTypeVar {id_name=id_name+++postfix, id_info=nilPtr} th_vars
= (tv, writePtr tv_info_ptr (TVI_Type (TV tv)) th_vars)
subst_type_vars postfix tvs type_heaps=:{th_vars}
# (tvs, th_vars) = mapSt (subst_type_var postfix) tvs th_vars
= (tvs, {type_heaps & th_vars = th_vars})
- subst_attr_var postfix av=:{av_name={id_name}, av_info_ptr} th_attrs
+ subst_attr_var postfix av=:{av_ident={id_name}, av_info_ptr} th_attrs
# (av, th_attrs) = freshAttrVar {id_name=id_name+++postfix, id_info=nilPtr} th_attrs
= (av, writePtr av_info_ptr (AVI_Attr (TA_Var av)) th_attrs)
subst_attr_vars postfix avs type_heaps=:{th_attrs}
@@ -3567,9 +3567,9 @@ where
= writePtr tv_info_ptr (TVI_Attribute ta) th_vars
buildTypeApp :: !Index !CheckedTypeDef [AType] -> AType
-buildTypeApp td_module {td_name, td_arity, td_index} args
+buildTypeApp td_module {td_ident, td_arity, td_index} args
# global_index = {glob_module = td_module, glob_object = td_index}
- # type_symb = MakeTypeSymbIdent global_index td_name (length args)
+ # type_symb = MakeTypeSymbIdent global_index td_ident (length args)
= makeAType (TA type_symb args) TA_Multi
buildPredefTypeApp :: !Int [AType] !PredefinedSymbols -> !AType
@@ -3604,7 +3604,7 @@ makeFunction {ds_index, ds_arity, ds_ident} group_index arg_vars body_expr opt_s
| length arg_vars <> ds_arity
= abort "length arg_vars <> ds_arity\n"
= {
- fun_symb = ds_ident,
+ fun_ident = ds_ident,
fun_arity = ds_arity,
fun_priority = NoPrio,
fun_body = TransformedBody {
@@ -3669,7 +3669,7 @@ where
/*
| fun_def.fun_index == index
= fun_def
- = abort ("conflicting fun_indexes of " +++ fun_def.fun_symb.id_name +++
+ = abort ("conflicting fun_indexes of " +++ fun_def.fun_ident.id_name +++
toString fun_def.fun_index +++ " and " +++ toString index)
*/
@@ -3706,8 +3706,8 @@ where
build_free_var :: !String !*Heaps -> (!FreeVar, !*Heaps)
build_free_var name heaps=:{hp_var_heap}
# (var_info_ptr, hp_var_heap) = newPtr VI_Empty hp_var_heap
- # var_name = { id_name = name, id_info = nilPtr }
- # free_var = { fv_def_level = NotALevel, fv_count = 0, fv_info_ptr = var_info_ptr, fv_name = var_name}
+ # var_ident = { id_name = name, id_info = nilPtr }
+ # free_var = { fv_def_level = NotALevel, fv_count = 0, fv_info_ptr = var_info_ptr, fv_ident = var_ident}
= (free_var, {heaps & hp_var_heap = hp_var_heap})
//===================================
@@ -3749,7 +3749,7 @@ buildConsApp cons_mod {ds_ident, ds_index, ds_arity} arg_exprs heaps=:{hp_expres
# cons_glob = {glob_module = cons_mod, glob_object = ds_index}
# expr = App {
app_symb = {
- symb_name = ds_ident,
+ symb_ident = ds_ident,
symb_kind = SK_Constructor cons_glob
},
app_args = arg_exprs,
@@ -3764,7 +3764,7 @@ buildFunApp fun_mod {ds_ident, ds_index, ds_arity} arg_exprs heaps=:{hp_expressi
# fun_glob = {glob_module = fun_mod, glob_object = ds_index}
# expr = App {
app_symb = {
- symb_name = ds_ident,
+ symb_ident = ds_ident,
symb_kind = SK_Function fun_glob
},
app_args = arg_exprs,
@@ -3779,7 +3779,7 @@ buildGenericApp module_index {ds_ident, ds_index} kind arg_exprs heaps=:{hp_expr
# glob_index = {glob_module = module_index, glob_object = ds_index}
# expr = App {
app_symb = {
- symb_name = ds_ident,
+ symb_ident = ds_ident,
symb_kind = SK_Generic glob_index kind
},
app_args = arg_exprs,
@@ -3847,7 +3847,7 @@ buildPredefConsApp predef_index args predefs heaps=:{hp_expression_heap}
# pds_ident = predefined_idents.[predef_index]
# global_index = {glob_module = pds_module, glob_object = pds_def}
# symb_ident = {
- symb_name = pds_ident,
+ symb_ident = pds_ident,
symb_kind = SK_Constructor global_index
}
# (expr_info_ptr, hp_expression_heap) = newPtr EI_Empty hp_expression_heap
@@ -3869,7 +3869,7 @@ buildPredefFunApp predef_index args predefs heaps=:{hp_expression_heap}
# pds_ident = predefined_idents.[predef_index]
# global_index = {glob_module = pds_module, glob_object = pds_def}
# symb_ident = {
- symb_name = pds_ident,
+ symb_ident = pds_ident,
symb_kind = SK_Function global_index
}
# (expr_info_ptr, hp_expression_heap) = newPtr EI_Empty hp_expression_heap
@@ -3902,9 +3902,9 @@ buildVarExpr :: !String !*Heaps -> (!Expression, !FreeVar, !*Heaps)
buildVarExpr name heaps=:{hp_var_heap, hp_expression_heap}
# (expr_info_ptr, hp_expression_heap) = newPtr EI_Empty hp_expression_heap
# (var_info_ptr, hp_var_heap) = newPtr VI_Empty hp_var_heap
- # var_name = { id_name = name, id_info = nilPtr }
- # fv = { fv_def_level = NotALevel, fv_count = 1, fv_info_ptr = var_info_ptr, fv_name = var_name}
- # var = Var {var_name = var_name, var_expr_ptr = expr_info_ptr, var_info_ptr = var_info_ptr }
+ # var_ident = { id_name = name, id_info = nilPtr }
+ # fv = { fv_def_level = NotALevel, fv_count = 1, fv_info_ptr = var_info_ptr, fv_ident = var_ident}
+ # var = Var {var_ident = var_ident, var_expr_ptr = expr_info_ptr, var_info_ptr = var_info_ptr }
# hp_var_heap = writePtr var_info_ptr (VI_Expression var) hp_var_heap
# heaps = { heaps & hp_var_heap = hp_var_heap, hp_expression_heap = hp_expression_heap }
= (var, fv, heaps)
@@ -3919,16 +3919,16 @@ buildVarExprs [name:names] heaps
buildFreeVar :: !String !*Heaps -> (!FreeVar, !*Heaps)
buildFreeVar name heaps=:{hp_var_heap}
# (var_info_ptr, hp_var_heap) = newPtr VI_Empty hp_var_heap
- # var_name = { id_name = name, id_info = nilPtr }
- # var = { fv_def_level = NotALevel, fv_count = 1, fv_info_ptr = var_info_ptr, fv_name = var_name}
+ # var_ident = { id_name = name, id_info = nilPtr }
+ # var = { fv_def_level = NotALevel, fv_count = 1, fv_info_ptr = var_info_ptr, fv_ident = var_ident}
= (var, {heaps & hp_var_heap = hp_var_heap})
buildFreeVar0 :: !String !*Heaps -> (!FreeVar, !*Heaps)
buildFreeVar0 name heaps=:{hp_var_heap}
# (var_info_ptr, hp_var_heap) = newPtr VI_Empty hp_var_heap
- # var_name = { id_name = name, id_info = nilPtr }
- # var = { fv_def_level = NotALevel, fv_count = 0, fv_info_ptr = var_info_ptr, fv_name = var_name}
+ # var_ident = { id_name = name, id_info = nilPtr }
+ # var = { fv_def_level = NotALevel, fv_count = 0, fv_info_ptr = var_info_ptr, fv_ident = var_ident}
= (var, {heaps & hp_var_heap = hp_var_heap})
@@ -3938,9 +3938,9 @@ buildFreeVars names heaps = mapSt buildFreeVar names heaps
// create expression from a variable
buildBoundVarExpr :: !FreeVar !*Heaps -> (!Expression, !FreeVar, !*Heaps)
-buildBoundVarExpr free_var=:{fv_info_ptr, fv_name, fv_count} heaps=:{hp_expression_heap, hp_var_heap}
+buildBoundVarExpr free_var=:{fv_info_ptr, fv_ident, fv_count} heaps=:{hp_expression_heap, hp_var_heap}
# (expr_info_ptr, hp_expression_heap) = newPtr EI_Empty hp_expression_heap
- # expr = Var {var_name = fv_name, var_expr_ptr = expr_info_ptr, var_info_ptr = fv_info_ptr }
+ # expr = Var {var_ident = fv_ident, var_expr_ptr = expr_info_ptr, var_info_ptr = fv_info_ptr }
# hp_var_heap = writePtr fv_info_ptr (VI_Expression expr) hp_var_heap
# heaps = { heaps & hp_var_heap = hp_var_heap, hp_expression_heap = hp_expression_heap }
= (expr, {free_var & fv_count = fv_count + 1}, heaps)
@@ -4082,7 +4082,7 @@ mapExprSt f expr st = f expr st
copyFunDef :: !FunDef !Index !Index !*Heaps -> (!FunDef, !*Heaps)
-copyFunDef fun_def=:{fun_symb,fun_arity,fun_body,fun_info} fun_index group_index gs_heaps
+copyFunDef fun_def=:{fun_ident,fun_arity,fun_body,fun_info} fun_index group_index gs_heaps
# (TransformedBody {tb_args, tb_rhs}) = fun_body
# (fresh_arg_vars, gs_heaps) = copy_vars tb_args gs_heaps
@@ -4096,7 +4096,7 @@ copyFunDef fun_def=:{fun_symb,fun_arity,fun_body,fun_info} fun_index group_index
# fun_def =
{ fun_def
// & fun_index = fun_index
- //, fun_symb = makeIdent "zzzzzzzzzzzz"
+ //, fun_ident = makeIdent "zzzzzzzzzzzz"
& fun_body = TransformedBody { tb_args = fresh_arg_vars, tb_rhs = copied_rhs }
, fun_info =
{ fun_info
@@ -4108,7 +4108,7 @@ copyFunDef fun_def=:{fun_symb,fun_arity,fun_body,fun_info} fun_index group_index
where
copy_vars vars heaps
# (fresh_vars, heaps) = copyVars vars heaps
- # infos = [VI_Variable fv_name fv_info_ptr\\ {fv_name,fv_info_ptr} <- fresh_vars]
+ # infos = [VI_Variable fv_ident fv_info_ptr\\ {fv_ident,fv_info_ptr} <- fresh_vars]
# heaps = setVarInfos vars infos heaps
= (fresh_vars, heaps)