From e0745bb35fa499e2f94659a18ec10148c0938c94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20Will=C3=A9n?= Date: Tue, 9 Dec 2025 23:16:49 +0100 Subject: [PATCH 01/37] added feature to reset explicit region --- .gitignore.swp | Bin 0 -> 12288 bytes gitDiffs.txt | 430 +++++++++++++++++++ run | Bin 0 -> 150280 bytes src/Common/ParseInfo.sml | 2 +- src/Compiler/Lambda/CompileDec.sml | 6 +- src/Compiler/Lambda/LAMBDA_EXP.sml | 5 +- src/Compiler/Lambda/LambdaBasics.sml | 8 +- src/Compiler/Lambda/LambdaExp.sml | 45 +- src/Compiler/Lambda/LambdaStatSem.sml | 4 +- src/Compiler/Lambda/OptLambda.sml | 4 +- src/Compiler/Regions/AtInf.sml | 77 ++-- src/Compiler/Regions/Mul.sml | 4 +- src/Compiler/Regions/SpreadExpression.sml | 30 +- test/explicit_regions/all.tst | 19 +- test/explicit_regions/forceReset.sml | 11 + test/explicit_regions/forceReset.sml.out.ok | 0 test/explicit_regions/forceReset2.sml | 11 + test/explicit_regions/forceReset2.sml.log.ok | 22 + test/explicit_regions/forceReset2.sml.out.ok | 0 test/explicit_regions/forceReset3.sml | 11 + test/explicit_regions/forceReset3.sml.out.ok | 0 test/explicit_regions/forceReset4.sml | 11 + test/explicit_regions/forceReset4.sml.log.ok | 21 + test/explicit_regions/forceReset4.sml.out.ok | 0 test/explicit_regions/forceReset5.sml | 14 + test/explicit_regions/forceReset5.sml.out.ok | 0 test/explicit_regions/forceReset6.sml | 13 + test/explicit_regions/forceReset6.sml.log.ok | 32 ++ test/explicit_regions/forceReset6.sml.out.ok | 0 test/explicit_regions/reset.sml | 11 + test/explicit_regions/reset.sml.out.ok | 0 test/explicit_regions/reset2.sml | 10 + test/explicit_regions/reset2.sml.log.ok | 22 + test/explicit_regions/reset2.sml.out.ok | 0 test/explicit_regions/reset3.sml | 11 + test/explicit_regions/reset3.sml.out.ok | 0 test/explicit_regions/reset4.sml | 11 + test/explicit_regions/reset4.sml.log.ok | 21 + test/explicit_regions/reset4.sml.out.ok | 0 test/explicit_regions/reset5.sml | 14 + test/explicit_regions/reset5.sml.out.ok | 0 test/explicit_regions/reset6.sml | 13 + test/explicit_regions/reset6.sml.log.ok | 32 ++ test/explicit_regions/reset6.sml.out.ok | 0 test/explicit_regions/resetErr.sml | 11 + 45 files changed, 868 insertions(+), 68 deletions(-) create mode 100644 .gitignore.swp create mode 100644 gitDiffs.txt create mode 100755 run create mode 100644 test/explicit_regions/forceReset.sml create mode 100644 test/explicit_regions/forceReset.sml.out.ok create mode 100644 test/explicit_regions/forceReset2.sml create mode 100644 test/explicit_regions/forceReset2.sml.log.ok create mode 100644 test/explicit_regions/forceReset2.sml.out.ok create mode 100644 test/explicit_regions/forceReset3.sml create mode 100644 test/explicit_regions/forceReset3.sml.out.ok create mode 100644 test/explicit_regions/forceReset4.sml create mode 100644 test/explicit_regions/forceReset4.sml.log.ok create mode 100644 test/explicit_regions/forceReset4.sml.out.ok create mode 100644 test/explicit_regions/forceReset5.sml create mode 100644 test/explicit_regions/forceReset5.sml.out.ok create mode 100644 test/explicit_regions/forceReset6.sml create mode 100644 test/explicit_regions/forceReset6.sml.log.ok create mode 100644 test/explicit_regions/forceReset6.sml.out.ok create mode 100644 test/explicit_regions/reset.sml create mode 100644 test/explicit_regions/reset.sml.out.ok create mode 100644 test/explicit_regions/reset2.sml create mode 100644 test/explicit_regions/reset2.sml.log.ok create mode 100644 test/explicit_regions/reset2.sml.out.ok create mode 100644 test/explicit_regions/reset3.sml create mode 100644 test/explicit_regions/reset3.sml.out.ok create mode 100644 test/explicit_regions/reset4.sml create mode 100644 test/explicit_regions/reset4.sml.log.ok create mode 100644 test/explicit_regions/reset4.sml.out.ok create mode 100644 test/explicit_regions/reset5.sml create mode 100644 test/explicit_regions/reset5.sml.out.ok create mode 100644 test/explicit_regions/reset6.sml create mode 100644 test/explicit_regions/reset6.sml.log.ok create mode 100644 test/explicit_regions/reset6.sml.out.ok create mode 100644 test/explicit_regions/resetErr.sml diff --git a/.gitignore.swp b/.gitignore.swp new file mode 100644 index 0000000000000000000000000000000000000000..580fb01d1f0c560027aba3518c81c849aca85762 GIT binary patch literal 12288 zcmeI&KT5@I! z4FLoYKmY**5I_I{1XfYNRe{|3gRk|6-{{BS*VwlV2q1s}0tg_000IagfB*srAh3c0 z>PF;#OXSI?`~E+F|Nr*=m(QoqyU(l7i_f!9xAxJ8LI42-5I_I{1Q0*~0R#|00D=D& wIBq2=i-}1a|I7UBDy*GyO+D{ynTj>B#HJ9{xH3O;I!sh@t7WV*Juz0x4`6{n$p8QV literal 0 HcmV?d00001 diff --git a/gitDiffs.txt b/gitDiffs.txt new file mode 100644 index 000000000..7b3823628 --- /dev/null +++ b/gitDiffs.txt @@ -0,0 +1,430 @@ +diff --git a/src/Common/ParseInfo.sml b/src/Common/ParseInfo.sml +index 220c16e3..c774b466 100644 +--- a/src/Common/ParseInfo.sml ++++ b/src/Common/ParseInfo.sml +@@ -3,7 +3,7 @@ structure ParseInfo: PARSE_INFO = + fun impossible s = Crash.impossible ("ParseInfo." ^ s) + + structure SourceInfo = SourceInfo +- structure DFInfo = DFInfo ++ structure DFInfo = DFInfo + type SourceInfo = SourceInfo.SourceInfo + type DFInfo = DFInfo.DFInfo + type StringTree = PrettyPrint.StringTree +diff --git a/src/Compiler/Lambda/CompileDec.sml b/src/Compiler/Lambda/CompileDec.sml +index 34eaa285..4e7005d9 100644 +--- a/src/Compiler/Lambda/CompileDec.sml ++++ b/src/Compiler/Lambda/CompileDec.sml +@@ -2769,7 +2769,8 @@ end; (*match compiler local*) + of SOME(TypeInfo.VAR_INFO{instances = [tau]}) => + compileType tau + | _ => die "compileExp(APPexp..): wrong type info" +- in PRIM(RESET_REGIONSprim{instance = tau'}, [arg']) ++ val regvars = regvarsFromRegvarsAndInfoOpt regvars_opt ++ in PRIM(RESET_REGIONSprim{instance = tau', regvars=regvars}, [arg']) + end + + | CE.FORCE_RESET_REGIONS => +@@ -2778,7 +2779,8 @@ end; (*match compiler local*) + of SOME(TypeInfo.VAR_INFO{instances = [tau]}) => + compileType tau + | _ => die "compileExp(APPexp..): wrong type info" +- in PRIM(FORCE_RESET_REGIONSprim{instance = tau'}, [arg']) ++ val regvars = regvarsFromRegvarsAndInfoOpt regvars_opt ++ in PRIM(FORCE_RESET_REGIONSprim{instance = tau', regvars=regvars}, [arg']) + end + + | CE.ABS => overloaded_prim env info CE.ABS (compileAtexp env) (compileExp env) arg true [] +diff --git a/src/Compiler/Lambda/LAMBDA_EXP.sml b/src/Compiler/Lambda/LAMBDA_EXP.sml +index e99e6571..9158c3b6 100644 +--- a/src/Compiler/Lambda/LAMBDA_EXP.sml ++++ b/src/Compiler/Lambda/LAMBDA_EXP.sml +@@ -110,9 +110,9 @@ signature LAMBDA_EXP = + | EXPORTprim of {name : string, + instance_arg : 'Type, + instance_res : 'Type} +- | RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-directed, ++ | RESET_REGIONSprim of {instance : 'Type, regvars : regvar list} (* NOT Standard ML, for programmer-directed, + but safe, resetting of regions *) +- | FORCE_RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-controlled, ++ | FORCE_RESET_REGIONSprim of {instance: 'Type, regvars : regvar list} (* NOT Standard ML, for programmer-controlled, + unsafe resetting of regions *) + + datatype LambdaPgm = PGM of datbinds * LambdaExp +@@ -180,6 +180,7 @@ signature LAMBDA_EXP = + val layoutTypeList : TypeList -> StringTree + val layoutPrim : ('Type -> StringTree) -> 'Type prim -> StringTree + val layoutType_repl : Type -> StringTree ++ val layoutRegVars : regvar list -> StringTree + + (* Generate ML code *) + val barify : LambdaPgm -> StringTree +diff --git a/src/Compiler/Lambda/LambdaBasics.sml b/src/Compiler/Lambda/LambdaBasics.sml +index a1bfa192..baa984b7 100644 +--- a/src/Compiler/Lambda/LambdaBasics.sml ++++ b/src/Compiler/Lambda/LambdaBasics.sml +@@ -499,8 +499,8 @@ structure LambdaBasics: LAMBDA_BASICS = + region infere nce and back end; it must not be changed; we must rename bound + tyvars, however. *) + end +- | RESET_REGIONSprim {instance} => RESET_REGIONSprim {instance=on_tau ren instance} +- | FORCE_RESET_REGIONSprim {instance} => FORCE_RESET_REGIONSprim {instance=on_tau ren instance} ++ | RESET_REGIONSprim {instance, regvars} => RESET_REGIONSprim {instance=on_tau ren instance, regvars=regvars} ++ | FORCE_RESET_REGIONSprim {instance, regvars} => FORCE_RESET_REGIONSprim {instance=on_tau ren instance, regvars=regvars} + | x => x + + fun on_e ren lamb = +@@ -620,8 +620,8 @@ structure LambdaBasics: LAMBDA_BASICS = + tyvars=tyvars, Type=Type} + (*the type scheme (tyvars, Type) is for a special purpose in the + region inference and back end; it is closed (i.e., ftv(Type) \subseteq {tyvars}) *) +- | RESET_REGIONSprim {instance} => RESET_REGIONSprim{instance=on_Type S instance} +- | FORCE_RESET_REGIONSprim {instance} => FORCE_RESET_REGIONSprim{instance=on_Type S instance} ++ | RESET_REGIONSprim {instance, regvars} => RESET_REGIONSprim{instance=on_Type S instance, regvars=regvars} ++ | FORCE_RESET_REGIONSprim {instance, regvars} => FORCE_RESET_REGIONSprim{instance=on_Type S instance, regvars=regvars} + | _ => prim + + (* tyvarsType : Find the type variables in a type. We use Set +diff --git a/src/Compiler/Lambda/LambdaExp.sml b/src/Compiler/Lambda/LambdaExp.sml +index 140ca58b..c2fb3578 100644 +--- a/src/Compiler/Lambda/LambdaExp.sml ++++ b/src/Compiler/Lambda/LambdaExp.sml +@@ -131,10 +131,10 @@ structure LambdaExp : LAMBDA_EXP = + | EXPORTprim of {name : string, + instance_arg : 'Type, + instance_res : 'Type} +- | RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-directed, ++ | RESET_REGIONSprim of {instance: 'Type, regvars: regvar list} (* NOT Standard ML, for programmer-directed, + * but safe, resetting of regions *) +- | FORCE_RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-controlled, +- * unsafe resetting of regions *) ++ | FORCE_RESET_REGIONSprim of {instance: 'Type, regvars: regvar list} (* NOT Standard ML, for programmer-controlled, ++ * unsafe resetting of regions *) + + datatype LambdaPgm = PGM of datbinds * LambdaExp + +@@ -235,8 +235,8 @@ structure LambdaExp : LAMBDA_EXP = + | EQUALprim{instance} => (foldType g) acc instance + | CCALLprim {instances, ...} => foldl' (foldType g) acc instances + | EXPORTprim {instance_arg,instance_res, ...} => (foldType g) ((foldType g) acc instance_arg) instance_res +- | RESET_REGIONSprim{instance} => (foldType g) acc instance +- | FORCE_RESET_REGIONSprim{instance} => (foldType g) acc instance ++ | RESET_REGIONSprim{instance, regvars} => (foldType g) acc instance ++ | FORCE_RESET_REGIONSprim{instance, regvars} => (foldType g) acc instance + | _ => acc + + fun size (e: LambdaExp) = foldTD(fn n:int => fn exp => n+1, +@@ -498,6 +498,11 @@ structure LambdaExp : LAMBDA_EXP = + barify_catch_basislib (unsymb(TyName.pr_TyName' tn)) + else TyName.pr_TyName tn + ++ fun layoutRegVar r = (PP.LEAF o RegVar.pr) r ++ ++ fun layoutRegVars regvars = PP.NODE {start="", finish="", childsep=PP.LEFT " ", indent=0, ++ children = map layoutRegVar regvars} ++ + fun layoutPrim layoutType prim = + case prim of + CONprim{con,instances,regvar} => +@@ -665,16 +670,16 @@ structure LambdaExp : LAMBDA_EXP = + else + if !barify_p then PP.LEAF ("Prim.export " ^ strip_ name) + else PP.LEAF ("_export " ^ name) +- | RESET_REGIONSprim {instance} => ++ | RESET_REGIONSprim {instance, regvars} => + if !Flags.print_types then + PP.NODE{start="resetRegions(", finish=")",indent=2, +- children=[layoutType instance],childsep=PP.NOSEP} +- else PP.LEAF("resetRegions") +- | FORCE_RESET_REGIONSprim {instance} => ++ children=[layoutType instance, layoutRegVars regvars],childsep=PP.RIGHT ","} ++ else PP.LEAF "resetRegions" ++ | FORCE_RESET_REGIONSprim {instance, regvars} => + if !Flags.print_types then + PP.NODE{start="forceResetting(", finish=")",indent=2, +- children=[layoutType instance],childsep=PP.NOSEP} +- else PP.LEAF("forceResetting") ++ children=[layoutType instance, layoutRegVars regvars],childsep=PP.RIGHT ","} ++ else PP.LEAF "forceResetting" + + fun layoutSwitch layoutLambdaExp show_const (SWITCH(lamb,rules,wildcardOpt)) = + let +@@ -770,10 +775,6 @@ structure LambdaExp : LAMBDA_EXP = + + and layoutType_repl t = layoutType0 {repl=true} t + +- and layoutRegVar r = (PP.LEAF o RegVar.pr) r +- +- and layoutRegVars regvars = PP.NODE {start="", finish="", childsep=PP.LEFT " ", indent=0, +- children = map layoutRegVar regvars} + and layoutTypeList tl = + case tl of + Types taus => PP.NODE{start="Types(", finish=")", indent=1, +@@ -1577,10 +1578,14 @@ structure LambdaExp : LAMBDA_EXP = + (Pickle.tup3Gen0 (Pickle.string,pu_Type,pu_Type))) + fun fun_RESET_REGIONSprim _ = + Pickle.con1 RESET_REGIONSprim (fn RESET_REGIONSprim a => a | _ => die "pu_prim.RESET_REGIONSprim") +- (Pickle.convert(fn t => {instance=t},#instance) pu_Type) ++ (Pickle.convert(fn (t, rvs) => {instance=t, regvars=rvs}, ++ fn {instance=t, regvars=rvs} => (t, rvs)) ++ (Pickle.pairGen0(pu_Type, Pickle.listGen RegVar.pu))) + fun fun_FORCE_RESET_REGIONSprim _ = +- Pickle.con1 FORCE_RESET_REGIONSprim (fn FORCE_RESET_REGIONSprim a => a | _ => die "pu_prim.FORCE_RESET_REGIONSprim") +- (Pickle.convert(fn t => {instance=t},#instance) pu_Type) ++ Pickle.con1 FORCE_RESET_REGIONSprim (fn FORCE_RESET_REGIONSprim a => a | _ => die "pu_prim.FORCE_RESET_REGIONSprim") ++ (Pickle.convert(fn (t, rvs) => {instance=t, regvars=rvs}, ++ fn {instance=t, regvars=rvs} => (t, rvs)) ++ (Pickle.pairGen0(pu_Type, Pickle.listGen RegVar.pu))) + val fun_BLOCKF64prim = Pickle.con0 BLOCKF64prim + fun fun_SCRATCHMEMprim _ = + Pickle.con1 (fn n => SCRATCHMEMprim {sz=n}) (fn SCRATCHMEMprim {sz=a} => a | _ => die "pu_prim.SCRATCHMEMprim") +@@ -1892,8 +1897,8 @@ structure LambdaExp : LAMBDA_EXP = + | SCRATCHMEMprim _ => acc + | EXPORTprim {instance_arg,instance_res, ...} => + tyvars_Type s instance_arg (tyvars_Type s instance_res acc) +- | RESET_REGIONSprim{instance} => tyvars_Type s instance acc +- | FORCE_RESET_REGIONSprim{instance} => tyvars_Type s instance acc ++ | RESET_REGIONSprim{instance, regvars} => tyvars_Type s instance acc ++ | FORCE_RESET_REGIONSprim{instance, regvars} => tyvars_Type s instance acc + | RECORDprim _ => acc + | SELECTprim _ => acc + | UB_RECORDprim => acc +diff --git a/src/Compiler/Lambda/LambdaStatSem.sml b/src/Compiler/Lambda/LambdaStatSem.sml +index 87cb45b4..24ecf6d8 100644 +--- a/src/Compiler/Lambda/LambdaStatSem.sml ++++ b/src/Compiler/Lambda/LambdaStatSem.sml +@@ -781,7 +781,7 @@ structure LambdaStatSem: LAMBDA_STAT_SEM = + log "but found type:\n"; log_st (layoutTypes ts); + die "Export of function") + end) +- | RESET_REGIONSprim {instance} => ++ | RESET_REGIONSprim {instance, regvars} => + (valid_t env instance; + check_t_no_f64 "RESET_REGIONSprim" instance; + case lexps +@@ -791,7 +791,7 @@ structure LambdaStatSem: LAMBDA_STAT_SEM = + else die "RESET_REGIONSprim2" + end + | _ => die "RESET_REGIONSprim.Wrong number of args") +- | FORCE_RESET_REGIONSprim {instance} => ++ | FORCE_RESET_REGIONSprim {instance, regvars} => + (valid_t env instance; + check_t_no_f64 "FORCE_RESET_REGIONSprim" instance; + case lexps +diff --git a/src/Compiler/Lambda/OptLambda.sml b/src/Compiler/Lambda/OptLambda.sml +index 61e9f7dd..e12efc23 100644 +--- a/src/Compiler/Lambda/OptLambda.sml ++++ b/src/Compiler/Lambda/OptLambda.sml +@@ -448,8 +448,8 @@ structure OptLambda : OPT_LAMBDA = + eq_Type(t,t') andalso RegVar.eq(rv,rv') + | (ASSIGNprim {instance=t}, ASSIGNprim {instance=t'}) => eq_Type(t,t') + | (EQUALprim {instance=t}, EQUALprim {instance=t'}) => eq_Type(t,t') +- | (RESET_REGIONSprim {instance=t}, RESET_REGIONSprim {instance=t'}) => eq_Type(t,t') +- | (FORCE_RESET_REGIONSprim {instance=t}, FORCE_RESET_REGIONSprim {instance=t'}) => eq_Type(t,t') ++ | (RESET_REGIONSprim {instance=t, regvars=rvs}, RESET_REGIONSprim {instance=t', regvars=rvs'}) => eq_Type(t,t') ++ | (FORCE_RESET_REGIONSprim {instance=t, regvars=rvs}, FORCE_RESET_REGIONSprim {instance=t', regvars=rvs'}) => eq_Type(t,t') + | (CCALLprim{name=n,instances=il,tyvars=tvs,Type=t}, CCALLprim{name=n',instances=il',tyvars=tvs',Type=t'}) => + n = n' andalso eq_Types (il,il') andalso eq_sigma((tvs,t),(tvs',t')) + | (EXPORTprim{name=n,instance_arg=a,instance_res=r}, EXPORTprim{name=n',instance_arg=a',instance_res=r'}) => +diff --git a/src/Compiler/Regions/AtInf.sml b/src/Compiler/Regions/AtInf.sml +index 4b514d24..92f25445 100644 +--- a/src/Compiler/Regions/AtInf.sml ++++ b/src/Compiler/Regions/AtInf.sml +@@ -111,7 +111,7 @@ structure AtInf : AT_INF = + end + end + +- fun lay_header (force,lvar,(tau,p:place option)) = ++ fun lay_header_lvar (force,lvar,(tau,p:place option)) = + if force + then PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, + children = [PP.LEAF "You have requested resetting the regions that appear free ", +@@ -125,6 +125,17 @@ structure AtInf : AT_INF = + PP.LEAF ("in the type scheme with place of '" ^ Lvars.pr_lvar lvar ^ "', i.e., in"), + lay_sigma_p(RType.type_to_scheme tau,p)]} + ++ fun lay_header_regvars (force, regvars) = ++ if force ++ then PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, ++ children = [PP.LEAF "You have requested resetting the regions ", ++ PP.LEAF ("{" ^ regvars ^ "}."), ++ PP.LEAF "I have done as you requested, but I cannot guarantee that it is safe.", ++ PP.LEAF "Here are my objections (one for each region variable concerned):"]} ++ else PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, ++ children = [PP.LEAF "You have suggested resetting the regions ", ++ PP.LEAF ("{" ^ regvars ^ "}.")]} ++ + fun lay_set (rhos: place list) = + PP.HNODE{start ="{", finish = "}", childsep = PP.RIGHT",", + children = map Eff.layout_effect rhos} +@@ -294,15 +305,24 @@ structure AtInf : AT_INF = + in loop(1,l) + end + +- fun lay_report (force:bool, lvar, mu, conflicts) : StringTree = ++ fun lay_report_lvar (force:bool, lvar, mu, conflicts) : StringTree = + let val tau_p = + case RType.unBOX mu of + SOME (tau,p) => (tau,SOME p) + | NONE => (mu,NONE) +- in PP.NODE{start = if force then ("forceResetting(" ^ Lvars.pr_lvar lvar ^ "): ") +- else ("resetRegions(" ^ Lvars.pr_lvar lvar ^ "): "), +- finish = "", indent = 3, childsep = PP.NOSEP, +- children = lay_header(force,lvar,tau_p) :: lay_conflicts(force,conflicts)} ++ val head = if force then ("forceResetting(" ^ Lvars.pr_lvar lvar ^ "): ") ++ else ("resetRegions(" ^ Lvars.pr_lvar lvar ^ "): ") ++ in PP.NODE{start = head, finish = "", indent = 3, childsep = PP.NOSEP, ++ children = lay_header_lvar(force,lvar,tau_p) :: lay_conflicts(force,conflicts)} ++ end ++ ++ fun lay_report_regvars (force:bool, rhos, conflicts) : StringTree = ++ let ++ val regvars = String.concatWith ", " (map Eff.pp_eff rhos) ++ val head = if force then ("forceResetting(" ^ regvars ^ "): ") ++ else ("resetRegions(" ^ regvars ^ "): ") ++ in PP.NODE{start = head, finish = "", indent = 3, childsep = PP.NOSEP, ++ children = lay_header_regvars(force,regvars) :: lay_conflicts(force,conflicts)} + end + + fun any_live (rho,sme as (_,LE,EE), liveset, +@@ -555,25 +575,30 @@ structure AtInf : AT_INF = + | BLOCKF64 (alloc, trs) => BLOCKF64(which_at sme alloc,map (sma_trip sme) trs) + | SCRATCHMEM (n,alloc) => SCRATCHMEM(n,which_at sme alloc) + | EXPORT(i,tr) => EXPORT(i,sma_trip sme tr) +- | RESET_REGIONS ({force, liveset=SOME liveset, ...}, tr as (TR(VAR{lvar,...},meta,_,_))) => ++ | RESET_REGIONS ({force, liveset=SOME liveset, regions_for_resetting}, tr as (TR(e,meta,_,_))) => + (case meta of + MulExp.RegionExp.Mus [mu] => +- let val free_regions = Eff.remove_duplicates(RType.frv_mu mu) +- val (place_at_list, conflicts) = +- analyse_rhos_for_resetting(sme,liveset,free_regions) +- val conflicts' = +- if force then +- foldl (fn (SAT rho, acc) => FORMAL_REGION_PARAM rho :: acc +- | (_, acc) => acc) conflicts place_at_list +- else conflicts +- in +- case conflicts' of +- [] => () +- | _ => warn (PP.reportStringTree(lay_report(force,lvar,mu,conflicts'))); +- RESET_REGIONS({force=force,regions_for_resetting = place_at_list, liveset=NONE}, +- sma_trip sme tr) +- end +- | _ => die "RESET_REGIONS: expected a type and place on argument to resetRegions" ++ let ++ val rhos = map #1 regions_for_resetting ++ val free_regions = Eff.remove_duplicates(RType.frv_mu mu @ rhos) ++ val (place_at_list, conflicts) = ++ analyse_rhos_for_resetting(sme,liveset,free_regions) ++ val conflicts' = ++ if force then ++ foldl (fn (SAT rho, acc) => FORMAL_REGION_PARAM rho :: acc ++ | (_, acc) => acc) conflicts place_at_list ++ else conflicts ++ in ++ case conflicts' of ++ [] => () ++ | _ => case e of ++ VAR{lvar, ...} => warn (PP.reportStringTree(lay_report_lvar(force,lvar,mu,conflicts'))) ++ | RECORD(NONE, nil) => warn (PP.reportStringTree(lay_report_regvars(force, rhos, conflicts'))) ++ | _ => die "RESET_REGIONS: ill-formed expression: argument to RESET_REGIONS should be a variable or unit"; ++ RESET_REGIONS({force=force,regions_for_resetting = place_at_list, liveset=NONE}, ++ sma_trip sme tr) ++ end ++ | _ => die "RESET_REGIONS: expected a type and place on argument to resetRegions" + ) + | RESET_REGIONS _ => die "ill-formed expression: argument to RESET_REGIONS should be a variable" + | FRAME{declared_lvars, declared_excons} => +diff --git a/src/Compiler/Regions/Mul.sml b/src/Compiler/Regions/Mul.sml +index b7c54ba6..b27c7be5 100644 +--- a/src/Compiler/Regions/Mul.sml ++++ b/src/Compiler/Regions/Mul.sml +@@ -223,7 +223,7 @@ struct + end + + fun equal_qmularefset ((qmularefset1:qmularefset,sigma1),(qmularefset2:qmularefset,sigma2)) = +- arity_qmularefset(qmularefset1) = arity_qmularefset(qmularefset2) andalso ++ arity_qmularefset qmularefset1 = arity_qmularefset qmularefset2 andalso + + (* (1) normalize qmularefsets so that bvs comes in the order of first + * occurrences in its type. (2) instantiate qmularefsets to fresh +@@ -302,7 +302,7 @@ struct + loop(n+1)) + in loop 0; + Array.update(empty, +- hash(key_of_toplevel_arreff), ++ hash key_of_toplevel_arreff, + [(key_of_toplevel_arreff,[])]) + end + +diff --git a/src/Compiler/Regions/SpreadExpression.sml b/src/Compiler/Regions/SpreadExpression.sml +index 0528a994..055e5cd4 100644 +--- a/src/Compiler/Regions/SpreadExpression.sml ++++ b/src/Compiler/Regions/SpreadExpression.sml +@@ -1455,7 +1455,7 @@ good *) + | _ => die "EXPORT: function does not have function type" + end handle X => (print "EXPORT-1\n"; raise X)) + +- | E.PRIM(E.RESET_REGIONSprim{instance = _}, [e0 as (E.VAR _)] ) => ++ | E.PRIM(E.RESET_REGIONSprim{instance = _, regvars = regvars}, (* [e0 as (E.VAR _), e1] *) [e0] ) => + (* + x => [mu], empty rho fresh + ----------------------------------- +@@ -1470,36 +1470,50 @@ good *) + val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) + val mus0 = unMus "S.RESET_REGIONSprim" meta0 + val mu = R.unitType +- val phi = Eff.mkUnion(map Eff.mkPut(List.filter Eff.is_rho (R.ann_mus mus0 []))) ++ val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of ++ NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") ++ | SOME p => p) regvars ++ val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) ++ val phi = Eff.mkUnion(map Eff.mkPut rhos) + in + case e' of + E'.VAR{il_r as ref il, ...} => + (case R.un_il (#1 il) of ([],[],[]) => +- (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = []},t), E'.Mus [mu], phi), ++ (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), + NOTAIL, + tvs) + | _ => crash_resetting false) ++ | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) ++ (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), ++ NOTAIL, ++ tvs) + | _ => crash_resetting false + end +- | E.PRIM(E.RESET_REGIONSprim{instance = _}, _ ) => crash_resetting false +- | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _}, [e0 as (E.VAR _)] ) => ++ | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _, regvars = regvars}, [e0] ) => + (* same as RESET_REGIONSprim, except that "force" is set to true in the result *) + let + val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) + val mus0 = unMus "S.FORCE_RESET_REGIONSprim" meta0 + val mu = R.unitType +- val phi = Eff.mkUnion(map Eff.mkPut(List.filter Eff.is_rho (R.ann_mus mus0 []))) ++ val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of ++ NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") ++ | SOME p => p) regvars ++ val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) ++ val phi = Eff.mkUnion(map Eff.mkPut rhos) + in + case e' of + E'.VAR{il_r as ref il, ...} => + (case R.un_il (#1 il) of ([],[],[]) => +- (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = []},t), E'.Mus [mu], phi), ++ (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), + NOTAIL, + tvs) + | _ => crash_resetting true) ++ | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) ++ (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), ++ NOTAIL, ++ tvs) + | _ => crash_resetting true + end +- | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _}, _ ) => crash_resetting true + + | E.FRAME{declared_lvars, declared_excons} => + let diff --git a/run b/run new file mode 100755 index 0000000000000000000000000000000000000000..84113b8122e9a6f269383050d57e08f5ac5e344d GIT binary patch literal 150280 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 TzYqV;ZECYU^j->sv};t?Nxh^ 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 compileType tau | _ => die "compileExp(APPexp..): wrong type info" - in PRIM(RESET_REGIONSprim{instance = tau'}, [arg']) + val regvars = regvarsFromRegvarsAndInfoOpt regvars_opt + in PRIM(RESET_REGIONSprim{instance = tau', regvars=regvars}, [arg']) end | CE.FORCE_RESET_REGIONS => @@ -2778,7 +2779,8 @@ end; (*match compiler local*) of SOME(TypeInfo.VAR_INFO{instances = [tau]}) => compileType tau | _ => die "compileExp(APPexp..): wrong type info" - in PRIM(FORCE_RESET_REGIONSprim{instance = tau'}, [arg']) + val regvars = regvarsFromRegvarsAndInfoOpt regvars_opt + in PRIM(FORCE_RESET_REGIONSprim{instance = tau', regvars=regvars}, [arg']) end | CE.ABS => overloaded_prim env info CE.ABS (compileAtexp env) (compileExp env) arg true [] diff --git a/src/Compiler/Lambda/LAMBDA_EXP.sml b/src/Compiler/Lambda/LAMBDA_EXP.sml index e99e65717..9158c3b6e 100644 --- a/src/Compiler/Lambda/LAMBDA_EXP.sml +++ b/src/Compiler/Lambda/LAMBDA_EXP.sml @@ -110,9 +110,9 @@ signature LAMBDA_EXP = | EXPORTprim of {name : string, instance_arg : 'Type, instance_res : 'Type} - | RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-directed, + | RESET_REGIONSprim of {instance : 'Type, regvars : regvar list} (* NOT Standard ML, for programmer-directed, but safe, resetting of regions *) - | FORCE_RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-controlled, + | FORCE_RESET_REGIONSprim of {instance: 'Type, regvars : regvar list} (* NOT Standard ML, for programmer-controlled, unsafe resetting of regions *) datatype LambdaPgm = PGM of datbinds * LambdaExp @@ -180,6 +180,7 @@ signature LAMBDA_EXP = val layoutTypeList : TypeList -> StringTree val layoutPrim : ('Type -> StringTree) -> 'Type prim -> StringTree val layoutType_repl : Type -> StringTree + val layoutRegVars : regvar list -> StringTree (* Generate ML code *) val barify : LambdaPgm -> StringTree diff --git a/src/Compiler/Lambda/LambdaBasics.sml b/src/Compiler/Lambda/LambdaBasics.sml index a1bfa192c..baa984b78 100644 --- a/src/Compiler/Lambda/LambdaBasics.sml +++ b/src/Compiler/Lambda/LambdaBasics.sml @@ -499,8 +499,8 @@ structure LambdaBasics: LAMBDA_BASICS = region infere nce and back end; it must not be changed; we must rename bound tyvars, however. *) end - | RESET_REGIONSprim {instance} => RESET_REGIONSprim {instance=on_tau ren instance} - | FORCE_RESET_REGIONSprim {instance} => FORCE_RESET_REGIONSprim {instance=on_tau ren instance} + | RESET_REGIONSprim {instance, regvars} => RESET_REGIONSprim {instance=on_tau ren instance, regvars=regvars} + | FORCE_RESET_REGIONSprim {instance, regvars} => FORCE_RESET_REGIONSprim {instance=on_tau ren instance, regvars=regvars} | x => x fun on_e ren lamb = @@ -620,8 +620,8 @@ structure LambdaBasics: LAMBDA_BASICS = tyvars=tyvars, Type=Type} (*the type scheme (tyvars, Type) is for a special purpose in the region inference and back end; it is closed (i.e., ftv(Type) \subseteq {tyvars}) *) - | RESET_REGIONSprim {instance} => RESET_REGIONSprim{instance=on_Type S instance} - | FORCE_RESET_REGIONSprim {instance} => FORCE_RESET_REGIONSprim{instance=on_Type S instance} + | RESET_REGIONSprim {instance, regvars} => RESET_REGIONSprim{instance=on_Type S instance, regvars=regvars} + | FORCE_RESET_REGIONSprim {instance, regvars} => FORCE_RESET_REGIONSprim{instance=on_Type S instance, regvars=regvars} | _ => prim (* tyvarsType : Find the type variables in a type. We use Set diff --git a/src/Compiler/Lambda/LambdaExp.sml b/src/Compiler/Lambda/LambdaExp.sml index 140ca58b3..c2fb3578c 100644 --- a/src/Compiler/Lambda/LambdaExp.sml +++ b/src/Compiler/Lambda/LambdaExp.sml @@ -131,10 +131,10 @@ structure LambdaExp : LAMBDA_EXP = | EXPORTprim of {name : string, instance_arg : 'Type, instance_res : 'Type} - | RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-directed, + | RESET_REGIONSprim of {instance: 'Type, regvars: regvar list} (* NOT Standard ML, for programmer-directed, * but safe, resetting of regions *) - | FORCE_RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-controlled, - * unsafe resetting of regions *) + | FORCE_RESET_REGIONSprim of {instance: 'Type, regvars: regvar list} (* NOT Standard ML, for programmer-controlled, + * unsafe resetting of regions *) datatype LambdaPgm = PGM of datbinds * LambdaExp @@ -235,8 +235,8 @@ structure LambdaExp : LAMBDA_EXP = | EQUALprim{instance} => (foldType g) acc instance | CCALLprim {instances, ...} => foldl' (foldType g) acc instances | EXPORTprim {instance_arg,instance_res, ...} => (foldType g) ((foldType g) acc instance_arg) instance_res - | RESET_REGIONSprim{instance} => (foldType g) acc instance - | FORCE_RESET_REGIONSprim{instance} => (foldType g) acc instance + | RESET_REGIONSprim{instance, regvars} => (foldType g) acc instance + | FORCE_RESET_REGIONSprim{instance, regvars} => (foldType g) acc instance | _ => acc fun size (e: LambdaExp) = foldTD(fn n:int => fn exp => n+1, @@ -498,6 +498,11 @@ structure LambdaExp : LAMBDA_EXP = barify_catch_basislib (unsymb(TyName.pr_TyName' tn)) else TyName.pr_TyName tn + fun layoutRegVar r = (PP.LEAF o RegVar.pr) r + + fun layoutRegVars regvars = PP.NODE {start="", finish="", childsep=PP.LEFT " ", indent=0, + children = map layoutRegVar regvars} + fun layoutPrim layoutType prim = case prim of CONprim{con,instances,regvar} => @@ -665,16 +670,16 @@ structure LambdaExp : LAMBDA_EXP = else if !barify_p then PP.LEAF ("Prim.export " ^ strip_ name) else PP.LEAF ("_export " ^ name) - | RESET_REGIONSprim {instance} => + | RESET_REGIONSprim {instance, regvars} => if !Flags.print_types then PP.NODE{start="resetRegions(", finish=")",indent=2, - children=[layoutType instance],childsep=PP.NOSEP} - else PP.LEAF("resetRegions") - | FORCE_RESET_REGIONSprim {instance} => + children=[layoutType instance, layoutRegVars regvars],childsep=PP.RIGHT ","} + else PP.LEAF "resetRegions" + | FORCE_RESET_REGIONSprim {instance, regvars} => if !Flags.print_types then PP.NODE{start="forceResetting(", finish=")",indent=2, - children=[layoutType instance],childsep=PP.NOSEP} - else PP.LEAF("forceResetting") + children=[layoutType instance, layoutRegVars regvars],childsep=PP.RIGHT ","} + else PP.LEAF "forceResetting" fun layoutSwitch layoutLambdaExp show_const (SWITCH(lamb,rules,wildcardOpt)) = let @@ -770,10 +775,6 @@ structure LambdaExp : LAMBDA_EXP = and layoutType_repl t = layoutType0 {repl=true} t - and layoutRegVar r = (PP.LEAF o RegVar.pr) r - - and layoutRegVars regvars = PP.NODE {start="", finish="", childsep=PP.LEFT " ", indent=0, - children = map layoutRegVar regvars} and layoutTypeList tl = case tl of Types taus => PP.NODE{start="Types(", finish=")", indent=1, @@ -1577,10 +1578,14 @@ structure LambdaExp : LAMBDA_EXP = (Pickle.tup3Gen0 (Pickle.string,pu_Type,pu_Type))) fun fun_RESET_REGIONSprim _ = Pickle.con1 RESET_REGIONSprim (fn RESET_REGIONSprim a => a | _ => die "pu_prim.RESET_REGIONSprim") - (Pickle.convert(fn t => {instance=t},#instance) pu_Type) + (Pickle.convert(fn (t, rvs) => {instance=t, regvars=rvs}, + fn {instance=t, regvars=rvs} => (t, rvs)) + (Pickle.pairGen0(pu_Type, Pickle.listGen RegVar.pu))) fun fun_FORCE_RESET_REGIONSprim _ = - Pickle.con1 FORCE_RESET_REGIONSprim (fn FORCE_RESET_REGIONSprim a => a | _ => die "pu_prim.FORCE_RESET_REGIONSprim") - (Pickle.convert(fn t => {instance=t},#instance) pu_Type) + Pickle.con1 FORCE_RESET_REGIONSprim (fn FORCE_RESET_REGIONSprim a => a | _ => die "pu_prim.FORCE_RESET_REGIONSprim") + (Pickle.convert(fn (t, rvs) => {instance=t, regvars=rvs}, + fn {instance=t, regvars=rvs} => (t, rvs)) + (Pickle.pairGen0(pu_Type, Pickle.listGen RegVar.pu))) val fun_BLOCKF64prim = Pickle.con0 BLOCKF64prim fun fun_SCRATCHMEMprim _ = Pickle.con1 (fn n => SCRATCHMEMprim {sz=n}) (fn SCRATCHMEMprim {sz=a} => a | _ => die "pu_prim.SCRATCHMEMprim") @@ -1892,8 +1897,8 @@ structure LambdaExp : LAMBDA_EXP = | SCRATCHMEMprim _ => acc | EXPORTprim {instance_arg,instance_res, ...} => tyvars_Type s instance_arg (tyvars_Type s instance_res acc) - | RESET_REGIONSprim{instance} => tyvars_Type s instance acc - | FORCE_RESET_REGIONSprim{instance} => tyvars_Type s instance acc + | RESET_REGIONSprim{instance, regvars} => tyvars_Type s instance acc + | FORCE_RESET_REGIONSprim{instance, regvars} => tyvars_Type s instance acc | RECORDprim _ => acc | SELECTprim _ => acc | UB_RECORDprim => acc diff --git a/src/Compiler/Lambda/LambdaStatSem.sml b/src/Compiler/Lambda/LambdaStatSem.sml index 87cb45b45..24ecf6d80 100644 --- a/src/Compiler/Lambda/LambdaStatSem.sml +++ b/src/Compiler/Lambda/LambdaStatSem.sml @@ -781,7 +781,7 @@ structure LambdaStatSem: LAMBDA_STAT_SEM = log "but found type:\n"; log_st (layoutTypes ts); die "Export of function") end) - | RESET_REGIONSprim {instance} => + | RESET_REGIONSprim {instance, regvars} => (valid_t env instance; check_t_no_f64 "RESET_REGIONSprim" instance; case lexps @@ -791,7 +791,7 @@ structure LambdaStatSem: LAMBDA_STAT_SEM = else die "RESET_REGIONSprim2" end | _ => die "RESET_REGIONSprim.Wrong number of args") - | FORCE_RESET_REGIONSprim {instance} => + | FORCE_RESET_REGIONSprim {instance, regvars} => (valid_t env instance; check_t_no_f64 "FORCE_RESET_REGIONSprim" instance; case lexps diff --git a/src/Compiler/Lambda/OptLambda.sml b/src/Compiler/Lambda/OptLambda.sml index 61e9f7dd9..e12efc230 100644 --- a/src/Compiler/Lambda/OptLambda.sml +++ b/src/Compiler/Lambda/OptLambda.sml @@ -448,8 +448,8 @@ structure OptLambda : OPT_LAMBDA = eq_Type(t,t') andalso RegVar.eq(rv,rv') | (ASSIGNprim {instance=t}, ASSIGNprim {instance=t'}) => eq_Type(t,t') | (EQUALprim {instance=t}, EQUALprim {instance=t'}) => eq_Type(t,t') - | (RESET_REGIONSprim {instance=t}, RESET_REGIONSprim {instance=t'}) => eq_Type(t,t') - | (FORCE_RESET_REGIONSprim {instance=t}, FORCE_RESET_REGIONSprim {instance=t'}) => eq_Type(t,t') + | (RESET_REGIONSprim {instance=t, regvars=rvs}, RESET_REGIONSprim {instance=t', regvars=rvs'}) => eq_Type(t,t') + | (FORCE_RESET_REGIONSprim {instance=t, regvars=rvs}, FORCE_RESET_REGIONSprim {instance=t', regvars=rvs'}) => eq_Type(t,t') | (CCALLprim{name=n,instances=il,tyvars=tvs,Type=t}, CCALLprim{name=n',instances=il',tyvars=tvs',Type=t'}) => n = n' andalso eq_Types (il,il') andalso eq_sigma((tvs,t),(tvs',t')) | (EXPORTprim{name=n,instance_arg=a,instance_res=r}, EXPORTprim{name=n',instance_arg=a',instance_res=r'}) => diff --git a/src/Compiler/Regions/AtInf.sml b/src/Compiler/Regions/AtInf.sml index 4b514d243..04717e786 100644 --- a/src/Compiler/Regions/AtInf.sml +++ b/src/Compiler/Regions/AtInf.sml @@ -111,7 +111,7 @@ structure AtInf : AT_INF = end end - fun lay_header (force,lvar,(tau,p:place option)) = + fun lay_header_lvar (force,lvar,(tau,p:place option)) = if force then PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, children = [PP.LEAF "You have requested resetting the regions that appear free ", @@ -123,7 +123,22 @@ structure AtInf : AT_INF = else PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, children = [PP.LEAF "You have suggested resetting the regions that appear free ", PP.LEAF ("in the type scheme with place of '" ^ Lvars.pr_lvar lvar ^ "', i.e., in"), - lay_sigma_p(RType.type_to_scheme tau,p)]} + lay_sigma_p(RType.type_to_scheme tau,p), + PP.LEAF "I have NOT done as you requested.", + PP.LEAF "Here are my reasons, (one for each region variable concerned):"]} + + fun lay_header_regvars (force, regvars) = + if force + then PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, + children = [PP.LEAF "You have requested resetting the regions ", + PP.LEAF ("{" ^ regvars ^ "}."), + PP.LEAF "I have done as you requested, but I cannot guarantee that it is safe.", + PP.LEAF "Here are my objections (one for each region variable concerned):"]} + else PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, + children = [PP.LEAF "You have suggested resetting the regions ", + PP.LEAF ("{" ^ regvars ^ "}."), + PP.LEAF "I have NOT done as you requested.", + PP.LEAF "Here are my reasons, (one for each region variable concerned):"]} fun lay_set (rhos: place list) = PP.HNODE{start ="{", finish = "}", childsep = PP.RIGHT",", @@ -294,15 +309,24 @@ structure AtInf : AT_INF = in loop(1,l) end - fun lay_report (force:bool, lvar, mu, conflicts) : StringTree = + fun lay_report_lvar (force:bool, lvar, mu, conflicts) : StringTree = let val tau_p = case RType.unBOX mu of SOME (tau,p) => (tau,SOME p) | NONE => (mu,NONE) - in PP.NODE{start = if force then ("forceResetting(" ^ Lvars.pr_lvar lvar ^ "): ") - else ("resetRegions(" ^ Lvars.pr_lvar lvar ^ "): "), - finish = "", indent = 3, childsep = PP.NOSEP, - children = lay_header(force,lvar,tau_p) :: lay_conflicts(force,conflicts)} + val head = if force then ("forceResetting(" ^ Lvars.pr_lvar lvar ^ "): ") + else ("resetRegions(" ^ Lvars.pr_lvar lvar ^ "): ") + in PP.NODE{start = head, finish = "", indent = 3, childsep = PP.NOSEP, + children = lay_header_lvar(force,lvar,tau_p) :: lay_conflicts(force,conflicts)} + end + + fun lay_report_regvars (force:bool, rhos, conflicts) : StringTree = + let + val regvars = String.concatWith ", " (map Eff.pp_eff rhos) + val head = if force then ("forceResetting(" ^ regvars ^ "): ") + else ("resetRegions(" ^ regvars ^ "): ") + in PP.NODE{start = head, finish = "", indent = 3, childsep = PP.NOSEP, + children = lay_header_regvars(force,regvars) :: lay_conflicts(force,conflicts)} end fun any_live (rho,sme as (_,LE,EE), liveset, @@ -555,25 +579,30 @@ structure AtInf : AT_INF = | BLOCKF64 (alloc, trs) => BLOCKF64(which_at sme alloc,map (sma_trip sme) trs) | SCRATCHMEM (n,alloc) => SCRATCHMEM(n,which_at sme alloc) | EXPORT(i,tr) => EXPORT(i,sma_trip sme tr) - | RESET_REGIONS ({force, liveset=SOME liveset, ...}, tr as (TR(VAR{lvar,...},meta,_,_))) => + | RESET_REGIONS ({force, liveset=SOME liveset, regions_for_resetting}, tr as (TR(e,meta,_,_))) => (case meta of MulExp.RegionExp.Mus [mu] => - let val free_regions = Eff.remove_duplicates(RType.frv_mu mu) - val (place_at_list, conflicts) = - analyse_rhos_for_resetting(sme,liveset,free_regions) - val conflicts' = - if force then - foldl (fn (SAT rho, acc) => FORMAL_REGION_PARAM rho :: acc - | (_, acc) => acc) conflicts place_at_list - else conflicts - in - case conflicts' of - [] => () - | _ => warn (PP.reportStringTree(lay_report(force,lvar,mu,conflicts'))); - RESET_REGIONS({force=force,regions_for_resetting = place_at_list, liveset=NONE}, - sma_trip sme tr) - end - | _ => die "RESET_REGIONS: expected a type and place on argument to resetRegions" + let + val rhos = map #1 regions_for_resetting + val free_regions = Eff.remove_duplicates(RType.frv_mu mu @ rhos) + val (place_at_list, conflicts) = + analyse_rhos_for_resetting(sme,liveset,free_regions) + val conflicts' = + if force then + foldl (fn (SAT rho, acc) => FORMAL_REGION_PARAM rho :: acc + | (_, acc) => acc) conflicts place_at_list + else conflicts + in + case conflicts' of + [] => () + | _ => case e of + VAR{lvar, ...} => warn (PP.reportStringTree(lay_report_lvar(force,lvar,mu,conflicts'))) + | RECORD(NONE, nil) => warn (PP.reportStringTree(lay_report_regvars(force, rhos, conflicts'))) + | _ => die "RESET_REGIONS: ill-formed expression: argument to RESET_REGIONS should be a variable or unit"; + RESET_REGIONS({force=force,regions_for_resetting = place_at_list, liveset=NONE}, + sma_trip sme tr) + end + | _ => die "RESET_REGIONS: expected a type and place on argument to resetRegions" ) | RESET_REGIONS _ => die "ill-formed expression: argument to RESET_REGIONS should be a variable" | FRAME{declared_lvars, declared_excons} => diff --git a/src/Compiler/Regions/Mul.sml b/src/Compiler/Regions/Mul.sml index b7c54ba68..b27c7be53 100644 --- a/src/Compiler/Regions/Mul.sml +++ b/src/Compiler/Regions/Mul.sml @@ -223,7 +223,7 @@ struct end fun equal_qmularefset ((qmularefset1:qmularefset,sigma1),(qmularefset2:qmularefset,sigma2)) = - arity_qmularefset(qmularefset1) = arity_qmularefset(qmularefset2) andalso + arity_qmularefset qmularefset1 = arity_qmularefset qmularefset2 andalso (* (1) normalize qmularefsets so that bvs comes in the order of first * occurrences in its type. (2) instantiate qmularefsets to fresh @@ -302,7 +302,7 @@ struct loop(n+1)) in loop 0; Array.update(empty, - hash(key_of_toplevel_arreff), + hash key_of_toplevel_arreff, [(key_of_toplevel_arreff,[])]) end diff --git a/src/Compiler/Regions/SpreadExpression.sml b/src/Compiler/Regions/SpreadExpression.sml index 0528a9942..055e5cd46 100644 --- a/src/Compiler/Regions/SpreadExpression.sml +++ b/src/Compiler/Regions/SpreadExpression.sml @@ -1455,7 +1455,7 @@ good *) | _ => die "EXPORT: function does not have function type" end handle X => (print "EXPORT-1\n"; raise X)) - | E.PRIM(E.RESET_REGIONSprim{instance = _}, [e0 as (E.VAR _)] ) => + | E.PRIM(E.RESET_REGIONSprim{instance = _, regvars = regvars}, (* [e0 as (E.VAR _), e1] *) [e0] ) => (* x => [mu], empty rho fresh ----------------------------------- @@ -1470,36 +1470,50 @@ good *) val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) val mus0 = unMus "S.RESET_REGIONSprim" meta0 val mu = R.unitType - val phi = Eff.mkUnion(map Eff.mkPut(List.filter Eff.is_rho (R.ann_mus mus0 []))) + val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of + NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") + | SOME p => p) regvars + val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) + val phi = Eff.mkUnion(map Eff.mkPut rhos) in case e' of E'.VAR{il_r as ref il, ...} => (case R.un_il (#1 il) of ([],[],[]) => - (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = []},t), E'.Mus [mu], phi), + (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), NOTAIL, tvs) | _ => crash_resetting false) + | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) + (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), + NOTAIL, + tvs) | _ => crash_resetting false end - | E.PRIM(E.RESET_REGIONSprim{instance = _}, _ ) => crash_resetting false - | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _}, [e0 as (E.VAR _)] ) => + | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _, regvars = regvars}, [e0] ) => (* same as RESET_REGIONSprim, except that "force" is set to true in the result *) let val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) val mus0 = unMus "S.FORCE_RESET_REGIONSprim" meta0 val mu = R.unitType - val phi = Eff.mkUnion(map Eff.mkPut(List.filter Eff.is_rho (R.ann_mus mus0 []))) + val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of + NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") + | SOME p => p) regvars + val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) + val phi = Eff.mkUnion(map Eff.mkPut rhos) in case e' of E'.VAR{il_r as ref il, ...} => (case R.un_il (#1 il) of ([],[],[]) => - (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = []},t), E'.Mus [mu], phi), + (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), NOTAIL, tvs) | _ => crash_resetting true) + | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) + (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), + NOTAIL, + tvs) | _ => crash_resetting true end - | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _}, _ ) => crash_resetting true | E.FRAME{declared_lvars, declared_excons} => let diff --git a/test/explicit_regions/all.tst b/test/explicit_regions/all.tst index 670755334..9dca317ed 100644 --- a/test/explicit_regions/all.tst +++ b/test/explicit_regions/all.tst @@ -84,4 +84,21 @@ disputs2.sml ccl ecte (* Violation of disjoint put-effects (##) - fu par.sml (* A sound implementation of par with constraint *) par-no.sml ccl ecte (* But it needs to be satisfied *) -par-no2.sml ccl ecte (* The trivial definition of par is not ok *) \ No newline at end of file +par-no2.sml ccl ecte (* The trivial definition of par is not ok *) + +(* --------------------- *) +(* Testing region resets *) +(* --------------------- *) +reset.sml nooptimiser (* Resetting the region of a dead variable results in a reset *) +reset2.sml ccl nooptimiser (* Resetting the region of a live variable results in a warning, and no a reset *) +reset3.sml nooptimiser (* Resetting a region containing the data of a dead variables results in a reset *) +reset4.sml ccl nooptimiser (* Resetting a region containing the data of a live variable results in a warning, and no a reset *) +reset5.sml nooptimiser (* Combination of 1 and 3 *) +reset6.sml ccl nooptimiser (* Combination of 2 and 4 *) + +forceReset.sml nooptimiser (* Force resetting the region of a dead variable results in reset *) +forceReset2.sml ccl nooptimiser (* Force resetting the region of a live variable results in a warning, but still results in a reset *) +forceReset3.sml nooptimiser (* Force resetting a region containing the data of a dead variables results in a reset *) +forceReset4.sml ccl nooptimiser (* Force resetting a region containing the data of a live variable results in a warning, but still results in a reset *) +forceReset5.sml nooptimiser (* Combination of 1 and 3 *) +forceReset6.sml ccl nooptimiser (* Combination of 2 and 4 *) diff --git a/test/explicit_regions/forceReset.sml b/test/explicit_regions/forceReset.sml new file mode 100644 index 000000000..95668786c --- /dev/null +++ b/test/explicit_regions/forceReset.sml @@ -0,0 +1,11 @@ +(* `forceResetting` resets all region variables in the given value. *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = forceResetting x + val y = "Goodbye"`r + in size y + end diff --git a/test/explicit_regions/forceReset.sml.out.ok b/test/explicit_regions/forceReset.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/forceReset2.sml b/test/explicit_regions/forceReset2.sml new file mode 100644 index 000000000..381bfd9c1 --- /dev/null +++ b/test/explicit_regions/forceReset2.sml @@ -0,0 +1,11 @@ +(* `forceResetting` on live values, result in a warning, + and forces region variables to be reset. *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = forceResetting x + in size x + end diff --git a/test/explicit_regions/forceReset2.sml.log.ok b/test/explicit_regions/forceReset2.sml.log.ok new file mode 100644 index 000000000..27a999382 --- /dev/null +++ b/test/explicit_regions/forceReset2.sml.log.ok @@ -0,0 +1,22 @@ +[reading source file: forceReset2.sml] +[wrote X64 code file: MLB/RI_PAR/forceReset2.sml.s] +> val f : unit -> int + val size : string -> int + *** Warnings *** +forceResetting(x): + You have requested resetting the regions that appear free + in the type scheme with place of 'x', i.e., in + (string,`r) + I have done as you requested, but I cannot guarantee that it is safe. + Here are my objections (one for each region variable concerned): + (1) + I cannot reset '`r', because of conflict with the locally + live variable + x :(string,`r) + from which the following region variables can be reached + in the region flow graph: + {`r} + Amongst these, '`r' can also be reached from '`r'. + This suggests that you may be destroying data in '`r'. +[wrote X64 code file: MLB/RI_PAR/base-link_objects.s] +[wrote executable file: run] diff --git a/test/explicit_regions/forceReset2.sml.out.ok b/test/explicit_regions/forceReset2.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/forceReset3.sml b/test/explicit_regions/forceReset3.sml new file mode 100644 index 000000000..c57397809 --- /dev/null +++ b/test/explicit_regions/forceReset3.sml @@ -0,0 +1,11 @@ +(* `forceResetting` resets all region variables in the given value. *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = forceResetting `[r] () + val y = "Goodbye"`r + in size y + end diff --git a/test/explicit_regions/forceReset3.sml.out.ok b/test/explicit_regions/forceReset3.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/forceReset4.sml b/test/explicit_regions/forceReset4.sml new file mode 100644 index 000000000..1e6207f24 --- /dev/null +++ b/test/explicit_regions/forceReset4.sml @@ -0,0 +1,11 @@ +(* `forceResetting` on live values, result in a warning, + and forces region variables to be reset. *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = forceResetting `[r] () + in size x + end diff --git a/test/explicit_regions/forceReset4.sml.log.ok b/test/explicit_regions/forceReset4.sml.log.ok new file mode 100644 index 000000000..a63db7b9a --- /dev/null +++ b/test/explicit_regions/forceReset4.sml.log.ok @@ -0,0 +1,21 @@ +[reading source file: forceReset4.sml] +[wrote X64 code file: MLB/RI_PAR/forceReset4.sml.s] +> val f : unit -> int + val size : string -> int + *** Warnings *** +forceResetting(`r): + You have requested resetting the regions + {`r}. + I have done as you requested, but I cannot guarantee that it is safe. + Here are my objections (one for each region variable concerned): + (1) + I cannot reset '`r', because of conflict with the locally + live variable + x :(string,`r) + from which the following region variables can be reached + in the region flow graph: + {`r} + Amongst these, '`r' can also be reached from '`r'. + This suggests that you may be destroying data in '`r'. +[wrote X64 code file: MLB/RI_PAR/base-link_objects.s] +[wrote executable file: run] diff --git a/test/explicit_regions/forceReset4.sml.out.ok b/test/explicit_regions/forceReset4.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/forceReset5.sml b/test/explicit_regions/forceReset5.sml new file mode 100644 index 000000000..5010a1358 --- /dev/null +++ b/test/explicit_regions/forceReset5.sml @@ -0,0 +1,14 @@ +(* `resetRegions` resets all formal region parameters and the regions of `x2`*) + +infix + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r1 r2 + val x1 = "Hi "`r1 + val x2 = "there"`r2 + val _ = forceResetting `[r1] x2 + val y1 = "Good"`r1 + val y2 = "bye"`r2 + in size y1 + size y2 + end diff --git a/test/explicit_regions/forceReset5.sml.out.ok b/test/explicit_regions/forceReset5.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/forceReset6.sml b/test/explicit_regions/forceReset6.sml new file mode 100644 index 000000000..9fb6d487a --- /dev/null +++ b/test/explicit_regions/forceReset6.sml @@ -0,0 +1,13 @@ +(* `forceResetting` on live values, result in a warning, + and forces region variables to be reset. *) + +infix + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r1 r2 + val x1 = "Hi "`r1 + val x2 = "there"`r2 + val _ = forceResetting `[r1] x2 + in size x1 + size x2 + end diff --git a/test/explicit_regions/forceReset6.sml.log.ok b/test/explicit_regions/forceReset6.sml.log.ok new file mode 100644 index 000000000..5b5f940ba --- /dev/null +++ b/test/explicit_regions/forceReset6.sml.log.ok @@ -0,0 +1,32 @@ +[reading source file: forceReset6.sml] +[wrote X64 code file: MLB/RI_PAR/forceReset6.sml.s] +> infix 0 + + val f : unit -> int + val size : string -> int + *** Warnings *** +forceResetting(x2): + You have requested resetting the regions that appear free + in the type scheme with place of 'x2', i.e., in + (string,`r2) + I have done as you requested, but I cannot guarantee that it is safe. + Here are my objections (one for each region variable concerned): + (1) + I cannot reset '`r2', because of conflict with the locally + live variable + x2 :(string,`r2) + from which the following region variables can be reached + in the region flow graph: + {`r2} + Amongst these, '`r2' can also be reached from '`r2'. + This suggests that you may be destroying data in '`r2'. + (2) + I cannot reset '`r1', because of conflict with the locally + live variable + x1 :(string,`r1) + from which the following region variables can be reached + in the region flow graph: + {`r1} + Amongst these, '`r1' can also be reached from '`r1'. + This suggests that you may be destroying data in '`r1'. +[wrote X64 code file: MLB/RI_PAR/base-link_objects.s] +[wrote executable file: run] diff --git a/test/explicit_regions/forceReset6.sml.out.ok b/test/explicit_regions/forceReset6.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/reset.sml b/test/explicit_regions/reset.sml new file mode 100644 index 000000000..9d6d8649e --- /dev/null +++ b/test/explicit_regions/reset.sml @@ -0,0 +1,11 @@ +(* `resetRegions` resets all region variables in the given value. *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = resetRegions x + val y = "Goodbye"`r + in size y + end diff --git a/test/explicit_regions/reset.sml.out.ok b/test/explicit_regions/reset.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/reset2.sml b/test/explicit_regions/reset2.sml new file mode 100644 index 000000000..e036c1ae1 --- /dev/null +++ b/test/explicit_regions/reset2.sml @@ -0,0 +1,10 @@ +(* `resetRegions` on live values, result in a warning, and no region variables are reset. *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = resetRegions x + in size x + end diff --git a/test/explicit_regions/reset2.sml.log.ok b/test/explicit_regions/reset2.sml.log.ok new file mode 100644 index 000000000..d4c213c82 --- /dev/null +++ b/test/explicit_regions/reset2.sml.log.ok @@ -0,0 +1,22 @@ +[reading source file: reset2.sml] +[wrote X64 code file: MLB/RI_PAR/reset2.sml.s] +> val f : unit -> int + val size : string -> int + *** Warnings *** +resetRegions(x): + You have suggested resetting the regions that appear free + in the type scheme with place of 'x', i.e., in + (string,`r) + I have NOT done as you requested. + Here are my reasons, (one for each region variable concerned): + (1) + '`r': there is a conflict with the locally + live variable + x :(string,`r) + from which the following region variables can be reached + in the region flow graph: + {`r} + Amongst these, '`r' can also be reached from '`r'. + Thus I have given '`r' storage mode "attop". +[wrote X64 code file: MLB/RI_PAR/base-link_objects.s] +[wrote executable file: run] diff --git a/test/explicit_regions/reset2.sml.out.ok b/test/explicit_regions/reset2.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/reset3.sml b/test/explicit_regions/reset3.sml new file mode 100644 index 000000000..22ac9d391 --- /dev/null +++ b/test/explicit_regions/reset3.sml @@ -0,0 +1,11 @@ +(* `resetRegions` resets all formal region parameters *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = resetRegions `[r] () + val y = "Goodbye"`r + in size y + end diff --git a/test/explicit_regions/reset3.sml.out.ok b/test/explicit_regions/reset3.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/reset4.sml b/test/explicit_regions/reset4.sml new file mode 100644 index 000000000..013233768 --- /dev/null +++ b/test/explicit_regions/reset4.sml @@ -0,0 +1,11 @@ +(* `resetRegions` on live regions, result in a warning, and no region + variables are reset. *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = resetRegions `[r] () + in size x + end diff --git a/test/explicit_regions/reset4.sml.log.ok b/test/explicit_regions/reset4.sml.log.ok new file mode 100644 index 000000000..b1edd474c --- /dev/null +++ b/test/explicit_regions/reset4.sml.log.ok @@ -0,0 +1,21 @@ +[reading source file: reset4.sml] +[wrote X64 code file: MLB/RI_PAR/reset4.sml.s] +> val f : unit -> int + val size : string -> int + *** Warnings *** +resetRegions(`r): + You have suggested resetting the regions + {`r}. + I have NOT done as you requested. + Here are my reasons, (one for each region variable concerned): + (1) + '`r': there is a conflict with the locally + live variable + x :(string,`r) + from which the following region variables can be reached + in the region flow graph: + {`r} + Amongst these, '`r' can also be reached from '`r'. + Thus I have given '`r' storage mode "attop". +[wrote X64 code file: MLB/RI_PAR/base-link_objects.s] +[wrote executable file: run] diff --git a/test/explicit_regions/reset4.sml.out.ok b/test/explicit_regions/reset4.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/reset5.sml b/test/explicit_regions/reset5.sml new file mode 100644 index 000000000..2a705ef46 --- /dev/null +++ b/test/explicit_regions/reset5.sml @@ -0,0 +1,14 @@ +(* `resetRegions` resets all formal region parameters and the regions of `x2`*) + +infix + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r1 r2 + val x1 = "Hi "`r1 + val x2 = "there"`r2 + val _ = resetRegions `[r1] x2 + val y1 = "Good"`r1 + val y2 = "bye"`r2 + in (size y1) + (size y2) + end diff --git a/test/explicit_regions/reset5.sml.out.ok b/test/explicit_regions/reset5.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/reset6.sml b/test/explicit_regions/reset6.sml new file mode 100644 index 000000000..4c2fe5565 --- /dev/null +++ b/test/explicit_regions/reset6.sml @@ -0,0 +1,13 @@ +(* `resetRegions` on live regions, result in a warning, and no region + variables are reset. *) + +infix + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r1 r2 + val x1 = "Hi "`r1 + val x2 = "there"`r2 + val _ = resetRegions `[r1] x2 + in size x1 + size x2 + end diff --git a/test/explicit_regions/reset6.sml.log.ok b/test/explicit_regions/reset6.sml.log.ok new file mode 100644 index 000000000..8c2e3ba7c --- /dev/null +++ b/test/explicit_regions/reset6.sml.log.ok @@ -0,0 +1,32 @@ +[reading source file: reset6.sml] +[wrote X64 code file: MLB/RI_PAR/reset6.sml.s] +> infix 0 + + val f : unit -> int + val size : string -> int + *** Warnings *** +resetRegions(x2): + You have suggested resetting the regions that appear free + in the type scheme with place of 'x2', i.e., in + (string,`r2) + I have NOT done as you requested. + Here are my reasons, (one for each region variable concerned): + (1) + '`r2': there is a conflict with the locally + live variable + x2 :(string,`r2) + from which the following region variables can be reached + in the region flow graph: + {`r2} + Amongst these, '`r2' can also be reached from '`r2'. + Thus I have given '`r2' storage mode "attop". + (2) + '`r1': there is a conflict with the locally + live variable + x1 :(string,`r1) + from which the following region variables can be reached + in the region flow graph: + {`r1} + Amongst these, '`r1' can also be reached from '`r1'. + Thus I have given '`r1' storage mode "attop". +[wrote X64 code file: MLB/RI_PAR/base-link_objects.s] +[wrote executable file: run] diff --git a/test/explicit_regions/reset6.sml.out.ok b/test/explicit_regions/reset6.sml.out.ok new file mode 100644 index 000000000..e69de29bb diff --git a/test/explicit_regions/resetErr.sml b/test/explicit_regions/resetErr.sml new file mode 100644 index 000000000..4323ff6fd --- /dev/null +++ b/test/explicit_regions/resetErr.sml @@ -0,0 +1,11 @@ +(* `resetRegions` resets all formal region parameters *) + +fun size (s : string) : int = prim ("__bytetable_size", s) + +fun f () : int = + let with r + val x = "Hi there"`r + val _ = resetRegions `[t] () + val y = "Goodbye"`r + in size y + end From 0f20fab28f6879ba983b79708976f28450583439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20Will=C3=A9n?= Date: Tue, 9 Dec 2025 23:18:14 +0100 Subject: [PATCH 02/37] rm bloat --- .gitignore.swp | Bin 12288 -> 0 bytes gitDiffs.txt | 430 ------------------------------------------------- run | Bin 150280 -> 0 bytes 3 files changed, 430 deletions(-) delete mode 100644 .gitignore.swp delete mode 100644 gitDiffs.txt delete mode 100755 run diff --git a/.gitignore.swp b/.gitignore.swp deleted file mode 100644 index 580fb01d1f0c560027aba3518c81c849aca85762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&KT5@I! z4FLoYKmY**5I_I{1XfYNRe{|3gRk|6-{{BS*VwlV2q1s}0tg_000IagfB*srAh3c0 z>PF;#OXSI?`~E+F|Nr*=m(QoqyU(l7i_f!9xAxJ8LI42-5I_I{1Q0*~0R#|00D=D& wIBq2=i-}1a|I7UBDy*GyO+D{ynTj>B#HJ9{xH3O;I!sh@t7WV*Juz0x4`6{n$p8QV diff --git a/gitDiffs.txt b/gitDiffs.txt deleted file mode 100644 index 7b3823628..000000000 --- a/gitDiffs.txt +++ /dev/null @@ -1,430 +0,0 @@ -diff --git a/src/Common/ParseInfo.sml b/src/Common/ParseInfo.sml -index 220c16e3..c774b466 100644 ---- a/src/Common/ParseInfo.sml -+++ b/src/Common/ParseInfo.sml -@@ -3,7 +3,7 @@ structure ParseInfo: PARSE_INFO = - fun impossible s = Crash.impossible ("ParseInfo." ^ s) - - structure SourceInfo = SourceInfo -- structure DFInfo = DFInfo -+ structure DFInfo = DFInfo - type SourceInfo = SourceInfo.SourceInfo - type DFInfo = DFInfo.DFInfo - type StringTree = PrettyPrint.StringTree -diff --git a/src/Compiler/Lambda/CompileDec.sml b/src/Compiler/Lambda/CompileDec.sml -index 34eaa285..4e7005d9 100644 ---- a/src/Compiler/Lambda/CompileDec.sml -+++ b/src/Compiler/Lambda/CompileDec.sml -@@ -2769,7 +2769,8 @@ end; (*match compiler local*) - of SOME(TypeInfo.VAR_INFO{instances = [tau]}) => - compileType tau - | _ => die "compileExp(APPexp..): wrong type info" -- in PRIM(RESET_REGIONSprim{instance = tau'}, [arg']) -+ val regvars = regvarsFromRegvarsAndInfoOpt regvars_opt -+ in PRIM(RESET_REGIONSprim{instance = tau', regvars=regvars}, [arg']) - end - - | CE.FORCE_RESET_REGIONS => -@@ -2778,7 +2779,8 @@ end; (*match compiler local*) - of SOME(TypeInfo.VAR_INFO{instances = [tau]}) => - compileType tau - | _ => die "compileExp(APPexp..): wrong type info" -- in PRIM(FORCE_RESET_REGIONSprim{instance = tau'}, [arg']) -+ val regvars = regvarsFromRegvarsAndInfoOpt regvars_opt -+ in PRIM(FORCE_RESET_REGIONSprim{instance = tau', regvars=regvars}, [arg']) - end - - | CE.ABS => overloaded_prim env info CE.ABS (compileAtexp env) (compileExp env) arg true [] -diff --git a/src/Compiler/Lambda/LAMBDA_EXP.sml b/src/Compiler/Lambda/LAMBDA_EXP.sml -index e99e6571..9158c3b6 100644 ---- a/src/Compiler/Lambda/LAMBDA_EXP.sml -+++ b/src/Compiler/Lambda/LAMBDA_EXP.sml -@@ -110,9 +110,9 @@ signature LAMBDA_EXP = - | EXPORTprim of {name : string, - instance_arg : 'Type, - instance_res : 'Type} -- | RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-directed, -+ | RESET_REGIONSprim of {instance : 'Type, regvars : regvar list} (* NOT Standard ML, for programmer-directed, - but safe, resetting of regions *) -- | FORCE_RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-controlled, -+ | FORCE_RESET_REGIONSprim of {instance: 'Type, regvars : regvar list} (* NOT Standard ML, for programmer-controlled, - unsafe resetting of regions *) - - datatype LambdaPgm = PGM of datbinds * LambdaExp -@@ -180,6 +180,7 @@ signature LAMBDA_EXP = - val layoutTypeList : TypeList -> StringTree - val layoutPrim : ('Type -> StringTree) -> 'Type prim -> StringTree - val layoutType_repl : Type -> StringTree -+ val layoutRegVars : regvar list -> StringTree - - (* Generate ML code *) - val barify : LambdaPgm -> StringTree -diff --git a/src/Compiler/Lambda/LambdaBasics.sml b/src/Compiler/Lambda/LambdaBasics.sml -index a1bfa192..baa984b7 100644 ---- a/src/Compiler/Lambda/LambdaBasics.sml -+++ b/src/Compiler/Lambda/LambdaBasics.sml -@@ -499,8 +499,8 @@ structure LambdaBasics: LAMBDA_BASICS = - region infere nce and back end; it must not be changed; we must rename bound - tyvars, however. *) - end -- | RESET_REGIONSprim {instance} => RESET_REGIONSprim {instance=on_tau ren instance} -- | FORCE_RESET_REGIONSprim {instance} => FORCE_RESET_REGIONSprim {instance=on_tau ren instance} -+ | RESET_REGIONSprim {instance, regvars} => RESET_REGIONSprim {instance=on_tau ren instance, regvars=regvars} -+ | FORCE_RESET_REGIONSprim {instance, regvars} => FORCE_RESET_REGIONSprim {instance=on_tau ren instance, regvars=regvars} - | x => x - - fun on_e ren lamb = -@@ -620,8 +620,8 @@ structure LambdaBasics: LAMBDA_BASICS = - tyvars=tyvars, Type=Type} - (*the type scheme (tyvars, Type) is for a special purpose in the - region inference and back end; it is closed (i.e., ftv(Type) \subseteq {tyvars}) *) -- | RESET_REGIONSprim {instance} => RESET_REGIONSprim{instance=on_Type S instance} -- | FORCE_RESET_REGIONSprim {instance} => FORCE_RESET_REGIONSprim{instance=on_Type S instance} -+ | RESET_REGIONSprim {instance, regvars} => RESET_REGIONSprim{instance=on_Type S instance, regvars=regvars} -+ | FORCE_RESET_REGIONSprim {instance, regvars} => FORCE_RESET_REGIONSprim{instance=on_Type S instance, regvars=regvars} - | _ => prim - - (* tyvarsType : Find the type variables in a type. We use Set -diff --git a/src/Compiler/Lambda/LambdaExp.sml b/src/Compiler/Lambda/LambdaExp.sml -index 140ca58b..c2fb3578 100644 ---- a/src/Compiler/Lambda/LambdaExp.sml -+++ b/src/Compiler/Lambda/LambdaExp.sml -@@ -131,10 +131,10 @@ structure LambdaExp : LAMBDA_EXP = - | EXPORTprim of {name : string, - instance_arg : 'Type, - instance_res : 'Type} -- | RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-directed, -+ | RESET_REGIONSprim of {instance: 'Type, regvars: regvar list} (* NOT Standard ML, for programmer-directed, - * but safe, resetting of regions *) -- | FORCE_RESET_REGIONSprim of {instance: 'Type} (* NOT Standard ML, for programmer-controlled, -- * unsafe resetting of regions *) -+ | FORCE_RESET_REGIONSprim of {instance: 'Type, regvars: regvar list} (* NOT Standard ML, for programmer-controlled, -+ * unsafe resetting of regions *) - - datatype LambdaPgm = PGM of datbinds * LambdaExp - -@@ -235,8 +235,8 @@ structure LambdaExp : LAMBDA_EXP = - | EQUALprim{instance} => (foldType g) acc instance - | CCALLprim {instances, ...} => foldl' (foldType g) acc instances - | EXPORTprim {instance_arg,instance_res, ...} => (foldType g) ((foldType g) acc instance_arg) instance_res -- | RESET_REGIONSprim{instance} => (foldType g) acc instance -- | FORCE_RESET_REGIONSprim{instance} => (foldType g) acc instance -+ | RESET_REGIONSprim{instance, regvars} => (foldType g) acc instance -+ | FORCE_RESET_REGIONSprim{instance, regvars} => (foldType g) acc instance - | _ => acc - - fun size (e: LambdaExp) = foldTD(fn n:int => fn exp => n+1, -@@ -498,6 +498,11 @@ structure LambdaExp : LAMBDA_EXP = - barify_catch_basislib (unsymb(TyName.pr_TyName' tn)) - else TyName.pr_TyName tn - -+ fun layoutRegVar r = (PP.LEAF o RegVar.pr) r -+ -+ fun layoutRegVars regvars = PP.NODE {start="", finish="", childsep=PP.LEFT " ", indent=0, -+ children = map layoutRegVar regvars} -+ - fun layoutPrim layoutType prim = - case prim of - CONprim{con,instances,regvar} => -@@ -665,16 +670,16 @@ structure LambdaExp : LAMBDA_EXP = - else - if !barify_p then PP.LEAF ("Prim.export " ^ strip_ name) - else PP.LEAF ("_export " ^ name) -- | RESET_REGIONSprim {instance} => -+ | RESET_REGIONSprim {instance, regvars} => - if !Flags.print_types then - PP.NODE{start="resetRegions(", finish=")",indent=2, -- children=[layoutType instance],childsep=PP.NOSEP} -- else PP.LEAF("resetRegions") -- | FORCE_RESET_REGIONSprim {instance} => -+ children=[layoutType instance, layoutRegVars regvars],childsep=PP.RIGHT ","} -+ else PP.LEAF "resetRegions" -+ | FORCE_RESET_REGIONSprim {instance, regvars} => - if !Flags.print_types then - PP.NODE{start="forceResetting(", finish=")",indent=2, -- children=[layoutType instance],childsep=PP.NOSEP} -- else PP.LEAF("forceResetting") -+ children=[layoutType instance, layoutRegVars regvars],childsep=PP.RIGHT ","} -+ else PP.LEAF "forceResetting" - - fun layoutSwitch layoutLambdaExp show_const (SWITCH(lamb,rules,wildcardOpt)) = - let -@@ -770,10 +775,6 @@ structure LambdaExp : LAMBDA_EXP = - - and layoutType_repl t = layoutType0 {repl=true} t - -- and layoutRegVar r = (PP.LEAF o RegVar.pr) r -- -- and layoutRegVars regvars = PP.NODE {start="", finish="", childsep=PP.LEFT " ", indent=0, -- children = map layoutRegVar regvars} - and layoutTypeList tl = - case tl of - Types taus => PP.NODE{start="Types(", finish=")", indent=1, -@@ -1577,10 +1578,14 @@ structure LambdaExp : LAMBDA_EXP = - (Pickle.tup3Gen0 (Pickle.string,pu_Type,pu_Type))) - fun fun_RESET_REGIONSprim _ = - Pickle.con1 RESET_REGIONSprim (fn RESET_REGIONSprim a => a | _ => die "pu_prim.RESET_REGIONSprim") -- (Pickle.convert(fn t => {instance=t},#instance) pu_Type) -+ (Pickle.convert(fn (t, rvs) => {instance=t, regvars=rvs}, -+ fn {instance=t, regvars=rvs} => (t, rvs)) -+ (Pickle.pairGen0(pu_Type, Pickle.listGen RegVar.pu))) - fun fun_FORCE_RESET_REGIONSprim _ = -- Pickle.con1 FORCE_RESET_REGIONSprim (fn FORCE_RESET_REGIONSprim a => a | _ => die "pu_prim.FORCE_RESET_REGIONSprim") -- (Pickle.convert(fn t => {instance=t},#instance) pu_Type) -+ Pickle.con1 FORCE_RESET_REGIONSprim (fn FORCE_RESET_REGIONSprim a => a | _ => die "pu_prim.FORCE_RESET_REGIONSprim") -+ (Pickle.convert(fn (t, rvs) => {instance=t, regvars=rvs}, -+ fn {instance=t, regvars=rvs} => (t, rvs)) -+ (Pickle.pairGen0(pu_Type, Pickle.listGen RegVar.pu))) - val fun_BLOCKF64prim = Pickle.con0 BLOCKF64prim - fun fun_SCRATCHMEMprim _ = - Pickle.con1 (fn n => SCRATCHMEMprim {sz=n}) (fn SCRATCHMEMprim {sz=a} => a | _ => die "pu_prim.SCRATCHMEMprim") -@@ -1892,8 +1897,8 @@ structure LambdaExp : LAMBDA_EXP = - | SCRATCHMEMprim _ => acc - | EXPORTprim {instance_arg,instance_res, ...} => - tyvars_Type s instance_arg (tyvars_Type s instance_res acc) -- | RESET_REGIONSprim{instance} => tyvars_Type s instance acc -- | FORCE_RESET_REGIONSprim{instance} => tyvars_Type s instance acc -+ | RESET_REGIONSprim{instance, regvars} => tyvars_Type s instance acc -+ | FORCE_RESET_REGIONSprim{instance, regvars} => tyvars_Type s instance acc - | RECORDprim _ => acc - | SELECTprim _ => acc - | UB_RECORDprim => acc -diff --git a/src/Compiler/Lambda/LambdaStatSem.sml b/src/Compiler/Lambda/LambdaStatSem.sml -index 87cb45b4..24ecf6d8 100644 ---- a/src/Compiler/Lambda/LambdaStatSem.sml -+++ b/src/Compiler/Lambda/LambdaStatSem.sml -@@ -781,7 +781,7 @@ structure LambdaStatSem: LAMBDA_STAT_SEM = - log "but found type:\n"; log_st (layoutTypes ts); - die "Export of function") - end) -- | RESET_REGIONSprim {instance} => -+ | RESET_REGIONSprim {instance, regvars} => - (valid_t env instance; - check_t_no_f64 "RESET_REGIONSprim" instance; - case lexps -@@ -791,7 +791,7 @@ structure LambdaStatSem: LAMBDA_STAT_SEM = - else die "RESET_REGIONSprim2" - end - | _ => die "RESET_REGIONSprim.Wrong number of args") -- | FORCE_RESET_REGIONSprim {instance} => -+ | FORCE_RESET_REGIONSprim {instance, regvars} => - (valid_t env instance; - check_t_no_f64 "FORCE_RESET_REGIONSprim" instance; - case lexps -diff --git a/src/Compiler/Lambda/OptLambda.sml b/src/Compiler/Lambda/OptLambda.sml -index 61e9f7dd..e12efc23 100644 ---- a/src/Compiler/Lambda/OptLambda.sml -+++ b/src/Compiler/Lambda/OptLambda.sml -@@ -448,8 +448,8 @@ structure OptLambda : OPT_LAMBDA = - eq_Type(t,t') andalso RegVar.eq(rv,rv') - | (ASSIGNprim {instance=t}, ASSIGNprim {instance=t'}) => eq_Type(t,t') - | (EQUALprim {instance=t}, EQUALprim {instance=t'}) => eq_Type(t,t') -- | (RESET_REGIONSprim {instance=t}, RESET_REGIONSprim {instance=t'}) => eq_Type(t,t') -- | (FORCE_RESET_REGIONSprim {instance=t}, FORCE_RESET_REGIONSprim {instance=t'}) => eq_Type(t,t') -+ | (RESET_REGIONSprim {instance=t, regvars=rvs}, RESET_REGIONSprim {instance=t', regvars=rvs'}) => eq_Type(t,t') -+ | (FORCE_RESET_REGIONSprim {instance=t, regvars=rvs}, FORCE_RESET_REGIONSprim {instance=t', regvars=rvs'}) => eq_Type(t,t') - | (CCALLprim{name=n,instances=il,tyvars=tvs,Type=t}, CCALLprim{name=n',instances=il',tyvars=tvs',Type=t'}) => - n = n' andalso eq_Types (il,il') andalso eq_sigma((tvs,t),(tvs',t')) - | (EXPORTprim{name=n,instance_arg=a,instance_res=r}, EXPORTprim{name=n',instance_arg=a',instance_res=r'}) => -diff --git a/src/Compiler/Regions/AtInf.sml b/src/Compiler/Regions/AtInf.sml -index 4b514d24..92f25445 100644 ---- a/src/Compiler/Regions/AtInf.sml -+++ b/src/Compiler/Regions/AtInf.sml -@@ -111,7 +111,7 @@ structure AtInf : AT_INF = - end - end - -- fun lay_header (force,lvar,(tau,p:place option)) = -+ fun lay_header_lvar (force,lvar,(tau,p:place option)) = - if force - then PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, - children = [PP.LEAF "You have requested resetting the regions that appear free ", -@@ -125,6 +125,17 @@ structure AtInf : AT_INF = - PP.LEAF ("in the type scheme with place of '" ^ Lvars.pr_lvar lvar ^ "', i.e., in"), - lay_sigma_p(RType.type_to_scheme tau,p)]} - -+ fun lay_header_regvars (force, regvars) = -+ if force -+ then PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, -+ children = [PP.LEAF "You have requested resetting the regions ", -+ PP.LEAF ("{" ^ regvars ^ "}."), -+ PP.LEAF "I have done as you requested, but I cannot guarantee that it is safe.", -+ PP.LEAF "Here are my objections (one for each region variable concerned):"]} -+ else PP.NODE{start= "", finish = "", indent = 0, childsep = PP.NOSEP, -+ children = [PP.LEAF "You have suggested resetting the regions ", -+ PP.LEAF ("{" ^ regvars ^ "}.")]} -+ - fun lay_set (rhos: place list) = - PP.HNODE{start ="{", finish = "}", childsep = PP.RIGHT",", - children = map Eff.layout_effect rhos} -@@ -294,15 +305,24 @@ structure AtInf : AT_INF = - in loop(1,l) - end - -- fun lay_report (force:bool, lvar, mu, conflicts) : StringTree = -+ fun lay_report_lvar (force:bool, lvar, mu, conflicts) : StringTree = - let val tau_p = - case RType.unBOX mu of - SOME (tau,p) => (tau,SOME p) - | NONE => (mu,NONE) -- in PP.NODE{start = if force then ("forceResetting(" ^ Lvars.pr_lvar lvar ^ "): ") -- else ("resetRegions(" ^ Lvars.pr_lvar lvar ^ "): "), -- finish = "", indent = 3, childsep = PP.NOSEP, -- children = lay_header(force,lvar,tau_p) :: lay_conflicts(force,conflicts)} -+ val head = if force then ("forceResetting(" ^ Lvars.pr_lvar lvar ^ "): ") -+ else ("resetRegions(" ^ Lvars.pr_lvar lvar ^ "): ") -+ in PP.NODE{start = head, finish = "", indent = 3, childsep = PP.NOSEP, -+ children = lay_header_lvar(force,lvar,tau_p) :: lay_conflicts(force,conflicts)} -+ end -+ -+ fun lay_report_regvars (force:bool, rhos, conflicts) : StringTree = -+ let -+ val regvars = String.concatWith ", " (map Eff.pp_eff rhos) -+ val head = if force then ("forceResetting(" ^ regvars ^ "): ") -+ else ("resetRegions(" ^ regvars ^ "): ") -+ in PP.NODE{start = head, finish = "", indent = 3, childsep = PP.NOSEP, -+ children = lay_header_regvars(force,regvars) :: lay_conflicts(force,conflicts)} - end - - fun any_live (rho,sme as (_,LE,EE), liveset, -@@ -555,25 +575,30 @@ structure AtInf : AT_INF = - | BLOCKF64 (alloc, trs) => BLOCKF64(which_at sme alloc,map (sma_trip sme) trs) - | SCRATCHMEM (n,alloc) => SCRATCHMEM(n,which_at sme alloc) - | EXPORT(i,tr) => EXPORT(i,sma_trip sme tr) -- | RESET_REGIONS ({force, liveset=SOME liveset, ...}, tr as (TR(VAR{lvar,...},meta,_,_))) => -+ | RESET_REGIONS ({force, liveset=SOME liveset, regions_for_resetting}, tr as (TR(e,meta,_,_))) => - (case meta of - MulExp.RegionExp.Mus [mu] => -- let val free_regions = Eff.remove_duplicates(RType.frv_mu mu) -- val (place_at_list, conflicts) = -- analyse_rhos_for_resetting(sme,liveset,free_regions) -- val conflicts' = -- if force then -- foldl (fn (SAT rho, acc) => FORMAL_REGION_PARAM rho :: acc -- | (_, acc) => acc) conflicts place_at_list -- else conflicts -- in -- case conflicts' of -- [] => () -- | _ => warn (PP.reportStringTree(lay_report(force,lvar,mu,conflicts'))); -- RESET_REGIONS({force=force,regions_for_resetting = place_at_list, liveset=NONE}, -- sma_trip sme tr) -- end -- | _ => die "RESET_REGIONS: expected a type and place on argument to resetRegions" -+ let -+ val rhos = map #1 regions_for_resetting -+ val free_regions = Eff.remove_duplicates(RType.frv_mu mu @ rhos) -+ val (place_at_list, conflicts) = -+ analyse_rhos_for_resetting(sme,liveset,free_regions) -+ val conflicts' = -+ if force then -+ foldl (fn (SAT rho, acc) => FORMAL_REGION_PARAM rho :: acc -+ | (_, acc) => acc) conflicts place_at_list -+ else conflicts -+ in -+ case conflicts' of -+ [] => () -+ | _ => case e of -+ VAR{lvar, ...} => warn (PP.reportStringTree(lay_report_lvar(force,lvar,mu,conflicts'))) -+ | RECORD(NONE, nil) => warn (PP.reportStringTree(lay_report_regvars(force, rhos, conflicts'))) -+ | _ => die "RESET_REGIONS: ill-formed expression: argument to RESET_REGIONS should be a variable or unit"; -+ RESET_REGIONS({force=force,regions_for_resetting = place_at_list, liveset=NONE}, -+ sma_trip sme tr) -+ end -+ | _ => die "RESET_REGIONS: expected a type and place on argument to resetRegions" - ) - | RESET_REGIONS _ => die "ill-formed expression: argument to RESET_REGIONS should be a variable" - | FRAME{declared_lvars, declared_excons} => -diff --git a/src/Compiler/Regions/Mul.sml b/src/Compiler/Regions/Mul.sml -index b7c54ba6..b27c7be5 100644 ---- a/src/Compiler/Regions/Mul.sml -+++ b/src/Compiler/Regions/Mul.sml -@@ -223,7 +223,7 @@ struct - end - - fun equal_qmularefset ((qmularefset1:qmularefset,sigma1),(qmularefset2:qmularefset,sigma2)) = -- arity_qmularefset(qmularefset1) = arity_qmularefset(qmularefset2) andalso -+ arity_qmularefset qmularefset1 = arity_qmularefset qmularefset2 andalso - - (* (1) normalize qmularefsets so that bvs comes in the order of first - * occurrences in its type. (2) instantiate qmularefsets to fresh -@@ -302,7 +302,7 @@ struct - loop(n+1)) - in loop 0; - Array.update(empty, -- hash(key_of_toplevel_arreff), -+ hash key_of_toplevel_arreff, - [(key_of_toplevel_arreff,[])]) - end - -diff --git a/src/Compiler/Regions/SpreadExpression.sml b/src/Compiler/Regions/SpreadExpression.sml -index 0528a994..055e5cd4 100644 ---- a/src/Compiler/Regions/SpreadExpression.sml -+++ b/src/Compiler/Regions/SpreadExpression.sml -@@ -1455,7 +1455,7 @@ good *) - | _ => die "EXPORT: function does not have function type" - end handle X => (print "EXPORT-1\n"; raise X)) - -- | E.PRIM(E.RESET_REGIONSprim{instance = _}, [e0 as (E.VAR _)] ) => -+ | E.PRIM(E.RESET_REGIONSprim{instance = _, regvars = regvars}, (* [e0 as (E.VAR _), e1] *) [e0] ) => - (* - x => [mu], empty rho fresh - ----------------------------------- -@@ -1470,36 +1470,50 @@ good *) - val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) - val mus0 = unMus "S.RESET_REGIONSprim" meta0 - val mu = R.unitType -- val phi = Eff.mkUnion(map Eff.mkPut(List.filter Eff.is_rho (R.ann_mus mus0 []))) -+ val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of -+ NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") -+ | SOME p => p) regvars -+ val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) -+ val phi = Eff.mkUnion(map Eff.mkPut rhos) - in - case e' of - E'.VAR{il_r as ref il, ...} => - (case R.un_il (#1 il) of ([],[],[]) => -- (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = []},t), E'.Mus [mu], phi), -+ (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), - NOTAIL, - tvs) - | _ => crash_resetting false) -+ | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) -+ (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), -+ NOTAIL, -+ tvs) - | _ => crash_resetting false - end -- | E.PRIM(E.RESET_REGIONSprim{instance = _}, _ ) => crash_resetting false -- | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _}, [e0 as (E.VAR _)] ) => -+ | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _, regvars = regvars}, [e0] ) => - (* same as RESET_REGIONSprim, except that "force" is set to true in the result *) - let - val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) - val mus0 = unMus "S.FORCE_RESET_REGIONSprim" meta0 - val mu = R.unitType -- val phi = Eff.mkUnion(map Eff.mkPut(List.filter Eff.is_rho (R.ann_mus mus0 []))) -+ val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of -+ NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") -+ | SOME p => p) regvars -+ val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) -+ val phi = Eff.mkUnion(map Eff.mkPut rhos) - in - case e' of - E'.VAR{il_r as ref il, ...} => - (case R.un_il (#1 il) of ([],[],[]) => -- (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = []},t), E'.Mus [mu], phi), -+ (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), - NOTAIL, - tvs) - | _ => crash_resetting true) -+ | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) -+ (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), -+ NOTAIL, -+ tvs) - | _ => crash_resetting true - end -- | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _}, _ ) => crash_resetting true - - | E.FRAME{declared_lvars, declared_excons} => - let diff --git a/run b/run deleted file mode 100755 index 84113b8122e9a6f269383050d57e08f5ac5e344d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150280 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 TzYqV;ZECYU^j->sv};t?Nxh^ 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 Date: Tue, 16 Dec 2025 19:52:40 +0100 Subject: [PATCH 03/37] Christmas cleanup 2025 (#199) * better ordering of argument-flattening * better inlining and specialisation control * switch-constant-folding is constant-folding * -abbrev flag for abbreviated layout of effects * improved layout of MulExp expressions * improved layout of RegionExp expressions * disable aggresive optimisations for ReML * change type of __equal_ptr to be more generic * avoid extending live-ranges * support more than 6 arguments with auto completion - fixes #192 * application convertion for JS-backend * new manual * fix bugs in Socket.recvVec --- NEWS.md | 14 + basis/Socket.sml | 7 +- configure.ac | 2 +- doc/manual/Makefile | 2 +- doc/manual/length_region.pdf | Bin 8230 -> 11827 bytes doc/manual/life100.pdf | Bin 0 -> 13773 bytes doc/manual/life200.pdf | Bin 16653 -> 0 bytes doc/manual/life50.pdf | Bin 0 -> 8748 bytes doc/manual/life80.pdf | Bin 9898 -> 0 bytes doc/manual/life_ex2.pdf | Bin 9127 -> 9330 bytes doc/manual/life_ex3.pdf | Bin 4239 -> 5531 bytes doc/manual/life_ex4.pdf | Bin 8287 -> 14497 bytes doc/manual/mac.tex | 20 +- doc/manual/mlkit.bib | 112 + doc/manual/mlkit.tex | 11043 ++++++++++-------- doc/manual/msortregion.pdf | Bin 14584 -> 53727 bytes doc/manual/msortreset2.pdf | Bin 7960 -> 10333 bytes doc/manual/msortstack.pdf | Bin 5754 -> 14436 bytes doc/manual/scan.pdf | Bin 7392 -> 27398 bytes doc/manual/scan_rev1_1.pdf | Bin 30244 -> 30677 bytes doc/manual/scan_rev1_2.pdf | Bin 5642 -> 6695 bytes doc/manual/scan_rev2_1.pdf | Bin 29461 -> 29953 bytes doc/manual/scan_stream.pdf | Bin 32553 -> 32832 bytes doc/manual/scan_stream_nogc.pdf | Bin 31961 -> 32667 bytes doc/manual/sml.tex | 146 + doc/mlkit.pdf | Bin 937471 -> 1153417 bytes kitdemo/Makefile | 28 +- kitdemo/ccalls.sml.mads | 268 - kitdemo/escape.sml | 15 +- kitdemo/escape1.sml | 15 +- kitdemo/escape2.sml | 15 +- kitdemo/exceptions.sml | 10 +- kitdemo/expdec.sml | 2 + kitdemo/expdec2.sml | 2 + kitdemo/fold4.sml | 12 +- kitdemo/high-unb.sml | 1 + kitdemo/length-cmd.sml | 76 + kitdemo/length.sml | 57 +- kitdemo/libmylib.c | 14 + kitdemo/life.sml | 268 +- kitdemo/msort.sml | 37 +- kitdemo/msortreset1.sml | 14 +- kitdemo/msortreset2.sml | 14 +- kitdemo/mylib.sml | 7 + kitdemo/refs1.sml | 2 +- kitdemo/refs2.sml | 12 +- kitdemo/refs3.sml | 14 +- kitdemo/test_mylib.sml | 24 +- kitdemo/trees.sml | 34 +- src/Common/Flags.sml | 4 +- src/Common/KitJS.sml | 4 +- src/Common/KitReML.sml | 2 +- src/Compiler/Backend/CodeGenUtil.sml | 4 +- src/Compiler/Backend/JS/ExpToJs2.sml | 42 +- src/Compiler/Backend/X64/CodeGenUtilX64.sml | 58 +- src/Compiler/Backend/X64/CodeGenX64.sml | 14 +- src/Compiler/Lambda/EliminateEq.sml | 12 +- src/Compiler/Lambda/OptLambda.sml | 300 +- src/Compiler/Regions/Effect.sml | 2 +- src/Compiler/Regions/MulExp.sml | 62 +- src/Compiler/Regions/RegionExp.sml | 6 +- src/Runtime/Math.c | 26 + src/Runtime/Profiling.c | 10 +- src/Runtime/Region.c | 77 +- src/Runtime/Socket.c | 4 +- test/auto2.sml | 2 +- test_dev/Makefile | 3 +- test_dev/auto2.out.ok | 6 + test_dev/auto2.sml | 51 + 69 files changed, 7044 insertions(+), 5932 deletions(-) create mode 100644 doc/manual/life100.pdf delete mode 100644 doc/manual/life200.pdf create mode 100644 doc/manual/life50.pdf delete mode 100644 doc/manual/life80.pdf create mode 100644 doc/manual/sml.tex delete mode 100644 kitdemo/ccalls.sml.mads create mode 100644 kitdemo/expdec.sml create mode 100644 kitdemo/expdec2.sml create mode 100644 kitdemo/high-unb.sml create mode 100644 kitdemo/length-cmd.sml create mode 100644 test_dev/auto2.out.ok create mode 100644 test_dev/auto2.sml diff --git a/NEWS.md b/NEWS.md index 1aa323e58..9c420863f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,19 @@ ## MLKit NEWS +### MLKit version 4.7.16 is released + +* mael 2025-12-15: Updated documentation. There is a new version of "Programming + with Regions in the MLKit"; see doc/mlkit.pdf. + +* mael 2025-12-15: Fix bug in Socket.recvVec. It now works correctly when passed + Word8Vector.maxLen. + +* mael 2025-12-08: Better inlining control. The flags `-max_inl_sz` and + `-max_spec_sz` now control inlining and specialisation both at declaration + points and at call sites. + +* mael 2025-12-08: Improved argument-ordering with deep argument-flattening. + * mael 2025-11-18: Fix stack reporting in region profile graphs. * mael 2025-11-05: Prettier printing of MulExp expressions (e.g., call-explicit diff --git a/basis/Socket.sml b/basis/Socket.sml index 3ed5eb7d0..55b333238 100644 --- a/basis/Socket.sml +++ b/basis/Socket.sml @@ -227,8 +227,11 @@ local fun recvVec ({fd,...} : ('af, active stream) sock, i : int) : Word8Vector.vector = - prim("sml_sock_recvvec",(getCtx(),fd,i)) - handle Overflow => failure "recvVec" + let val i = if i > 2147483647 then 2147483647 + else i (* recv (inside 'sml_sock_recvvec') fails if i is too large... *) + in prim("sml_sock_recvvec",(getCtx(),fd,i)) + handle Overflow => failure "recvVec" + end fun close ({fd,...} : ('af, 'st) sock) : unit = prim("@close", fd) diff --git a/configure.ac b/configure.ac index 9d7700d4e..55601df6a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(MLKit, [v4.7.15]) +AC_INIT(MLKit, [v4.7.16]) AC_CONFIG_HEADERS([src/config.h]) AC_REVISION($Revision$) AC_CONFIG_FILES([src/Runtime/Makefile diff --git a/doc/manual/Makefile b/doc/manual/Makefile index 4f7167704..42b379ebb 100644 --- a/doc/manual/Makefile +++ b/doc/manual/Makefile @@ -1,6 +1,6 @@ all: mlkit.pdf -mlkit.pdf: mlkit.tex Makefile +mlkit.pdf: mlkit.tex Makefile sml.tex pdflatex mlkit bibtex mlkit pdflatex mlkit diff --git a/doc/manual/length_region.pdf b/doc/manual/length_region.pdf index 0364ee663c24bf6bd9421e3194d2492a17735a00..ce396b5231c5bdb82d8d297582b514fdcf45043a 100644 GIT binary patch literal 11827 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 delta 6500 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 diff --git a/doc/manual/life100.pdf b/doc/manual/life100.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8754619b197c19cc4a0fa577ca362231c6459aed GIT binary patch literal 13773 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⋘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 literal 0 HcmV?d00001 diff --git a/doc/manual/life200.pdf b/doc/manual/life200.pdf deleted file mode 100644 index 0c9e02e670f82ac4f659bd14cff18614ca8ae072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16653 zcmb`vbyS<%5;qJKcXtUcAtY#V_uwuC3M9A{f)g+hy4TZ(Ie zFPwAkxw7u}z2Cdm%|DrE_WWjM?~(ni6$W-4MP(2_pAatl(2s;dTwwqN;BMoDD=7)q zfV@CcL}%Gn_rCYPRdR$u7-@y4$qChtXo;Jw@HnsH%0m$)auXtEH=#aQnt+)phk9sIPUEe;0Upc6j~CW9>KO?C=V>b1ZS(jdw-QI1)MZ zy{YEeag9}b(DB9Xo1vy}fu~!CZJzT?UDs<}&wii(x;tb2eN*<(D){)uH{tGT^}43> z^6b^G&fA~g@BB932k&EQpIm{FIi2>kt&t;)w|U=2?^bd<#T$NaEW7nBXM-dOayfoN zmi;F0u21hS`ttfOs*d?Es13t_ix9#|+Vk<5)f|(3!pYXMF;734%$1JAZ-M7&)a#u? zuIG^Y*GHX7{8^%^O_BE5gh&0JzKLHY6=*TDA`g4~deiHA8lK;Ev#r(2t4})E_ldt- zVleughojB9Ju%Q8eEPxHb03YbioS59A|BF1(~F4UOmAb2xL)eBj`(^h^wuqEDnm(_ zBkOe=aE;nGGw_$4tt3*#I%6KD_RNqUb*|=H%md5y;@?;=>|&26UijFxhzU7Mz8+vG zooxL{Oz&-CNA#8#%uY{V5Wds&Or)1=Y?(wH&uwiJyHB*)rAfSU>qV-&ho3ZO=JmpX z7O!t4Rd-sPjH0T~B_#B9MoQC0@F|n%Aock+<)4;q$0r%Iy-Z+50veZ0gxpxKCl(U# zVdyDcKUXtN;%LaAKo{3VF3mpbWz5{9by%Ez`YT)B+t@O(;&cU<)bTLr_k!Xy{%m4r zyC>9^j^h1DkC^324|YWrv9nSZ=a&K7t$#4s zyFepP21f`qbP~!Q+((VLIL~1aRns_Oa9xo15+R9<(|TxXPSZNN|2m=fNsQ8u?&Rc9 zvM$hFfAaMOI^@0mUiv_MR`5pxrF5u=K}yB7{K#zZE7j zd@(4m#Kl}?xxUCGhDW78UK2F+Cr>0Z17$;)Rx!`5 zBlt~GZtLJgwSy%I4|p;d>VF(0SS&fB@Zj;W#N*N}J?+pJ=W#)ysyZoqEF!uzR)kM^ zBW_2{JPw8Q#O;%XAW-JhK_ckVf-i^A3cQZ^!op+C#B6oGt!iz`k&cLF17EQ+?AXwk8cXm~!ko|IfhoyMokk6WicT%&%sDB#fFE!P|`hrr7Pcim5 zA=COplf~HxB=~9maW}+9i?PM6%l&cKCC#RQB4VFDlG1}=Ea~|K`8mT7`&BVP{Nh;w z#tZs5YOO^9bUll9&tP_jpje@whv#W|M$gPH9XHD+Au=}-y$w(tgR|hLq5(cWQfN}6 z?}U$lITbt&ydzp?ZjN!W&8H;*w&9uL&cr1KjmANAwV;y zT4{F)f*-I-e{`hV=tbBCAHulr99i}`k&k-*@ zrY9CoNzE1bigCHEQ4&=k(uXuoyMhfeLHJlp5fdV79Ej>ChU!eAuXfCAyepLaP^wD~ zNLyPy*u>RE&0UiSOjzEg|Sja0%B7qD-`K6@M zEPK0v(Cl)hd=4UtVM3bHrBZawQvgo(o}56Ip?z|GbUdvrSvpOYXp6S?+gTP;4~F>R zsad6sCr-N+os6t8sOPGE+?c}#dNo{P4GFx^B^G8ftrlMQSru6hCmMi$#nb~BPlILZ zmu&XIkrqteO@^%-OAb+=c zdXX-5==IYy6wO76NlBA{OJ;nnzG95z_=fi$+!e9SybUKw1KWg*%vjnM{RH!rI2qj_ zlKHdf%6RrIQd-jfbVcZDR&t7SZxFg!AvC(7B)#*NFy&;074c+M8IkDGu*kCfj;{-0 zxFp-+K19Y*ZD|@+KgY{-u{;4qW0pl7){)Ltw6Rz>+ly0xAL}_Dq&Q-?sgUm7{>1cZ zcMpxh1FE7im%%n#9>fM)OUE>FkR<)Mq6n{G0V%SXQL>mtIWQMKkLtAe^ZQv)RC$!@ zj1?&%!#Bo+S2-pYkBAOVIM@uPQwlgWH1}X@+EgmM`DPo@tX%eDzFeVc^|rZUHHZTR z^w*K9u`CP@Wj$PIMp&ngOXss54QE?ge8|2KC=wv`G^t>0Oz#j?&nSkw>sI*)f-TmAvJDG}o>4GrU?ny8% zgY}NWHWY!r|0CISr~CvbQH4_cN<~hEQJy_Z`+2-gx7B7aN{d5iK1LWNwi)1WV#gRO zY)80g=H|6DwxW1jNu`zNvSDj74|d)KYqU}k}-URk^cApCmB$G-{tm!XyFh=#JW z$ZplL^CMlzG>nEy`D(z1EypIfgW6Fq&>q8#;?Rmxxw4B$^p^YTQx#xREvO$}QIb&A zE(9LZlIp*iqr}NtBHK0sa2)KvRv9Lr>e+DN^pKKx8#U0Kkr>U#4j^m59!Ael?IR=# z^bXD1;R?-iiuF)N&;Y8Yty{Exot#KAarm-ti0PNguo8pzKeL3zU15(af&mW@4bkdQo5)tZ8?`5TWSi)^fsm&M(a>9j39 z_nE&WixM(52P;b80n)1E5AIX*#8YqG+=za0PT7FnZ8yI{tF_8)RwabPY1c6Mncf^8 zcWYwK&A6H@2f)WXQMk?U(DKuFi?K!RPm~uS=IAgqqVWe4$mFzJOOMam^J6QnkO5xi zw@&pc;*o(g>LLFmz<6X+^Pf4HWaz}Zq!=Y6T4+OPH!feQb{BIfYA?cU<~F`#=sA}g znM#EDqwQW&KjG7rMGr3K6O=?)@Q2j$t;<9K?7gC0u^Ouf{J)>@(4Ic=M_wPd?QDqlV)Zel%UwUUG=7UcgxD;*e%hScZcduLVQ&K5k`G*)u*#%l0scIa!Md9I7gA*g>bLS8>e1JnfIXFmDUl z9?2HR9(m!h?0R0f5jz^?$`C7xV=+)s@6vyLZCkuoIwXSu;|b-{R-Zmg^ZWb(-cqwa@eQi$##Sx5yVTV2*ro>PMMyr{PNTGVyf==eyGfzMAGYVmDR zQqw)bz_W__`bWPCx_|m}VJ#uwe~6rv)z#J4p6eiOGWP->{Zu zo3O)+-gcA^B&x=Q*D zmQ?EmQ$aTrFfF#%jI5=LElkxgbmDHQU!iO?`XGre)RTX%0`yZxWmP!E`ci0ftlAU?bwxPK0!CRUUY zdh?1b+BoWrfnzKfP_lEPC5@(@UA-!=*7Yd0Sl~wuEqleD#G8+iEVs}HYA1GQtKiqA zSHzQ&WY0`t&JqDSeHf*M)vO!(9aqk1&WBHhpE;oVs{ZI{c6`yWaxOheY40(F>h$jM z`({WRjagyv{EV!4_+=fTzI-ZZMKMrknWQh^oAkFH(7T)Nmi=YN8@Ef9!CBI7&Igl} zm^B1nr|C|sOMdy7*$e%+Sh5s))D7Kx61e`ACUZ}`?_?n_0p;QDG=u9=$%AnNpE~xQ zG#5?l({nMt&6nB=pmPWhJ-nM>$Vz86oqFfNL_OW}p*n@2=7ByX=mS^LwjPhLrSmn? zz3GyTv$|PN3~%#1yz((7S5osey)jTZ)QiV=rzD-cMdQ#zU_73|Y`@1^e2;^EtLW{D z$M>00j;2RF*88kJ7NzNUqD!sCtMtYmnODP_#Vwm?gkDVVtc4o_Nkzx0sM`F!#xUqh zrO^nR(zPpb_?p{R_QTrn_W7ExO+0*imN9&(mU5`BFnnbMma6yMc5V%^BMoRU9p9#I5unxtv7KOE%+X(2de3}Y*k#3CiukjdyugGj3pYBlvD`LMkMw_VoR1`OJ2vja68tp};4cU?XzGswkN6=4s0ii!cy2WaFz#{Pe>t z+%Ut^FxLvLoq{~G2ZMlH=!YmEh3LgR#pmpmcdRxN7~Vr4%&;Dn7p#+5I$?{4SI~|! zuD*TIPb&h1Nj>;Ro6jWMj(J5UkdNJ$Y7p11z)v<{@ik+Sx{9X<>~tJI`=ZJ77JYVb z#qo%;kodulmH!I=b@e9k|4D&#{<1DGnsgyHPH?K#z3#5!0m++;n*%H3y z4=vZZp0C~j#I{AYS1)px?9%0*Wq%o;p2J!f;UVY(woJk0(&A%}JmuUtN`B}k(^>4u zu(V{!zD`hZo3LJHc?f2H=w){JY~zKrN5QSj@&h)D^-UUcXqklcV^flK+)U}XVu=$u z^(VpAB_HH&*eWwQoOT3pG9nBB_H7LZVdz+2(>Jr9K&^}&dTfC6oeljDDv720LCcdn zDO9~w=Fnr~-0A(9rRiP5r7}8I8QzL;YNfB7{^TU7-kb!yp2+oXm(7^{I z-v}2_N@s~8B5Rguh^*Q;8QpeAqJ1XGaN^9-*B4^*q7||4LfSzz+BcNd!(~e!_4tC# zipn)tF@_(WFmMUPWm4>f) zWI&!1?kQru$))K$?X{ov}mDG|r@L z*nLMwfmIX}uQ16WwH5J9fgtDWW5VU%vhMlX^k=6l$36iM!Ud;@=!WE_4q3aN&<$3F z>>-{Uo;o`@{1|j&{A8XOwy2ay=jJdQ)>uSw@_;lX{Kw6uRF>%v_`8e&OUkGIyk~Wv z$85l{9e)$A-)CGoa7c<=$OICzR=X$UaN6rrNfPcNX2VA4-Gc-qoG?#$zo%tZ&p%O` zD+D%)p1;s_Y*5AyfwHz{?!iSnRC^Q^XbikT^#YWC5sGwkQ?Vw(ViHoXyl**LtaGe_?35 z#7bzSV_M{h(af3nsOXHfPNwiqOo7_8KhDuXbp%k#6T}?As{gF z?MM3MLZHaci_+ih7Vm1)pP`Se(6`Zr2q|idB)@I`kcNfAl=-$6`zy|ig~t|ge)DzM zqbyvp`MhC&5gMN!lcXx?P|BI2!%0#Tv~&o~6C3i{iycU1=b1Vguezk@t0!+mcVe@v zN8UAGB}enCh=vv1$8SlOSyh9GEmHtb<@U&P2UNU&txGQ}TuLs-n&)lpE_wEN zG{=6%4mW=!zN8p`mi7B%^32Te)DMsB*PD-4=<)`~aQa7O!LCoBK8p4NRgk!4*V_Do z`tA=a*Xbb?q+*yG_zCV=Zp`y6u-b>?F@041{$!@HP3w~^)fd;QQLCAl|ogB?VDaL)bth^b>3a6C=VKJ>1Rh;b|Z$vG=;*7u3zkA0SV9M*+#)il8o@Yp&bWi!a1KGEy^+ zAlh$_s99nkq6k?90jR%5irb?5Y`I(~lF^xdrH=xjZClVt>EnAl}U)=vpGVHXT!Qcz0$Q>BS$PD$4YGZx^I0WoWA-L)uuJ z&rkYxR0iSM_>Y#CT+rfEPTog@Ql1;e*3c_nC;ABfj9Ij3fC6hig%*UXU}eV0F_em@ za<0DB3)7;DY!^_I@luZ!6L;N z5pE~p0;`z94-QL7yN&|oI7KXJGS&84JKrPLoM@{m>PlzGMuUnsvs;}5YS=@l9CFE8 ztXb3?7UZFHDwhgSHZmF|D99{6OI5^dK1)qTok1K|)eI(%t4n2Lct_us-aY~6=g!F) zb`D4PP2IKA%T2$IPtMmPum>lb?lD_hcwr!Qd^$lO&Usgy_%e#-fDkYRtb@4pafm*)M4#EU8zdf5#!lo=>Tk zP+j*Ic=WaZwBy=8<@{K9+gH_Hs1}8S@sP+0JM2wiICi;pt>1v$uI45wY29o~VlAfK zK)>AXbLnTYDl1(OEK=DP`6l+kN{M6j3Mz#`oGQC_7?kGf9VmFrS|zi12jo4)i23${ zEL`;USi5|+i~LyvgUYMoV)K(PK5`=~{cQ{mbh9Y0@p^vjZDX=uKk!^Bo~FZNOeZIu z$F`46vs`j#CSs$#1YPEq5-D_d6XG=EpK(cd{?U-qFp31A4dBk(21JkmS{rdn2c zIRXwL=j9UE6%QjS2@#72%|XiaFn-#+#EHr-b^q$tm#Hg&pG8r#hT`ZQ;fdQH zt&+*FB{|~dh!Mo9*1yd_Rlg}QOCGK}V}wt~J{HDT2k(#3W0hpM$z$grzH8!RSPdI8 z{tRD=}x+2lZ-&DNJ{*%wqSFH`YXfeH??2}P{?R5W;2Kt-P z_HQz7+KJFbil*DplI1H>_b<+T5&(VpjF@b@2T9-?W5$Cszuy~Z0r*4K6KpSG2v?EuZ{Y9r|-)n<6ow5L0GaNgHF;RUr`?Vy!7W%7Bol535Y@Ksd) zi1+q4Y95-F=Dwu`Xvjuj(&ENBbQj9K?3JRW<-QOKH^CwoL3P3%*F?#~e2y#X8x6$kIb|Z{L*GKF=2`0ONwBa_<9gAA$QtiA0?Hgg8u8! zOg%ocJXl_xu(@WkIf<~-B;`d}%3xYqXh)2HU;*2hdZcjYY^M>yp{~HJyDopukRzoM zMT`C7FZGcNY6-$gUk2$1TBKM2Gz=|{+OX=lqCOnFi(d6^>mdJ^TY75BRk1{K7|n9s z4D2Xj4MBvHLpfmKJ9X8@;j&` zdMHO|Z^U_Jb=OQIYd)Yy`yVRt1q$Z(*#x?dVc_I2s8im)O^ur&wD06*U&r0fOH6)} zHh!=d-FHRBrtmIm>D(EVwQrHgjF(^Ml0T1~@_a!^E|~`*7Fbh$%ojVxS3%RU$Gr3E z`RHTzzV`*Q_C08zfY&J+Q#J-zBOD;RyBj^|AP}R+^pHK%BH4@!FZpzhX6ZmLbzt!a z`_sk?`4K*v#(`8<44kGFTT$(tGV?$tW+wF=uVXTo~%4$ShiF+l@`(DQqzgUdCKU>t+bFQ!T znJr{MBq*|11zYxWnESPN((u}tWgj#`Xj|Szz~eTt1OPw$pvx%)q%WbfbX45N*SoA+ z`SDfVI}WV~&!HMR^BJWPz(OhhdfO3u^VT>b=Q7JH0(!X&S{ zHSjZrOI{)H@ZFoz)MpWiKbR?+S3j6PqT%%32$TQS$=V*V#!e0{@H3-G*ZBvHGXUkX zls_bm$w0Dfawq=~_!lPcRv^y6U6lM2|MiP^X|CblHcxGW2G;ZK)}_CG`Eff(fAgsF z(8VIbx#mWpE%8j?XY`_ZgG!!wPy!x>xOi(ks%W$>#n5|`PnRp1f`hLGM#P5div>Ti zwP_0Ek0y(!RJurv4D&c^3$#t#w#x7D6aqgK(=ywpjJArggT=Z|;k;av&`9A59w7_#Drom@VjNS<;-bWuM*4om}R(5(i|w z+<*$%ey|Ykn8P=D2m4UW>2f_hY+q%;|MbIcgI$#&dbN;)uso2`Z0_UekRrnrZj6y> zJ*gm>b9_Mjd|)bXaT;qiA2-IHLCK!{yutVEXlr#)O3Y%#9!F}6;Hef*pdf_~@VS|$ zBu~70>g(Nf6<7W5d1TQi<%K*Y-i3oa13r~|jHy=agn4^IRf1xH)4^Bv{?x#DH-<%u z?gaj#D7nua?T-PNdyPkDA1j4u1n ztTER*!wrNWj+T<=)qVB@ZE-I9(?wkk_4qx4Q}0!sR~5sLxtp3D$(Cj)z!ut$$jpER!UI3pViZxkxy2tM?8?{Cyey0v~)AKT&mYQYwTUJXx6?$^++Kb>_8`9w$4R% zD%Nw7r92ihLpC)p>h?7}TK!@PG9rLEjuOe-za8?t`ICJ2XSjZmB^Xsc!!;v7lK{f% z=x0Q?VpUQyw}rCgL?`k>ejDWnyLx-%X{}obYKts2Dg}y1`Ws)-RsGc|G*7?R^qe}; zL!WG3L@qNnF)pz;;#B?fF9n_j^~XE=IM z{ZR-tRto*Dmh%->8Q2QdZD&!Xm=`U?HoGTl2f*O_7^;kR`FOMz{qvA1lZ;**y8Q}1 zqi-uB+4w@I3FXJq0~~SB$qDURBDe8RV))`WvR;y;vX|_3WH!tn!}z9N;;C=i!i#cz z{6k_b1q2Zfi<5IY{2v_vXc*T%_8!pUoOF_dt^)WpQ;_mv88Vc{J5E}(-JjQ`Ut^q6}-!^DaZ=X|<OnPULjy2H^qE909$z2OWq9M3XU! zO-elxw|C(*NeMkIZ)Y9{xxVG{+e(`;%911XT@|iL)f*l8@3?$#@eNp+rPjmRgs^)m z+U2?XZ8myBD!$$@Y?g?C8~iIiKwT}Jyj)G4j`dz;EVj>X{R{iQu)JuSj0lNtnL2;) zK5ds`gh&*%R?;rOPWA}x-{;$@YnJA^cW?wOpDga3ev&R+a@cZIaewVsb+)HJ^y^*0 zy2?N%Zl7B5o`Vrd&HJzk`p8*<5vie*V!_Y6V-*_Z$t4qIJlk4Fb)(DT9p7>D-$Ych zwJvJlP8Yy-D@7^-TgCTq#VhJ;X^gzhGLCHD<*lH;q!D`i@w37@*-LBk@hMf+f)bp< z>2fHl;Pd6Ji~SH(3M~U2y&}z*s`llE%wJe9a#q$^Bj&lDhV@gJ82edT-{OEp^&)ZF zG9knt^vF}DTRVzuixSNabv4>x%{W&jka@y3d3Q!u-4{qk&VBB@b>7oF2fvd zrJgCL`VZae9PU=LQz@Q4s=X({D;vv~c@l5qMccg{GD0>ICWHGSko9Xh_91Ehu`i)} z(L=H3Z(Gd9aq~(i>8&a!-wu`e%DqKtEao*HVQpX9RG0VWVTyK%{n_(ny>$B?otOS2**J%S1RQ9Pz`d^^_es3Id?TH* z88tR2`P~PLfZt8&>8uC2C=s!e(`KS`D+K+_bce3z5d->5DcO^KrLrbb?`TiQscrmu zdF$-^4@L$0ltn>C*|`z=Ay1S1#TBX>75KiL_s#~iHeFc8q*3&=8c5UdRw~zRS_Z&T z=}jz^cISrHjGsKb^qaNC=|*kj!Q62J8@s1XtgWlI2fTT~jyO1U0A^5<$b3}-Ry1lr z)8W2E-Vq%_>rIJcWOjVtD7!qIBT4ftE=}Htpa$j=Quwr=TX$8*`PpYAva+&@prvh8 zx0A7iK$Um4*_#)Ve%hgi@IGUq&a3uKjCdHDS@)oVA@B*E537QcZ8$niq8lvH&YuYR zZjbXrfbVhQ3b?HGsX12EQ!be4&g9ebUyp=d~F@V2Oqy3E+_DggwzBo5Wk3X zhIqu_Uw$c+qBJ_GbRxL@Ulv|y$J^6;CcE%NhIL`A z_pTPNHULr;rw?w9VPkJ_!jFQ0flW4Q#ab=KHiXH1LAZdx@zC&9@Ke2EXw zb6vUOCNx8d7Z$Cc0!;Yy0bRM%<=GIC8=lK=-aC?!j1^=Y4Rod%V@32Q0am5~;l+C| zOQ?8%p z1(e&C3Pj}QPWAHprbB9AJ|y5R77UyMa9D7pb=RYl7kre3&RMJ8^KmsnN(EwQXTS=p zo#dU$i`?SRUq4x|ksaCfhR}ZP{?His%5u0^xCEP7*tO5CU-F5C`&X}J=4N0c$vOUn zo_oA%Zo9!VlHSYJO;`ZDqHDQ*W0M^W_V*tdgIZc19VKUEwEw@eF2DRG`*0H;nB(6> z7dz(v?X&z(1R!hC@v|AY->8$<{CoH3(Y`99&LpRwO#|}*>n@v)kDYV48jtGVHB9iB z`^S%{$I8w(vbj{p4jNg?H_j{B0l{MCZ?tREq#~*|6kx851M_=cE^s24^QmrQ-B5Bv zs}RjX*Md<;-b;Esm+Glrqj-i!vldLy{IL3z>OAEu7tp&gWn5U}oT@$Rkd(Qz-DBW3 zPMsbHv-23xg}{bG6z^SiDYuB{w2iZ-v&$x%ijjIa%vCL^TG+KNErrY6IU5e-v}nxs z5fqlvmnd-)Xi%J(Pu^KjHO+Hv;H^!HMK^b*u?A96G|t!c8S%-(N(7YVjp{#}jnSI7 z48LngmuvLYWdo*Z)-|$>&YRgSj4EYRH}Jksixolw?SWLMPMdXB)ePvh4ZY}%0uGOz zpHsNN6XlG00WjC7h-!?w+N1-#FFf7WtbGiPMzZ}zFH~UcC`$8~WuMJZsmy7fy=zz# zY!onK1%`MNpbcrS`J{2rw(J4Q?4T^WwTYtbg8CJt&US&FyjZB)AZCe*gR?! zSYrpu+0==IjL+j1ER2R^S5tVtPeT^Y?x~$ zn)#dkZX+Y+VRdl~(^pPC^OerEX@-Q2Mhp?vRWXTa2(mg6is#ja_SV2Rd@y#47gd@i z*3NTJK95!sBB6aoMxjV32@={r&jNgxB*f8ZND}jsSIrO@Yc#jW&f92|6kE;fpOmJ^ zUndeBS8b?h3xqnkR2R~jn})FhqY*IIWCrs$Oc$L4t!kDqpjG7nBggqMTSS+invW%UL zKQ5SI_%zlnP0aHQzfarrZ!|*9tLEKKY1q4g!4C6WPj^x1E=^I*zt5mI9=*qCoG&AC z*|aBtm6TDyTqpTHn=!i8Cgmb(37W>7j7z#&=Uk?pFtyxtC7n*g?)K)d5}#N99)4c^ zmT6~0_jG~a)rA_N>8>e}>6a9y#!>Ofa{G)u%n|=9l~&rn_RCreE~68|SwRT{g>#U8*N_ z7e=)W7g}*B%4D9i1EtE?ou4|5%>#~{f=9>ZjV^Zl54t)$6S}DAb{|*MEjA8)s=2)y zO`UutwIgHI8T9-1^iA-U{@{yGR&sgYvLaC*)MA9UL8L9af=*vCeG9z2@eRH_Y^u3i zpJTG@x+-dy*OGT^^E!h)B8%zJCth$F0KD|lC<=yYDu8u5B^BenS8W&>m5sIk}{F~rs$JajlNBy9|GcBL% z<9*>3RS!2&QmA<))HM>ifO1JqO>9wl=YOt8Y4xR#b)e+82Y2Kv!v~o~&{LUTmX$v! zV^w0H1FL#ELJ#>vZzkI^diUBGI3Nkm7!@5C#&PC`MSE7#ODFIIu*y1Xp=Z+F>A>C1 z*3aOspuoeQP2Ykq2fls%y{WtO>u~$q4^+Op?QhbZm-~l(uWGt3ZzWt#W-kVOgZ%^V zme+^6f(|!><-M}fWbPU#@dyd5X^6;-KxE1n>u>IetnHN2;BK(LX4#O`{rubg)Z6_x zzYv696!$Nt&_9Rc4E#OdU>$3FI9L-7bF`Ls_XC(ikjo)|4&?!XGjXQVE_wmLP)C>-z#R8} z1A4d?0Hg-*dzJUv{(|!V4gCwLV2!YLaku}6iocxKgd?nB$Q1zpJ>Xw$Km2zE|J(&G zSX)OEz%MQRm!!M)S$lx&{urV30>Hg&rC1d7G?ZEH1^mSQTs>ToZUFpTUEI9H{iHbmfQTdMdp4L8 z@P`P(S&Gv{QwM->cXx4iL;wW%#Q69@{DQmyJ5Os@xUajXGk~8@gcGUK6J{r_hs>ux z6(XOcI2{lO4{}Ue!=YxR%VMr0V9ZyFOgrmC~;NGycjk`BOiqqTM5hiYJEhb_k zC@KIFvl9~r@$=g~1VNA=kcfaNOjOKP)P`S3_#fsx{>9CIvxi(j8WcpH1CkO)77WbW z7VasIYNsZsr~-}{TIo9fx3GdAX7pb zc`)|KL~ujq0)Wd0?&)R-<2e|>7!9-5l}-{qx_F|905J+tcNb8iCn@;V$rd-@K5)=0|!AvlX{<_jI*J zX1KM7hYPan+$TO5nVFo@lE_7bBfzVqUsPO*;`bHFFCZWa;TL}RM=^3jAe=}sWYPW~Bn`$K{{guD zgC_zJLf&Wp&Jz+4MZOgL2ajLiKe0#w{{JEeLEiHJffa%v@9Y2I3I7+KkTCM*{tr2! zhyMlp@Ly~oJgpsF;GW3;HUI$YI|jg!X8=IHIJqNVP3|v#09eh<&K+T_@T%{B_&}Yh=81+vY3*Xk_bfXp{TM5zZgVWPWt~WVR8S~*aSUIW4;`Y6R)#2hI~tmqVt{XBN+7U6@*)M07-2SqU_yW{ zAONC#{0E(#J=*ZFqbWdXWawmU0a2!#m^xb;o9a@%i6Jx+g8*RY3~x#hLsuWTwGU!Y zgBWI{00QgrztN-*Mnd2aikBZ)M+as@Ap0znO~No58Qem zoAK(4*RFfCRL@OD$mfm&A2s~Y#QPu88A;1umX@YE4%}IoYu&yZT7QBb@wsVX({#FP zPB-xLoyK#CvyJX|JyhxhG`3e>N?g|;@faOF>e<}b+;k$+b*igLqi=h4zK?S1q&cOz zIpWLATxQqXli?BDGb?2pu$;&WpQ0XSbK~a5o5{5hm`d7QUQe^U?RJ6I^yJ{Fw_C$K zb#)qV-*i83tQaU~ocKKTW`gftf9B{&@Rw;B+ks+I{%;kjTYbG7+aHe2Hz_aZb~k9- zAYn=1rcVbz*Z5bG;W;;a42H zNRLnMneuh9ucGu+0jpPd3$AMSKKqClPJ%_0X>Cu$!p+~;l01*lS;pnN6)DdaX5{NS z9hZN*c?xIsQK)q=15-3Pn=HTnxmK(z_+R_1x!m{<46FA%>rNIg^Y5;DMWbDb5Q=^y z)>`;cYra<~bwH?pRjah!)CZA!_XIsAJGI79dQav3jERMX(R;qQ3h!fi(TI1}y>-M_ zfUEza+3yWb@>!dI{~op#Q+sy-(oOiJ$X+7Sm9j%j*6p@O31-uHw+FHWPR*uEm=O;W$ z?FIspDujKC!^=ERt|nEaytJz^Bm^-=@8wpfr`QP@B5H<;1<^cmvZC(;x+i=QmN!I= zbJYega`BxLJ@1@n-}&nLwI^|E>L@ifqNgE`xk#nKsB^uM2dsayF1qjhY)2V%SkSTN zMxM)(zR-sZ3QrYtkF@sYgZ%2$)xAD<1xRnKe6GDD-+Oy2$iOvws?DZTw6Ms~b#;9l z6`L{rkiV!7{kknhUjD*rd8sFZ&s()vX<$I{Zap>ljATKq0v(O=mu-$0A9y?yJB&Yr z*CGTQG}vpmtbS$E_p+Q0+8mKBnstMIH3KMKEB=M#%`)|9$6yxj6^Z%qEi>C9iy(fGCD>w}H4XB~^hZhB|Un-Ss; zVs|3mx_!8wti!c|5K_fq;8nnO2?TJlNjtMy zSV9fFKv56DY)}PmY3D~PePca8;rCC(W;VakLAStl>g+4cB{Czy_>Fv5Nl&Xm4i=I$6hg)RuMUxezf|Jwn{Qf2~8${@)RJQpw$G6SrIxHmuLJO81 zryKgy3PP+;rSS<~OOXBzvLEu*#_+asQs&BDP~HZ6)-UK_<3F|hd~5Mr>awz z4?Ie|9`|;1O|(%?CccHk=8VWSc||I`yoJ4n!_d--M@&)B-T4@M-kI2kU?piqkhwZX z0sF*7k(S*d9AZ@*B^_3l_S$+C{$gK9hi_Vae$9LQA$ZJpmw6nhJyTe$J^4}fJ6ksM za)YoM4pBjo+dR%KR#^5X97ySsNTsrK%Mg}*0}oQV3dpM%%2O!2JPf&lWf!Z$P#!(N;HV98hBEPgv=>op>BU1vU zk$DzpbFpT9n(}B2W6=)BQ6mk(AsB%o4X!i!}E1rD~3yZD29DqF^#JxuuHZ z0RbcmQK+{lZ!xMqV=(k>w?z|&!Gs-92#^&lI|N#a_FyMv-z_^W93hziAObrUP>Zr4 z3q(QHk3t(Qj{=#10?&w40)J6b53~QC2;a#1w~iqh_|~H_8rVJZH$K(-;d_W zN%DNXXgyuhA5x%Uy`3r!(}JKSNmr@(BGZPod*|mZpB$=WOF9OU?F5VQDN1B{hc zWIF_2bIw`o2oy9c2k4=2FZN>(!7YF;2Mjn4%MPf6$ADWerqEV?RgYQ}D@JS0K{*wk zfm_tsH=0}II6?C_*shfXf7w@uZ{F(`NH>=1^HxDEiBMnkY@Ep_uLz4>+MgVx;O{yR z@pccJd8-?9n>%)<=^9mg`ogY`h#jp9UP)ppw=!-tP}DES zKiYlRBvf?s(3rdqyT{<^{5~P`HBQZ65YL_!x=Ei)%j8OEG??+((%)}UouSWX(eJ_J z+y&9aK?0NcYqj-rNBEodmY*4b*CtQsT&Z15n=aElQsVh)j%UoG$I3o)Baf*`w*6q4B)qWm zlX=D^^{k>!iTn5Ntp(?%pk8M$>7Ho65!Vtj(I&l~`2_9|b1YOvM9gM?kr)+Yg|5EJ znU*Xx!b}Do1BpWUstzBOwCjX!G3}_<*5AC;3rA655!dyr_AW)ID1IBCcK_Y}>jY{s zdX0Co2aGjvdMb-$SHyv4FNjo1JGazg+5PdL*?5sk3+J0la^$n$aG>=zt8oF|776Dl z{c^TbS262t;KgW>F?**3{qnf3>|YzC`40ZKv!cx-oDyq`u$*}pgQw%;uaBDDkdWDd z(HNqczAJr_l2Qg!Ga)8ER!_g2P$gA1oPJ84pNDCD30b=6!aj}tw97@X_fuIEL%k$5 z-tyMRFSs_ff?HM#pi`;hDv_Sm24hA-liH`R%O)h#k{-YgDHf!WJoLpa{I0hR#Is48 z7VXdNW9#?fX8wKWZsHiq2|h>;tqG@Zh$I|w4SZgZKfR-1z(oG9bD$?U6w<7&wt(o^{$|udC0WyzEt9pV@i`cX~=YC<;-gy z|ELr`DO0W~(Q>BdZ)1Wy)+_2t*AG(V=W3IKFjmtw9IFY*UXqqjR8q2+sU`=UQ`_!u&D?RC&d8V@s%*mDRYQVoNSF zjyH!r<0qK2?K;&ace3T|(G}O{eH&w|0v+?JY?~1F=&uh_d8PK+s+7B*NQbCiGRb@5 zUB0K*ZpL{+!rEB0FZcd_8Tn2p=W6-YR7o+N-^ZZ+j4QP-mX%3?fgAo<=4}VkonsyS z)ddySANMj6*h+Y6o@x$+ybbT1EZq>Qzt_UuC8URFw^YIn&%B2iX?>kJ)~`7km4rES zHASqRnLH+2pv0zF2^{;p>B&YA^GVE`@Eh_De%u9iiz|eKOA@pz=f)0kOMWb(5>x3e z4&FtZYa(jr>-Q$J1<5IzfF0z^I#wU$=JvP#9%?OF=po8c;E{U9&I%gt+_LW~ru*y~ z9~TfvBTJ|m5J)1auYK_<#s&d3fXp0?Ov}+=XZwU^yTSBklgVY1pDSdOhk^`TpRie3 zv7<5IC@edhjLgw#zSduGf}?fO{+cK8t9|{A2LsW+KdK1p#7`eoF?qM|4*3}Sk(pDYOCD>SF2A5T()}Pgr%OUHtmy90R*B2ed&f>4*YOucdw5lI z>z^aF3hBj>T5m8f=^ic&(zE^NC^CdncrUV(f209L$`~A_5NyIY$9;xHp&KlRF%0}~As-L9H-Mrr|_*g2@cg{)p zNzC+#?scMrSf`n@vqwa=HUZS7kY@Lk7Mq`M@hY)by8B~HGmk*B-ryo;x~@OzL0v(e z^>$jErWeyNW4~!;p7+X|I=#^@&&DLo+pg;fN3hCxC z!wYi_oh8(MC&Cw-l&KlDTFn6w^qg_v7Pxqok{F$Xf3WcA<7U&RhTEhALvOiWHlJ#( znrN6E^;a8{Ty9;ks!fl~q;h3dT&zWm!(%-Xt1r}gkv0%di`!Q%(%WWZ)iAd%_m3&u z!n`ia93P-^Vyj5VvQ6VNv+u%^0#-M|g|2}GSI=TK3@Spw zn{ye%g!{G;q6~yPe=4!WwHzi#QB1*687>!EX zOUW3gf4GU}N;&J0Yqm%Ykreab=YgVjG@VmUvEm7w2i;~0A6=w8OtvZ9$~f20P-l!D zzmlqu75ZT&SV|*$=E6hA;9VlLl+?~In;Pol^RgLSU$}(N5N9ce$DpY4dy`t}fdP!w}ITHzf!JZIn2 z^Al=eCw%))emJ0~PI9?xcGY1Bv-IA&(XjOw6xkSUJt$tLJG@?}zP{a{h{(#idM)_l z(|6+%#xE{TAf8sV3!;T%753gw6uZ1b$WnHXgKU}22V%d(j8SrLRipRjL0+fS#j4H& zW{~bYoO~-||0AFSUI{v^GjC%^b-S#|uWN4yleW(Y3P}m63z;4ClZkfQ`DYeIIkkNd>6JMTUzq*5C& zX!AW(p#4u792 zW(X5WBg*rVY>u5DoI*#pBqit>Lc0;ewT{J9sEJpb9KYh8nXrQ{=QtyOg1vC$xGMEI zUFvOPPs#b9`Ny_l8db<$!fsuaBb|GGAJDNSPjZeAoWPbK#Y6pUabwQ>!gW)X#}#*` zy3wySAa8PN6q=5sJk`nF){iUhJ|4+P%W~6#)+3870&FdX-K?#SE6N?Ln-YHKY=a!R7 zvr%_s-%dIQ6UjY#2i=mAItC^_j&%0+Ritx{blw;nh}%UbR8svP@ztqbtViN6xgDyj zM;OKp@1u=eOYErNGbQ(2jH}?utGWY8ar>=tBx84X1s{pr^VqIp_e=>=^19m>=_t3) zQ1-edOU}9}M{e?@8Xvjm{eh8AAL)^dKKpv)^%g2#JJT}o6GIMJm?S~YrpJ6H^-EB? zC-*Xz?hbz3wSCMWae<@+sK8p)Cl|G6BQ~k`#36el;G?1q=6|nISg|#u_t2 ze4^o~6OO%wk^#tb{Bq8SXD7l!g1PU_3K)#wxA8D7aa`w^ZGQRsPU5uxx z+2x;)$^t9K(~CP}p6O_B|0QsE^!h=C5$*tE z`+a^D(L?U*iS;^8CnLg(scPg8majI49_D^%tmx#e9@9!14c>V~9(k-%_+0fQU}%!v@n065Jk0I}wGVqpFOGX@?3 zb~=PLH^G1b)DLr5^8T2k0IYyLknaZ3Auwx_Hyz>zW|@ltdq4mQL4ZWWUsw@;vi{&S z#xZaK6rZ0Wewb=YVBoxg6^Pb9RI{x6F~Y%UfHhdFzwBZ?{#Z1^(FrVfU>1acU;=}L z$9>oL-9<3WG02O-iX+Q-#4mo9vLF24!~D~VUkq4Vo1dd2gsQ5Rp5Bk#>F9@2ad>|M z1L8&SA(3_E7MhynAS7>HITxfY+?Hxg@FiJ<(+G~?c24+kf4r8roW34dM;`~IoS+&!FfK0v)d_WsI>glVTBsYKI0=1A$;bLIVTHbnQ@Gx$i96zMlY@LGVfgFH zVQtY6289yfPhvn+RkTzP$_O^nhJ&H14C$OX~E#CFjZA$fI^ubMrPnbmC5u&fWGgBkg$KUk?AVmZBoHg z0%0U9450#t{ZwQExI-gRS#v=MOEJ!iHNTUR`XL1v?frW(zycsg4R8;*(*}ywI|xsp z>B^a-Z6M~p6guM%u@D4Y1rB`VU_TuD5Bh*${(F5u27cJB1JG#OQoKpTFcYAS^i<)h zNM(eoGF;0^RZSbA3Vamd2yHlA2lfw2AX@;dF)%a)hKTt87U!b+hz0XftIT=oGn zM+TAykq;)&=&T3=o+6-s=>5+8gH{K|3hiH9|1X1qquSd3&*2CRWEB{TPTPcn4+;c! z14|QKxu77Dw>C}-sg6?fA}YhZQJTsK1QD+c2QFm|9Dx8Q5Q&<24dj2D7jOKZc2I+8 z0pCl|8xJD{5LhbdKxzMdxB83)+V*pJ+r3L^!&8jOHP$6=9I=~`>#0VhheJ^ms z0LC9T0VGzbX$RoQKDu(D%H9MbE+~K@r)SOzEQJUOAQ6GVG6V^S(8)L|-IoGvcghe9 z(8NHzsWb}EmL#&z9}x~9>HTr@T{`TS#(xw4?H0+37mcZz#$R9q4#$j9H9w>^zS&7y4L?ihth-t zuLJ*})6f9Uxqsj^HGp@3pEw2$2mCF92K>zd0&^sV69C^Jz*_+YIEh*3B?M+kCQ=}* zoB}TemL?E49ZhvDl(CtiraDqxRUK|b z0YO2Uf*?p01Vr?0)N}5+Wqj{@W8D2u)}Cv&^_ykwF=o!0YHC9fk}}lio_$IwrA9*F z5N{`UY9%F@A=b;4;0BQeDCRJ29G-yngTS=$js&bG*4Z0_RZ*e#C-`96OMWg;&#oCfa>eLMOHI;$E*cPY-dY#)Ee zJb6PaL-o$ftHY$c{YTxzTK6|w*LOER$F$8|Wy`*}xw*UZqRsR0z5U2^X>%)dqEpy= zVJro<@qKytCO7Q>K4G?aCi9DDNWgw~p?;y{?u*YcOKV{(@{;rBGM`*R)k-@m_ayLErA z{o2v$;L+pRH*S;mj_3F1=C1nwNMRe~y`*%RU?;m5#&+#KvbBPh=kWRQOiR%8*?l*< zoJmiH*%0!g-FrcgVdo!_-Aanw0JB2B70rxZhnL@~%w{kSTobC6Z4vt<^oh~4VCVYW zk7sgoh#!shLh@T;ov~AU8#wHQJYn;x-z#NLt1}P6&WpJw`N1wf#;R~lj>tWn~ z-r!K0;S%J*jtX&luv%tWO;eb$y*GX9`T4D9o_u0stT#J;bZNRJq9gAkgK(N}d%s6cMwfb%ueaV8*;n z8W%$4GonHM>i&9P_nARUhNPP^_0M*iVkoscu#@hR%qztyvLJMLS_)uU1=T0~>Trdg zRHBuursCTm?}+l|et^HgzOlr`na{p6_4yjC;t}wV=Lw>y#KpdHK;JFM#e{!4Pb+wbW?LuVK;_t zvna)?u@@R#oFsVBaI0?AcX1YgB@EtA*Y>et_!IvnQJ0lbFQiC8n!$-aHGa2l`_La_ z4a?U#=@gYWaZzuhSOGEvu)d_Ke}90C9Z>q*97cdglQr{Y-EB*1cGq zt~B)34C19m4V?!mJgU7PIxjLFj^Jqq-)=#Bl!P8yOR^_2c~A-66D!M(WgdIFVl`dZ z$Y~*6b812&vQmbn^SzU=$ZL;!=YlVN;v-HH@g+T>Qn>NquL#Ky(wt40FkLwItf3kGWjZ3ZVXNHj1kJ{2v?9G4BuWkVZ3%8Y!?U*mIi9ezVI0)A$~*6oY)bM*nGC-Hff$@?nG@yW8L#hc8gcAhQnRG{Nkmsi@Ntp(Qdgk z%ZFWls}k$%4t<}LpZi#yBAR26{qY%=qT>6F4>`!VAYJpU^4nS5o0Ht{I*-bnU$;KE zad?v#GCuTUwCjVeYrVXwK|=;vn zDB3MDzuOwxI9zI)$-7iFs6>5`{9r)8$+NnzebAblBGEO&?grIbsOl^aF9%j5;Q%ow z^{(h>DylQgd5P@b={gj*7J_Gsoe|9h6Js@Ff5!MRpZe7Jy20|aL18Pj(36nTIt`#L4}mTWFNFAaBreT&2WQgT|-yhB-3a7St0 zH7-IO-;B);%gDl#W<(s>nN!!^i>Tf@YrKgKL$UkvG`nW@f=p6nSHeJE1RDDi-Uos?U>@HjrJ>z585asbQL0F%Q?RVsz7IA%68b#SJ{ zLz5fK;LwJ5;^cHu9Iy8Dp20`@phI%89XrkBbmU=$9prSVga}X*d?dU8_02vf*|9jy zR^Bb#nep_aKmsi}UE7pf8yA47o2dbLQk_?CK(U$4S+~Uuc{fuU@}#RhpzLo1%I?Is zT?heHvkh(+)mi+#Zdz2eqqf(4PMXQrvH?e@uBXv)RF5qTi#Y{Nc)qXFUz5MBxMG(G zv(Fq$y^ysapTr(T!xa2L-jB5B?4XRi2`h-LQuNupdf7%usB|kMmft`xJ6}T2x_P<$ z`TRSL1J%Jp-2=w$T+#qm-hs&3uG1?%a@%QJeCY7&$Dc{bsz796Ops34GU_E<%^|Xr zB4Q3sIWl+7nD@yB{dM`<#|TEg!f%t1cS>$WqyocZTC2kz?7p|(6_E=J4<21`j-E=q zTMtSWd1$?bYCBo8>1QC!6P*)OwU08M*+o@>S$H{mF6LVHVQzDk38LJO)m1} zCFh>q=M$8FX0H6ieu~?zY!JtxAU(%;7et`Oea(COj`PDxhWZ;CH|^!7X9VYq4TI(! zL4~j20&+e>v1{OWm8|q<&Ikz^8XlB8k=c8b|9rGc(eJUCG-*+~__*lARG43?YT`2^?}N! z+{bhxX?}B?{d41uQ?d5~87m!fyS*k`i)$CaD=+yzU8@^+U>QQWT;AdS!lqVN(8H5* zC)*aHyUDf4u)aJ!_NgLVXYhDX@zVAzq_pkbGm%pbJ2kx3P_UBsgHsiY3r27#OeTF( zFR{*QX8zVlmhtLbXQqu;iHAZ(iFlKp=A@rho3pgsH-5nh%@=XE&nOFre)k)Z_88-Q zJhemWlXXnPrUJ5C!fR=IY1T%pLB8^m-t#LteRsrlP~?v01fA69oQ^xRw=8{ZL~HVr zS>>t*oR)?Er<5H6?MYU5jQ7Ba|Z~tT}#nS0B3tV@$CKazsE;VM;WZsb- z3O>?nk;=FrRB33OTOg&dB-byxtN&_8e5-J8A$UuNF>&|fWx<>=MrF`rTA~gn$FS># zE-dP6m{O<$dBtT|oBR!vqrv-oKFf{>=w^NMxZ1}o^bpMLjZDytqXbLQZE26rX(k&= zeFK^^I2EwI5B#g-+n%Ln!SWkS^n_^o<{QvwG6N;xY#uLL<)KJ_#vyas9I^UziN0UL4Z5oe-#Ujo$R#bf z6sx`X0v{+z7T+D&k2eY)L~!-bS2tV4-eG%+WGMq_%cZ_J7MLaUZA1MFJn^eV4N2WC zjsdW$e&KE5(KgqKk~1mdGuIlgjSiOG(t~AO66!DvJq#KfTmUtEt<0Ub3}4c3;|%QT z-oEnk$4k;?HD$7@YTv=UWU~Y=mcKgR4jud4hO`NBt6P z2R;*K&IDSi_3nGEz=_x%H(ahxDMqhy$UZPdjWQA2L7pE`%e1z znkLEy-MzV0*0P6P0UpT0XgSRXuaq0Zc^8Dz&OLqm$%sG7nPqrw%T&1L@+oN_pJ(Mw zOsk0%_tcuJJQgc_dVAqzH_~XoF0%|3l+rdt6g<9Mp2D`H}>d9j^3*HaA(P(ic(vB!1ts>1I z&n%_{Xp&D4-|J6i&^T3qcrQJW@-=35_t`ANC0dR>;hQYRdXJahE`Gx%Vz^G%t4PM!As$ruEnx%uXwPDD z`<|*b4m_C_Wy^2;;GundVkK8-& zIPR9-@jH80{BCENeulnrRmTObK8rgR+2&URcN$d_56+57FWca+Rv7vzaP_Y(IbdX9oyMevK|ub z2UPv4dA)!A!^-by)M#xX6r1#9hU2Lb*846pG&KIoC z)ADt&RlgLR$Nxb|`mD{F!>3Cf1gf=Jn6^;(>W*e!N7csLwp^-K&)G_uqy1RYy)lCZ z@w;2CUWmbtQSti#%=tanviX1yPjpGD5vQe#!xAR`{354f z*Yo%rzQnooc!x$hVKuyb!~2TI0@uye4I!%6>zwQ~F=F%Tjf_z zS}b&8i{q- zZG&+3@IF#kkSRg4nzWc|B%@R0$!E&@IU)kB@T-5DA8}jPx;tV z)iL^fQ{tACBAB&pTjjIksEV^|W($EabN-iY^ITt(y&7tV9XE1_Z8xlMC1p8SK*!IIF^Sa)nwy$E9F!iqu#&t~ zsut5$m>uE%@!H}@@X)036sjFt(e|oGEaQvor$F``L(2BvL}~HwGM}Nigtkj_>zaET zsoCh~YpK_kOP)mbhJ|v)(7zuO2Ekg1Q?pjhlwFiTEt$1y=Cm`?N@&>al8WBvlfx0L z#R7EK^rqg)IH&CNjm&7#7UK3RnqRfzX9P^ox(?&0c3Alba%kRXx7H9jGeO$n2*~Y4 zRQ7myagr9Y7r(4oEmx$3!z8|teR5Xj(L^y%F$H_M2MKu6zJBz8b1uz*+;hjWwt}a4 zDuWtFt)b?yJ!*G>PpovnN&VEtQ~Xb#CibGn?Y8C_58^k3;$_AQor!VTMWW(#9L=Kl z9?6h!=$BTE$Sg|Ueq~WGJ=V77HDL2pW^j|`X^4hlUfENQoau{pmF|UA0aX)sZ7SWd z&kSFoEY~b*FEkmy`buFbeoX6r$TZHNi+-8QwXu@AYdvf*e3g-xLxW?vTc379zoyd8 zKMgG9j|rrcGIhB-gvnhmglm)AKFjrQ; zY8&NM=@C_RVY;Twaa$cD*-=kt&u4o@(=KDb)Q_qBb3zL#MWzc<${JlEU{W zeS2k`?qp|w$bDn3l(S!6B&&f}>zOSzO~$2-hE16?xMgR9eeq8!r>3ehvzz^dT9Gpc zW*1u$UrCW%{ScH{hC6jz2Q>QDJ=?9yWp?MkRMJ7vsJ>YrQ~rdCT6S1*nAP_0B-p;YbMr3PO-MPz#&MF* zYLhm1`?f@TS63(JXk~X$!bR@2OnQ%$2lJPM6iZI-&bpn=Yp7t_tHqc&RgyFVmiJ>?AR*@!D}@RI?S#X;dtdPvgdKvZ zNybczsuOdoCyb(PTEVx&j2C(6BIh3*W)y3!f#AsDe$S>D@zSv*Kkw;{*#qS&`BRe} z`4?gcJ)6$=2aNR;&#h-RdRLScrf0Vp{(8GGYOHs(DCoHlCVPkb0 zd+<#^C2gr7ze4O6U$w=&{s8Wpjy{H54XGCxu>pJ*2ejcknw?0{4Cp7zM2ZcdtsZJd zkvegyV#5{5@<9jZ;Kp6Ws`^wF%-$)f5@xpiZ6w$G8OZ6Glms5QbzV##quA8*%KWA< z|2jGPoPmMREj;X0#5k?GmF@yxS-)93?e23`a_)dpw1Hknz&OUdr4ZLv@uN(e>to-Y ziOf(!nYE%>LfBc4#mUh2p4Cl@hMBR3Nc>wr!_Rd3Wczo9uG6T-GkN(pzO3Zsarfq&jy7B zTh(eL8B%57Zd7eoa8v4wyCgAquHKv9UiYk;KGJ^6yU8X0E?e>f+$WCmS~fYO3Us<7 z*<@YbYClYwX?aQh^}^bcPYrdf=qvSo9|_{v#DdtPHXdHb+7Zre?OM?Dqii0c%Sxet zA!&Qh+|uf7KWhX6s+2Hhqcb@>EAuGkdwkW7$P!w$Vy)1;>$l zA9*@^Q%U<(e86;Y&PgWE*JDj3`aQ8vZTB5yWAkJP&bxn%O0On;CiipOr)+(u-)M)T z&?S!aC)AY-hviaGxqY@P56<)|Oy4G9G+Ygr&>+vy;JID{_3NiNUYeGxuA!F2`d_%j zbgQimDw9KKN}!V0B%hqQbXMu{4-0WLb33Rnv-F8Lg`J_zIMT=q)Tzpv3)wqR^8F+u z-Wj*lGHv|w$R&POG_-Q1ur%mzi_1+bJqC~4X5$x=j;ticjfKXC7|TwmB|sG{ z@r!(K+(4L`&!Q7b3r^56VewP3HAp*5xm$WuZ!_9|H=(KKlr^rY&t~!-dh8uopjPIM z2x}ku%pJ7)_QyCP44qfM*I)h^$@O{qO17oorkZ9-z9rX zd;9f63u`PpGO~7+t*fVC6Yabr6GTOb_&RXdpff#r`mYxlL$Pz4uY;;`o6G{un)WaIPB>72)6knbpK@9Q)ow(du|xA^dK(K7)L z^U`BP<|G*+ZfTKT#8J*MlzdSwW1a%I(CthYA4q9_x(Nr*Ef(Wqch*-KK^BbPi_Lk| z_XcZy!&vy~%pTcutLvbe&N3 zAdkfK@BFxO9I&qFnX=t;b~h;e>)tB6&xf;HhOdtgQXBMwG;pWmXUD_(rzfj5aP9mF zuEY|&TqZ)+zO=k#3ZRv@C2kwaW^UdjQeQW$2Gw2dK(Q21^-P|IfAKgqlD{(;)^1}? zd~VAe!F!(N`wVFFigDDp$%Y?SkGE1{mfqycZQec)xU_Ge|9Hvd@+bP6KgMniuC)xN zz%F%M+Xr((ktzVRI~(ge-z!~T`~W={6}$eG*mKIBymliYzs?1ru~G{1jIBC86yNNFz?vn^OZ*QJ4ns4k+}8oJ>=Hl72gQV&T_x6;K9v2>I!v zKLlog!}vpNsZS1IPHhhXGz6TeJkj=B6!DknZ%GYDf+ODB^-mSQoj1Y~95KKS1aTtp zciVFRtl%G~poW>48bJ^$D!(nA9P0N7*j$eKM9lneZk(L*&s}+H`G4L$dHubq?&yy_ z!3Cy^#Rp;uIA_OSF*%`8!!86k5l$j>0s>(9uS5RJDS_bqI?g{N&_;%TPNosk3UC#b z-)W(AKG?_6*#k>}IAL9JUdqCoZI6W^IE=FJMWhkj$VUU~hSLr8!(IqAwr~#ha8|$w zpI4z)I`0T%6BZim=mT~6IpX$*VEvty`8CW9wfRpNf>FVqKAwOZkYG=|mp>|4S@@?2 z3Rs_zVZxA~ECdf_VYHDcgy8Ls_rMV#Qj!Xi2q;2Y0^;K5=!p&T_Va)sBxQvGm3|l( zlsS-3zZ3#*%EE30f)5G?3knL743d`g_H%_H6ciL-a4DFS6cpfq`iFQC9D|`={sMr# zpN`E$iYeCoT1-IiJ6|`A_zM4Zxr@fCI2X0R@8z zaK`#63+tE~LUi1`{RzM9LjX7wgkisr|KIWoh|PaS0SM@C7?c1Wl#w?E=Mtg`6ugQQ zTndPb6jVyy0**i-asExz+s^_>2^9bs zS0E9*fLwrx1Y-UCPXYp$gd;?M+5IW}n^y^T5~;so^xsC!(Z|T>|Baic=SgCp@S!xl zodZ09cBZHKe@UDFcBC=Re>v4CuWq=6!_;~|;1Lx)XD`t3{%CE&w?XZ7X{0|ZR zNdo!+5M0<_T}Fi(@?U!Xdy4+iT7ervSvcsVaRRGB_aA7o3jgkloYcR|%1Z$^@Spk!evUXi)(`kE z7zB0!7m5WifB>IO-oS^+$+ZuG>3O+$Lrww@d^PE5LTr_!1r_n-xegaiv#970;GXmCk^;1DRqf)**ot!VIK#VJy(&=!Z{r4))o zaVS)a_F)2Sk z%){T)!4B=>=^+R7vO_zIJNW`d^+kcAj*nF|H4N{pny33+hl{<7n+y8cL!>{_P4R95 zps4r%@O1U`Rg52N+%Z*EjMTJ&qQ2@HCNMP(MK8xEPkmg_$UDRr?da);R(v3R_pj%N z_VPn(y0{?~AN>EhdXPdXhj~=Dq3QFk$L6!vF4lUEs9KwYK%9I5l<+M-w}I$j-`PLv z*!W;)CnkjQ@r`VR!IRVxprnkks+yY7SV8IBs}t#O{qCsS-5yUHo3#Tj@#%v? z8&sZ$9irSq_tbRgbYAbs`sQcqp78VJa*MoDMe|E^(Cz6ud?B!N7xTc=#?z+j*`IG* zd!hqhb3Hd8Hc=LALgHt&TYoOL&Nm+@UH)Fpefn11z`Yda-qMH<#|6utY?LyWx2kMz}vIre2xZAYl66EyZz{pP&lN z3(&&PMY>93y!grImojO($l%}dN1zGwr=zDezU@o>>xefyOO~a9i?q-6`x^tsrGBAa zX?DNNDfFumqoTQ=eJgcv-hPOzzviXnC;1*AF(IPYkx`zZ1F3YS4>G@vhjP1>aheJ?OmfO}%7yxQOh{YZ#)J%4F%VZ%HR0Z&wQSEi)7#w#n-iM980p4z?7 zm*DyH#5eTZ$CtrgWdarvCe`no~Nd&wr6h3*AD`;+emzwnlCd`k_p9POW#buw$_Q(=J^@K7MzsAf0W__#; zEd8useHz}ZQZjj0f>T1kJ51wE{1Q;fJjB`H5%xSPJE1D!or9zQ1}9b?(klc9rGdVJ zcxhZD>S)fPP+AQ56POBON|#T?Txis1fRT=ZCH8+w$rFX|-Gh(#P%#iDXHIT?*NuX) zkCFZUB4*#JcWL?F2(Ct1SeGCYXABhh0Z+=|urNDlBkGpfnOg9+QE=Va`^vEgrB?kK zE-;uz?dvgpY)PA(t`mhOqu_V^Sdhw1`WzM!wD{btl=X?W>#i9{M)^k!b1}BZ6cZy^ z^Gl5&y1rC?#w?lRG~|(fG`IFsGI|v8R2;B|$%ptdFt7+NGZG>Uz?VyQ&>%K^A_OQH z)I#|#os?tB*Hg$_B=daU{fK<3kk*8M4YnkXmUy;diU z-m35ng6gDjRc;1feW;3kmk6dJ#>XFVyk9?esp1HOcYX$RO{U}PMUHC5(>|ed{Fr(H zau6ksjh9;wZ+gyY?s~lNi_wC^_4vGr(Z)Vsz)?kKvs-gC9r{sPaj+cfnW*}47Dz{# zo$ed|OUia_oHiZm;4|TqS&By=Mt?Pz#01OipnZT%EH$*~3aTvg55lPT**|P=?ZMin zr8^LtO~Xv|$|?QoG6)uu`8y1y!??Q2)E*Z2_8Wz9UnZy-r!GOU=Ba5Y%>g)gLY7x} zi&~l-y&*}&Vd+;4=v{=^Hec+6JnliKEM7E)*W7ji?f6cfC??0}Z@l9b@~NX~7lIwa z1jBo3xVGE)RuNA&Fe>giZ<-mmrv>5nUq$3~X7L{Tq`%sZU#g|S4}BZjfj{XIuA`r& z0&_kLTbR7Ul`8H7d?+?MToJTM-A+}=+GyvS;D07I)j=k8#N3qkhD~Uyh{c z`0LLZ{lyCiP^Tt*%2tn=f2msDS+<0a1{3iDV}(7fbbcv zUI{iqgm+W`Go0}FBg_4CWuqA;sywNmlZZ&Ip0^9Q=8<(pEx+Yt6w)jsEO%ID&X6f! zQlg?RZGn-C(K9jKh;;Yr@9piSEeDp|m@L-CHMPX~i?7)J=IhA$$0?ao zYC|N!Qi)+zdC1{4W}`Qm>_$&rl#Qrynl}La`;bIFjGQd?QO4wKe5_-k_l&S%)Jd3I z#PqL#1&Z-h>uDTdG=?=DFE%HJvRUpiz~O)eU=ig1u+aCCgc92=Eh`~8mCeXUb+X3! zWP?d@NJtPqHyWBKnMa?+ml)@L}_4ky)Ma#s>6wC;ZXtUMCMu_cS${^s@@31?0pmRxzTs@ zYC3Bv2U37v{GRMAz?5W`CW|$TH)9`LQ~49a!pW@4{A9dna5bL$fc*l%N}@zW4F^5c z9kea@%Nks6gG9V&HS=dOWgk_q))oB8M=Boj{`(-F=vw?@1K2WLztEUFhwy8`w z$lWMdYcS6F&X?XNjPw%BkcH`=7UeOXIEa~fBW$eGTgKfruwLg7{U!LT)`MI;Wrk0D z3^;s@l}HkLzz|RJ5^%WhNk*m+HxTp1iM=^}R)7=Y#Tg2Ix~bfiy1~z@$n>RPy)IiMwD)uoK93{EpG+#}u21J4-HL%rT6w2m zEWPQcP+%oC5|h9Eolyk;yCk;j3oHD}AM(HU45nRpoikadn0e;)esBFxB+f!yc!?xS z0Vp~uLeqP5a{9+HZh;t>5BDC~<}`3qR#eCj+SQKV_OLDW^#UOQOk*T^?85^Oh%Gha{9SWVuEt>XJ8wh{0OmkA2<3wu66S#6S!1(MF&;H z7ssKhO|M^Vhk-!h9|=U`tbxw8eI<7h53lK)zl(Uj6Xr|&Mtplc@thcuUHaBkXei+Q zYsFaqe2Jq>Xfr|h(x{;s?Hje5x!OF1Pt!{U5fn&jhfu+cg({j6SZcRo6Epg=FvaF^ zCm{ie;F7U$*;@H0e-;4X;uR%rV?qlu0S`vr=n9z9z`;xF0XO z+4jw0y~-g)ucH4zfi)pAFhv>J21XBI3gI`Fr`xFyvaZ@UCipR8f6j!4xI#duLzf1W zT%jQfPbZ;Jkk6?%Pvnq~f~+I`oXU>Nvj7skESAUNQ^;h)Jpa6$^zOVhOF|>zNK~Lm zn}LB6qZpG6UN3-;Seww+mr|P&f$zq9EKi_qs?CcH0XV$h!zqRA(?LMbKz$f;?bz7( z!2}Xd<@kqr+Z#GpBlM3%C>8V!!!~i@q?sHdj|fkr`Nj?KcIT&^VthIVaCJ?o!?>Re zQ4Mi>IWU?|ug)D&I8nZhnE-G4v_)GUmB-Y-hHye%cN$saHizV!lB| z$=ea|eX-O<1VFp_*J&{AmZ!VSFwv-Y-}Kx%mhzp^)(j6| zHr+q!EP|}DFYj23(xA88{oOkc_xm`wFm~6opMT%#5GKTqv`zt&7cWZ|TPGTxc;F|~ zB;6hD=0WYeHLyr}G3CM<^nIO4Etp&;3tm)CBxRGFL5%$#%g>aHB^u1PV_M}EL>RN< zt?YWgxts(#V%G^uQVX}B-4^=#3!25UFSqgmmRa}h)o18uM4n6#nb#hob;S^RJ4gRE z$SAMGbaf{={F7)z@A+KP5KeB!eZpMmV2L2vm(Y8&88OZ&Q^HIepE=3sL6~@02;4gY_Ei!SM!#SzCP@w5pJh_;mhDQQork$!Y~t4-U( z5UPJw;HiP}S9j&Z|*0YfW?hD4k80C2f&}*KS8y(5Or#i1){tYl_4a zyDMpbR+-oKAB^PoRCWf>q{=`Yqet=^;YfbNq-^{Vfeu}2U zua|v0|L1#&PRCQqIyqR__bvxzmxG0Hg%69)B=yS(Oc)i<4P^yy*L@!O4{@J<_YDb= zd`AX{*4G$1Ph81*S-R))eE*k5`~LWgUQA#cU&BiI>N_`Tid60X?W^U>U0US|f>iAa zN*z^i_L=8yQ5G)YJfCgD1W*`QQmFBcq2gQkxnht zU_+J(hlzBa)|icnk3p14n(4tRo*Hq{C<|qupDS(?&UYFCS~qYr_=;8)5(}B6V^OI8 z5T+aJlbuO8qw(`2y)1UfSD3#QsVaaOCp5XY=H%Ur8=*nCOPwh!;*=Pu)$irshUp@& z*gK=PjWx;q<8|+;)z(1+;Ls%_+PRMHcr>rTquUJvzbIBy`d zQFT2*&e;IMScjjv*xV27D6QX5lG_pDw{1|QW1P`{p?ql&R?Q8&sr6C_nQp{{Fpvsy zW*#(<0%Jvrg7SZYj}eIScDwj23$;B4%);bTHtUwAHtsj7NY@nAbEnFE5{$DQk_^}= zN&SK8rqpG5~O0bucp<8ZX&+~@r zjhd{`$iUke@lJuM-#G0S5AtvQbb&PJWgst_h}4i5F5{~XElvRp75BuR+*irkYL}cS zdnPvK>rwzev&`9^Qs{X$R`L}8z%#G#P)aMLVDjdZ-ci!McS;2hm@#4bwp!1?3U={B zKsWkDmESIL&J22UEa338XgX9fIxjo@UEX&~d`m$~xTS|ts%5L?qU8-a4HdI0@a(=a z{(KF|B=b*ZW)=k&Tb3v;??AvN`7d=6yhU4--Cw(S9#)4c2RU~AEod$685l~3!Rvp3 z0%Vei@SAzm^VxlQkD1zf9rE)RlT*y4)s|OBC=;dHP7{0YOASlW7`9H)1*QCpN#g9f z!{)oXJ5K9Pvsu>msoh=Rel>kecNchy9~o)KYfQ_cpMl3=(TuL|C z^CDzlWk&pKv1;Jk_JRI!VEL)O0PF^F?7Agcb}%;cCSE59ljf;J?-(R;Qsn$K%Jgdd zYe)E+_`!8gOyT1iU*|%9>J);-<-fR9f*%eJBue;RsuX~)=)}I zqu(-%x^xFBnshv1%67xm1CBxWVM%dv>vnf1yV<`=Z%)@^hUU!fVF_(rZG&)DMCs_1 z3dL-ziiSk<#=$RM?DJB!hdOizz;%Lli?{%fd3LsJ<(q9}$m^76-wKLf_|0_NeyA&U zbvsV@&~}u8wZ+Ug{vj~beoL+YoA41OrAlDIG1*1B4@#TNQ2QDW*f;?&d-TZ^{?rk7 z)HUg;GIy!7M3`>ad`JPHZ?U1j*?(WTdzkA$29kI_w-#*s)$)6SkwrXC-GceJVk^c! z6oKqCHQfNMGkk~sK`ZLt33Dq1nc1lW5AxMa{;&Zqb9+%6Ye3fL{A0rLl@Sqo!Y1 zHGDFw#dMIO4qWZ$LS{!%uCGn3kS!NdrqxfP5kZNsjhpTgxx&91`OV{;-KhFWB_e3N z%D4$ptN3ZG!!+EyR$!*exMa>+4K*wL*tHJYf-F<`lKFRRM425)V+Kt_ZyHNWNYfLs#E&f|3)jpjF`RQuomM}yoSic%Y)Z&lf zFEW{BMI8*Q)e1kHSws$dNO3n=Sj}bo%_}~UVkkA4g`p0rV6|1%GmFNV2;-Q_mTGXz zVdJBh<*TEuFBBj-8;|$ikjy&c8n}0c8Rb^Onht!X69klIt4@t-t!k=_H){}`ZN}BZ zHZA@V?<^jP9hopqpp2i@&WW{-$*Ez++hk2$5BN&JH+tf`7gQUIHw{T&=Rrp{p}{E^ z7lk)x7v~qVxmhdM4Xw{*RtBBAlSLz$tC|N7tCyDFbq8OZb-rD}{F*O(fH^xDIa+yl zwc5MIuyFNi*)?ymUm5YMk#@T1h<2;W)%ben3(X>1d83;qI@XKXJ~7o~x>yaf@VQBC zw3su}Z2%n`z^tkh9K<=I6vd$^A2s^DTf23adKaWl`>hgaem9)kFo+Q?CatbSPLsAD z<3<~Jybtj1slr}Qlqf7-7~SrvlXf2 zd3)Y(+T|G}lYZS@$E76yJP#wZfo2xuBt%TL`u^0?*K&0c15_g{W{`z{|$F-JX@hR*Q3_RE2{u3|hPqek+8B!`p{Az? z8Yr7)#QKs33IqWSNtKjHksgko_9#->Gsbq9CXd7$OIem6MQ7qu{*%-=H>UDrN$S2Yesee1D;>sm}K)}+HO*%k+9N7Q3 z7a|o`^FjXeZBgA0jTBUu1B1X)5?~M%41vf>$leD@+yjB`-O(O-I{sf7X)WB~e@&dW z&n<@mk^W-^|7t*KDJh5)@CopLFc}C)2Kdh|pvS*4Ss7`_e_}FVN!kCxBtTOCiGd_! z!T*7&fMh_j|3#FM1cCm82$F%wNcmBsv!lER+Ev@kdg&S zgVa^jK_IB4jE07cDnvq4MoHoS$*}rIPWYnje9!?t$S0(-P#KxK2VD(4P164Z4YdYJ delta 7424 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 diff --git a/doc/manual/life_ex3.pdf b/doc/manual/life_ex3.pdf index bdfc502ca8045d4bc62f2ee83fb821d8d0eb1684..4c63c74cf987f5a9166f0b2435b6e3108cb66abd 100644 GIT binary patch delta 3883 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 delta 2559 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 wBhv8OsZ=zEMxzmAE*+@0PiFs3$Ml(Hvj+t diff --git a/doc/manual/life_ex4.pdf b/doc/manual/life_ex4.pdf index 06b3bf2f9fccd38c63f4d9ab59b2f6ce68e5761f..129161cdcb9d7f173453d3c8a22edbcfb382c847 100644 GIT binary patch delta 12961 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\exp$}&An anonymous function is represented by a +\lstinline{exn} & Exception values are boxed and are always stored in a global region.\cr +\lstinline!fn $\,\mathit{pat}$ => $\mathit{exp}$! & An anonymous function is represented by a boxed, untagged closure. Its size is one 64-bit word plus one word for each free variable of the function. Free region variables also count as variables. One extra word is used when GC is enabled.\cr -\boxml{fun $f$ $\ldots$} & Mutually recursive region-polymorphic functions +\lstinline!fun $\,f$ $\ldots$! & Mutually recursive region-polymorphic functions share the same closure, which is region-allocated, untagged, and whose size (in words) is the number of variables that occur free in the recursive declaration. One extra word is used when GC is enabled.\cr} @@ -62,7 +65,7 @@ \hrule \halign{\parbox[t]{15mm}{#}\hfil\ &\ \parbox[t]{13cm}{\strut#\strut}\cr -Finite (\boxml{$\rho$:$n$})& Region whose size can be determined at compile time. During +Finite (\lstinline!$\rho$:$n$!)& Region whose size can be determined at compile time. During compilation, a finite region size is given as a non-negative integer. After multiplicity inference, this integer indicates the number of times a value (of @@ -70,7 +73,7 @@ physical size inference, the integer indicates the physical region size in words. At runtime, a finite region is allocated on the runtime stack.\cr -Infinite (\boxml{$\rho$:INF})& All other regions. At runtime, an infinite region +Infinite (\lstinline!$\rho$:INF!)& All other regions. At runtime, an infinite region consists of a stack allocated region descriptor, which contains pointers to the beginning and the end of a linked list of fixed size region pages.\cr } @@ -85,10 +88,10 @@ \hrule \halign{\parbox[t]{15mm}{#}\hfil\ &\ \parbox[t]{13cm}{\strut#\strut}\cr -{\tt atbot} & Reset region, then store value.\cr -{\tt sat} & Determine actual storage mode ({\tt attop}/{\tt atbot}) +\lstinline{atbot} & Reset region, then store value.\cr +\lstinline{sat} & Determine actual storage mode (\lstinline{attop}/\lstinline{atbot}) at runtime.\cr -{\tt attop} & Store at top of region, without destroying any values +\lstinline{attop} & Store at top of region, without destroying any values already in the region.\cr} \hrule \medskip @@ -101,173 +104,239 @@ \chapter*{Preface} % \index{Standard ML}% % -the Standard ML programming language \cite{mthm97}. The MLKit supports -all of Standard ML, including Modules and most parts of the SML Basis -Library \cite{basislib2004}. The MLKit features a region-based native -backend that generates efficient x64 machine code. This version of the -compiler is also named MLKit with Regions. The MLKit also features a +the Standard ML programming language \cite{mthm97}. The MLKit supports all of +Standard ML, including Modules and most parts of the SML Basis Library +\cite{basislib2004}. The MLKit features a region-based native backend that +generates efficient x64 machine code. This version of the compiler is also named +MLKit with Regions. The MLKit also features a % \index{JavaScript backend}% % -JavaScript backend, which generates code for execution in web -browsers. The MLKit with Regions, which this report is about, is -intended for the development of stand-alone applications that must be -reliable, fast, and space efficient. - -There has always been a tension between high-level features in -programming languages and the programmer's legitimate need to -understand programs at the operational level. Very likely, if a -resource conscious programmer is forced to make a choice between the -two, he will choose the latter. - -The MLKit with Regions is the result of a research and development -effort, which was initiated at the University of Copenhagen in 1992. -The goal of the project has been to develop implementation technology -that combines the advantages of using a high-level programming -language, in this case Standard ML, with a model of computation that -allows programmers to reason about how much space and time their -programs use. - -In most call-by-value languages, it is not terribly hard to give a -model of time usage that is good enough for elementary reasoning. - -For space, however, the situation is much less satisfactory. Part of -the reason is that many programs must recycle memory while running. -For all such programs, the mechanisms that reclaim memory inevitably -become part of the reasoning. This is true irrespective of whether -memory recycling is done by a +JavaScript backend, which generates code for execution in web browsers. The +MLKit with Regions, which this report is about, is intended for the development +of stand-alone applications that must be reliable, fast, and space efficient. + +There has always been a tension between high-level features in programming +languages and the programmer's legitimate need to understand programs at the +operational level. Very likely, if a resource conscious programmer is forced to +make a choice between the two, he will choose the latter. + +The MLKit with Regions is the result of a research and development effort, which +was initiated at the University of Copenhagen in 1992. The goal of the project +has been to develop implementation technology that combines the advantages of +using a high-level programming language, in this case Standard ML, with a model +of computation that allows programmers to reason about how much space and time +their programs use. + +In most call-by-value languages, it is not terribly hard to give a model of time +usage that is good enough for elementary reasoning. + +For space, however, the situation is much less satisfactory. Part of the reason +is that many programs must recycle memory while running. For all such programs, +the mechanisms that reclaim memory inevitably become part of the reasoning. +This is true irrespective of whether memory recycling is done by a +% \index{stack}% +% stack mechanism or by pointer tracing garbage collection. -In the stack discipline, every point of allocation is matched by a -point of deallocation and these points are obvious from the -program. By contrast, garbage collection techniques usually separate -allocation, which is done by the programmer, from deallocation, which -is done by a garbage collector. The advantage of using reference -tracing +In the stack discipline, every point of allocation is matched by a point of +deallocation and these points are obvious from the program. By contrast, garbage +collection techniques usually separate allocation, which is done by the +programmer, from deallocation, which is done by a garbage collector. The +advantage of using reference tracing +% \index{garbage collection}% -garbage collection techniques is that they apply to a wide range of -high-level concepts now found in programming languages, for example -recursive data types, higher-order functions, exceptions, references, -and objects. The disadvantage is that it is becoming increasingly -difficult for the programmer to reason about lifetimes. Lifetimes may -depend on subtle details in the compiler and in the garbage collector. -Thus, it is hard to model memory in a way that is useful to -programmers. Also, compilers offer little assistance for reasoning -about lifetimes. - -In this report, we describe how Standard ML can be equipped with a different memory -management discipline, namely a {\em region-based} memory model. Like +% +garbage collection techniques is that they apply to a wide range of high-level +concepts now found in programming languages, for example recursive data types, +higher-order functions, exceptions, references, and objects. The disadvantage is +that it is becoming increasingly difficult for the programmer to reason about +lifetimes. Lifetimes may depend on subtle details in the compiler and in the +garbage collector. Thus, it is hard to model memory in a way that is useful to +programmers. Also, compilers offer little assistance for reasoning about +lifetimes. + +In this report, we describe how Standard ML can be equipped with a different +memory management discipline, namely a {\em region-based} memory model. Like the stack discipline, the region discipline is, in essence, simple and -platform-independent. Unlike the traditional stack discipline, -however, the region discipline also applies to recursive data types, -references, and higher-order functions, for which one has hitherto -mostly used reference tracing garbage collection techniques. - -The reader we have in mind is a person with a Computer Science -background who is interested in developing reliable and efficient -applications written in Standard ML. Also, the report may be of -interest to researchers of programming languages, since the MLKit -with Regions is a fairly bold exercise in program analysis. We should -emphasize, however, that this report is very much intended as a user's +platform-independent. Unlike the traditional stack discipline, however, the +region discipline also applies to recursive data types, references, and +higher-order functions, for which one has hitherto mostly used reference tracing +garbage collection techniques. + +The reader we have in mind is a person with a Computer Science background who is +interested in developing reliable and efficient applications written in Standard +ML. Also, the report may be of interest to researchers of programming languages, +since the MLKit with Regions is a fairly bold exercise in program analysis. We +should emphasise, however, that this report is very much intended as a user's guide, not a scientific publication. This report consists of three parts: \begin{description} -\item[Part I, Overview:] This part gives an overview of the ideas - that underlie programming with regions in the MLKit. +\item[Part I, Overview:] This part gives an overview of the ideas that underlie + programming with regions in the MLKit. \item[Part II, Understanding Regions:] The second part of the report - systematically presents the language constructs of the Standard ML - Language, showing for each construct how it can be used when - programming with regions. -\item[Part III, System Reference:] In this part, we explain how to - interact with the system, how to use the region profiler and how to - call C functions from the MLKit. + systematically presents the language constructs of the Standard ML Language, + showing for each construct how it can be used when programming with regions. +\item[Part III, System Reference:] In this part, we explain how to interact with + the system, how to use the region profiler and how to call C functions from + the MLKit. \end{description} The present report describes the +% \index{MLKit!Version \docversion}% -MLKit Version~{\docversion}. This version of the MLKit extends, and differs from, the MLKit -Version~4.3.0 by the following features: +% +MLKit Version~{\docversion}. Besides from featuring bug-fixes, this version of +the MLKit extends, and differs from, the MLKit Version~4.7.2 by the following +features: +\begin{enumerate} +\item + % + \index{bit stealing}% + \index{unboxing}% + % + Double-ended bit-stealing. The implementation of algebraic data types now + uses an advanced unboxing scheme that allows many data types to be implemented + unboxed using the, otherwise non-used, 16 most-significant bits of a pointer + or the high unused bits of 8-bit word values) \cite{10.1145/3674628}. + +\item + % + \index{deep argument flattening}% + % + Deep-argument flattening. The MLKit optimiser attempts to flatten + arguments to functions using a scheme that allows for deep flattening and + uncurrying of arguments to functions (also across compilation unit boundaries) + \cite{deep-elsman25}. With this scheme, if a function takes a tuple of reals + and a curried argument of type real as arguments, those arguments that are not + used in their boxed form will be passed unboxed. + +\item Improved abbreviated pretty printing of some intermediate representations. + +\item + % + \index{parallelism}% + % + Support for threads and parallelism through a fork-join thread interface + \cite{10.1145/3591256}. The support for threads and parallelism is not + documented in this report. + +\item + % + \index{ReML}% + \index{explicit regions}% + \index{explicit effects}% + % + Support for explicit programming with regions and effect constraints + through an extended syntax (ReML) that allows for annotating expressions and + types with region and effect information \cite{10.1145/3632921}. The support + for programming with explicit regions and effects is not documented in this + report. + +\item + % + \index{auto conversion}% + % + Improved support for auto conversion when interacting with C functions. +\end{enumerate} + +Version~4.7.2 of the MLKit extends, and differs from, MLKit Version~4.3.0 by the +following features: \begin{enumerate} -\item Type variables are no longer associated with region variables, - which simplifies region types significantly and eases the - implementation. -\item The machinery for ensuring that no dangling pointers are - dereferenced during a garbage collection has been fixed. -\item A move to machine code generation for the x86\_64 - architecture. The port also features register allocation for - floating point registers, holding intra-procedural values of type \texttt{real}. - -\item Additional Standard ML Basis Library features, including support - for socket programming (e.g., structure \texttt{Socket}) and general - Unix programming (structure \texttt{Unix}). - -\item Support for generational garbage collection as a generalisation - of the ordinary pointer-tracing garbage collector that can be used - as an add-on to region-based memory management. - -\item A large number of bug-fixes, performance improvements, and - general new features, such as colorful region profile graphs... +\item Type variables are no longer associated with region variables, which + simplifies region types significantly and eases the implementation. + +\item The machinery for ensuring that no dangling pointers are dereferenced + during a garbage collection has been fixed \cite{10.1145/3591229}. + +\item A move to machine code generation for the x86\_64 architecture. The port + also features register allocation for floating point registers, holding + intra-procedural values of type \lstinline{real}. + +\item Additional Standard ML Basis Library features, including support for + socket programming (e.g., structure \lstinline{Socket}) and general Unix + programming (structure \lstinline{Unix}). + +\item Support for generational garbage collection as a generalisation of the + ordinary pointer-tracing garbage collector that can be used as an add-on to + region-based memory management + \cite{10.1007/978-3-030-39197-3_7,ELSMAN_HALLENBERG_2021}. + +\item A large number of bug-fixes, performance improvements, and general new + features, such as colorful region profile graphs... \end{enumerate} Further, Version~4.3.0 extends Version~4 with the following features: \begin{enumerate} \item Support for compiling +% \index{ML Basis Files}% -ML Basis Files. ML Basis Files allows for - expressing source dependencies, exactly (as a directed acyclic - graph). ML Basis Files thus provides a mechanism for programming - ``in the very large''. +% +ML Basis Files. ML Basis Files allows for expressing source dependencies, +exactly (as a directed acyclic graph). ML Basis Files thus provides a mechanism +for programming ``in the very large''. \item File-based +% \index{separate compilation}% +% separate compilation, based on ML Basis Files. -\item An updated Standard ML Basis Library conforming to the - specification published in \cite{basislib2004}. -\item Untagged representation of heap-allocated pairs, triples, and - Standard ML references, even when garbage collection is enabled. +\item An updated Standard ML Basis Library conforming to the specification + published in \cite{basislib2004}. +\item Untagged representation of heap-allocated pairs, triples, and Standard ML + references, even when garbage collection is enabled. \end{enumerate} -MLKit Version~4 extends -MLKit Version~3 with the following features: +MLKit Version~4 extends MLKit Version~3 with the following features: \begin{enumerate} -\item Support for pointer tracing garbage collection. Pointer tracing - garbage collection works well together with the region memory model. - While most de-allocations can be efficiently performed by region - de-allocation, there are some uses of memory for which life time - prediction is difficult. In these cases pointer tracing garbage - collection does a good job in collaboration with region memory - management \cite{hallenberg99,het02}. +\item Support for pointer tracing garbage collection. Pointer tracing garbage + collection works well together with the region memory model. While most + de-allocations can be efficiently performed by region de-allocation, there are + some uses of memory for which life time prediction is difficult. In these + cases pointer tracing garbage collection does a good job in collaboration with + region memory management \cite{hallenberg99,het02}. \item An x86 native backend. The + % \index{backend!native}% - backend support has switched from HP PA-RISC to Linux on x86 - architectures. - -\item A \index{backend!bytecode}% \index{bytecode}% bytecode - backend. To improve portability of programs, MLKit Version 4 - featured a bytecode backend, which generated code for execution - on a stack machine with region primitives. The stack - machine closely resembles the stack machine used in the OCaml and - Moscow ML compilers. + % + backend support has switched from HP PA-RISC to Linux on x86 architectures. + +\item A + % + \index{backend!bytecode}% + \index{bytecode}% + % + bytecode backend. To improve portability of programs, MLKit Version 4 featured + a bytecode backend, which generated code for execution on a stack machine with + region primitives. The stack machine closely resembles the stack machine used + in the OCaml and Moscow ML compilers. \end{enumerate} The +% \index{MLKit!Version 3}% -MLKit Version~3 extends the MLKit Version~2 with support for the -Standard ML Modules language. The +% +MLKit Version~3 extends the MLKit Version~2 with support for the Standard ML +Modules language. The +% \index{MLKit!Version 2}% +% MLKit Version~2 is a further development of the +% \index{MLKit!Version 1}% -MLKit Version~1, which was developed at Edinburgh University and -University of Copenhagen \cite{brtt93}. We hope you will enjoy using -the MLKit as much as we have enjoyed developing it. If -your experience with the MLKit gives rise to comments and suggestions, -specifically with relation to the goals and visions expressed here, -please feel free to write. Further information is available at the -MLKit +% +MLKit Version~1, which was developed at Edinburgh University and University of +Copenhagen \cite{brtt93}. We hope you will enjoy using the MLKit as much as we +have enjoyed developing it. If your experience with the MLKit gives rise to +comments and suggestions, specifically with relation to the goals and visions +expressed here, please feel free to write. Further information is available at +the MLKit +% \index{web site}% +% Github web site: \begin{tabbing} \hskip2cm\url{https://github.com/melsman/mlkit} @@ -283,19 +352,18 @@ \chapter*{Preface} \newpage \section*{Contributions} -Many people have contributed to the development of the MLKit, -including Peter Bertelsen, Lars Birkedal, Martin Elsman, Niels -Hallenberg, Tommy H\o jfeld Olesen, Nick Rothwell, Mads Tofte, David -N.\@ Turner, Peter Sestoft, and Carsten Varming. +Many people have contributed to the development of the MLKit, including Peter +Bertelsen, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy H\o jfeld +Olesen, Nick Rothwell, Mads Tofte, David N.\@ Turner, Peter Sestoft, and Carsten +Varming. -People who have contributed with bug reports and patches include, but -are not limited to (in alphabetical order) Johnny Andersen, Troels -Henriksen, Koshy A Joseph, Ken Friis Larsen, Philip Munksgaard, -Henning Niss, Daniel Wang, and Stephen Weeks. +People who have contributed with bug reports and patches include, but are not +limited to (in alphabetical order) Johnny Andersen, Troels Henriksen, Koshy A +Joseph, Ken Friis Larsen, Philip Munksgaard, Henning Niss, Daniel Wang, and +Stephen Weeks. \section*{License} -The MLKit compiler and tools are released under the GNU General Public -License: +The MLKit compiler and tools are released under the GNU General Public License: {\sc \begin{quote} @@ -315,9 +383,8 @@ \section*{License} \end{quote} } -Parts of the MLKit (the runtime system and the Basis Library) is -distributed under the MIT licence: -{\sc +Parts of the MLKit (the runtime system and the Basis Library) is distributed +under the MIT license: {\sc \begin{quote} The MIT License @@ -342,8 +409,8 @@ \section*{License} \end{quote} } -For details, see the file \texttt{doc/license/MLKit-LICENSE} in the -source distribution. +For details, see the file \inline{doc/license/MLKit-LICENSE} in the source +distribution. %============================== @@ -353,166 +420,173 @@ \part{Overview} \chapter{Region-Based Memory Management} \label{intro.sec} %--------------------------------------------------------- -Region-Based Memory Management is a technique for managing -memory for programs that use dynamic data structures, such as lists, -trees, pointers, and function closures. - -\section{% -%Prevailing Approaches to -Dynamic Memory Management} -Many programming languages rely on a memory model consisting of a {\em - stack} +Region-Based Memory Management is a technique for managing memory for programs +that use dynamic data structures, such as lists, trees, pointers, and function +closures. + +\section{Dynamic Memory Management} +Many programming languages rely on a memory model consisting of a {\em stack} +% \index{stack}% +% and a -\index{heap}% -{\em heap}. Typically, the stack holds temporary values, activation -records, arrays, and in general, values whose lifetime is closely -connected to procedure activations and whose size can be determined at -the latest when creation of the value begins. The heap is what holds -all the other values. In particular, the heap holds values whose size -can grow dynamically, such as lists and trees. The heap also holds -values whose lifetime does not follow procedure activations closely -(for example lists and, in functional languages, function closures and +% +\index{heap} +% +{\em heap}. Typically, the stack holds temporary values, activation records, +arrays, and in general, values whose lifetime is closely connected to procedure +activations and whose size can be determined at the latest when creation of the +value begins. The heap is what holds all the other values. In particular, the +heap holds values whose size can grow dynamically, such as lists and trees. The +heap also holds values whose lifetime does not follow procedure activations +closely (for example lists and, in functional languages, function closures and suspensions). -The beauty of the stack discipline (apart from the fact that it is -often very efficient in practice) is that it couples allocation points -and de-allocation points in a manner that is intelligible to the -programmer. C programmers appreciate that whatever memory is allocated -for local variables in a procedure ceases to exist (and take up -memory) when the procedure returns. -\index{C}% -C programmers also know that counting from one to some large number, -$N$, is not best done by making $N$ recursive C procedure calls, -because that would use stack space proportional to $N$. - -By contrast, programmers have much less help when it comes to managing -the heap. Two approaches prevail. The first approach is that the -programmer manages memory herself, using explicit allocation and -de-allocation instructions (e.g., -\index{malloc@\texttt{malloc}}% -{\tt malloc} and -\index{free@\texttt{free}}% -{\tt free} in C). For non-trivial programs this can be a very -significant burden, because it is, in general, very hard to make sure -that none of the values that reside in the memory that one wishes to -de-allocate are not needed for the rest of the computation. This puts -the programmer in a difficult position. If one is too eager to reclaim -memory in the heap, the program might crash under some peculiar -circumstances, which might be hard to find during debugging. If one -is too conservative reclaiming memory, the program might leak space, -that is, it might use more memory than expected, perhaps eventually, -exhaust the memory of the machine. +The beauty of the stack discipline (apart from the fact that it is often very +efficient in practice) is that it couples allocation points and de-allocation +points in a manner that is intelligible to the programmer. C programmers +appreciate that whatever memory is allocated for local variables in a procedure +ceases to exist (and take up memory) when the procedure returns. +% +\index{C} +% +C programmers also know that counting from one to some large number, $N$, is not +best done by making $N$ recursive C procedure calls, because that would use +stack space proportional to $N$. -The other prevailing approach is to use automatic garbage collection -in the heap. Some implementors of some languages even dispense with -the stack entirely, relying only on a heap with garbage collection. -Garbage collection techniques separate allocation, which is done by -the programmer, from de-allocation, which is done by the garbage -collector. At first, this might seem like the perfect solution: no -longer does the programmer have to worry about whether memory that is -being reclaimed really is dead, for the garbage collector only -reclaims memory that cannot be reached by the rest of the -computation. However, reality is less perfect. Garbage collectors are -typically based on the idea that if data is reachable via pointers -(starting from the stack and other root data) then those data must be -kept. Consequently, programs have to be written with care to avoid -hanging on to too many pointers. Space conscious programmers (and -language implementors) can work their way around these problems, for -example by assigning {\tt nil} to pointers that are no longer used. -However, such tricks often rely on assumptions about the code that -cannot be checked by the compiler and that are likely to be -invalidated as the program evolves. +By contrast, programmers have much less help when it comes to managing the heap. +Two approaches prevail. The first approach is that the programmer manages memory +herself, using explicit allocation and de-allocation instructions (e.g., +% +\index{malloc@\texttt{malloc}} +% +\lstinline{malloc} and +% +\index{free@\texttt{free}} +% +\lstinline{free} in C). For non-trivial programs this can be a very significant +burden, because it is, in general, very hard to make sure that none of the +values that reside in the memory that one wishes to de-allocate are not needed +for the rest of the computation. This puts the programmer in a difficult +position. If one is too eager to reclaim memory in the heap, the program might +crash under some peculiar circumstances, which might be hard to find during +debugging. If one is too conservative reclaiming memory, the program might leak +space, that is, it might use more memory than expected, perhaps eventually, +exhaust the memory of the machine. +The other prevailing approach is to use automatic garbage collection in the +heap. Some implementors of some languages even dispense with the stack +entirely, relying only on a heap with garbage collection. Garbage collection +techniques separate allocation, which is done by the programmer, from +de-allocation, which is done by the garbage collector. At first, this might +seem like the perfect solution: no longer does the programmer have to worry +about whether memory that is being reclaimed really is dead, for the garbage +collector only reclaims memory that cannot be reached by the rest of the +computation. However, reality is less perfect. Garbage collectors are typically +based on the idea that if data is reachable via pointers (starting from the +stack and other root data) then those data must be kept. Consequently, programs +have to be written with care to avoid hanging on to too many pointers. Space +conscious programmers (and language implementors) can work their way around +these problems, for example by assigning \lstinline{nil} to pointers that are no +longer used. However, such tricks often rely on assumptions about the code that +cannot be checked by the compiler and that are likely to be invalidated as the +program evolves. \section{Checked De-Allocation of Memory} \label{checked.sec} -Regions offer an alternative to the two approaches to memory -management discussed in the previous section. The runtime model is -very simple, at least in principle. The store consists of a -\index{region stack}% +Regions offer an alternative to the two approaches to memory management +discussed in the previous section. The runtime model is very simple, at least +in principle. The store consists of a +% +\index{region stack} +% stack of -\index{region}% +% +\index{region} +% {\em regions}, see Figure~\ref{stacks.fig}. \begin{figure}[t] \hrule \begin{center} \begin{picture}(70,50)(0,0) \put(0,5){\framebox(10,25){}} -\put(5,0){\makebox(0,0){$\boxml{r}_0$}} +\put(5,0){\makebox(0,0){\lstinline!r$_0$!}} \put(15,5){\framebox(10,5){}} -\put(20,0){\makebox(0,0){$\boxml{r}_1$}} +\put(20,0){\makebox(0,0){\lstinline!r$_1$!}} \put(30,5){\framebox(10,35){}} -\put(35,0){\makebox(0,0){$\boxml{r}_2$}} +\put(35,0){\makebox(0,0){\lstinline!r$_2$!}} \put(45,5){\framebox(10,10){}} -\put(50,0){\makebox(0,0){$\boxml{r}_3$}} +\put(50,0){\makebox(0,0){\lstinline!r$_3$!}} \put(60,5){\makebox(0,0){$\ldots$}} \end{picture} \end{center} -\caption{The store is a stack of regions; every region -is depicted by a box in the picture.} -\vskip5mm -\hrule +\caption{The store is a stack of regions; every region is depicted by a box in + the picture.} \vskip5mm \hrule \label{stacks.fig} \end{figure} -Regions hold values, for example tuples, records, function closures, -references, and values of recursive types (such as lists and trees). -All values, except those that fit within one machine word (for example -integers), are stored in regions. +Regions hold values, for example tuples, records, function closures, references, +and values of recursive types (such as lists and trees). All values, except +those that fit within one machine word (for example integers), are stored in +regions. The size of a region -\index{region size}% -is not necessarily known when the region is allocated. Thus a region -can grow gradually (and many regions can grow at the same time) so one -might think of the region stack as a stack of heaps. However, the -region stack really is a stack in the sense that (a) if region $r_1$ -is allocated before region $r_2$ then $r_2$ is de-allocated before -$r_1$ and (b) when a region is de-allocated, all the memory occupied -by that region is reclaimed in one constant time operation. - -Values that reside in one region are often, but not always, of the -same type. A region can contain pointers to values that reside in the -same region or in other regions. Both forward pointers (i.e., pointers -from a region into a region closer to the stack top) and backwards -pointers (i.e., pointers to an older region) occur. - -As mentioned in the preface, the present version of the MLKit -supports reference-tracing -\index{garbage collection}% +% +\index{region size} +% +is not necessarily known when the region is allocated. Thus a region can grow +gradually (and many regions can grow at the same time) so one might think of the +region stack as a stack of heaps. However, the region stack really is a stack in +the sense that (a) if region $r_1$ is allocated before region $r_2$ then $r_2$ +is de-allocated before $r_1$ and (b) when a region is de-allocated, all the +memory occupied by that region is reclaimed in one constant time operation. + +Values that reside in one region are often, but not always, of the same type. A +region can contain pointers to values that reside in the same region or in other +regions. Both forward pointers (i.e., pointers from a region into a region +closer to the stack top) and backwards pointers (i.e., pointers to an older +region) occur. + +As mentioned in the preface, the present version of the MLKit supports +reference-tracing +% +\index{garbage collection} +% garbage collection in combination with region memory management -\cite{hallenberg99}. While most de-allocations can be efficiently -performed by region de-allocation, there are some uses of memory for -which it is difficult to predict when memory can be de-allocated. In -these cases reference-tracing garbage collection does a good job in -combination with region de-allocation. - -In many cases however, one can do just fine without reference-tracing -garbage collection. Without reference-tracing garbage collection the -region stack is the only form of memory management provided. Is the -region model really general enough to fit a wide variety of -computations? +\cite{hallenberg99}. While most de-allocations can be efficiently performed by +region de-allocation, there are some uses of memory for which it is difficult to +predict when memory can be de-allocated. In these cases reference-tracing +garbage collection does a good job in combination with region de-allocation. + +In many cases however, one can do just fine without reference-tracing garbage +collection. Without reference-tracing garbage collection the region stack is the +only form of memory management provided. Is the region model really general +enough to fit a wide variety of computations? First notice that the pure -\index{stack}% -stack discipline (a stack, but no heap) is a special case of the -region stack. Here the size of a region is known at the latest when -the region is allocated. Another special case is when one has just one -region in the region stack and that region grows dynamically. This -case can be thought of as a -\index{heap}% +% +\index{stack} +% +stack discipline (a stack, but no heap) is a special case of the region +stack. Here the size of a region is known at the latest when the region is +allocated. Another special case is when one has just one region in the region +stack and that region grows dynamically. This case can be thought of as a +% +\index{heap} +% heap with no garbage collection, which again would not be sufficient. -But when one has many regions, one obtains the possibility of -distinguishing between values according to what region they reside in. -The MLKit has operations for allocating, de-allocating, and extending -regions. But it also has an explicit operation for -\index{region!resetting}% -resetting an existing region, that is, reclaiming all the memory -occupied by the region without eliminating the region from the region -stack. This primitive, simple as it is, enables one to cope with most -of those situations where lifetimes simply are not nested. -Figure~\ref{slideshow.fig} shows a possible progression of the region -stack. +But when one has many regions, one obtains the possibility of distinguishing +between values according to what region they reside in. The MLKit has +operations for allocating, de-allocating, and extending regions. But it also has +an explicit operation for +% +\index{region!resetting} +% +resetting an existing region, that is, reclaiming all the memory occupied by the +region without eliminating the region from the region stack. This primitive, +simple as it is, enables one to cope with most of those situations where +lifetimes simply are not nested. Figure~\ref{slideshow.fig} shows a possible +progression of the region stack. \begin{figure} \hrule \medskip @@ -569,64 +643,65 @@ \section{Checked De-Allocation of Memory} \medskip \end{center} \caption{Further development of the region stack: (a) after allocation of -$\boxml{r}_4$; -(b) after growth of $\boxml{r}_1$ and $\boxml{r}_4$, resetting of $\boxml{r}_3$ and allocation of $\boxml{r}_5$; -(c) after popping of $\boxml{r}_4$ and $\boxml{r}_5$ but extension of $\boxml{r}_1$ and $\boxml{r}_3$.} -\vskip5mm -\hrule + $\boxml{r}_4$; (b) after growth of $\boxml{r}_1$ and $\boxml{r}_4$, resetting + of $\boxml{r}_3$ and allocation of $\boxml{r}_5$; (c) after popping of + $\boxml{r}_4$ and $\boxml{r}_5$ but extension of $\boxml{r}_1$ and + $\boxml{r}_3$.} \vskip5mm \hrule \label{slideshow.fig} \end{figure} -In the MLKit the vast majority of region management is done -automatically by the compiler and the runtime system. Indeed, with -one exception, source programs are written in Standard ML, with no -added syntax or special directives. The exception has to do with -resetting of regions. The MLKit provides two built-in functions +In the MLKit the vast majority of region management is done automatically by the +compiler and the runtime system. Indeed, with one exception, source programs +are written in Standard ML, with no added syntax or special directives. The +exception has to do with resetting of regions. The MLKit provides two built-in +functions +% \index{resetRegions@$\resetr$}% -\index{forceResetting@$\resetf$}% -($\resetr$ and $\resetf$), which instruct the program to reset -regions. Here $\resetr$ is a safe form of resetting where the compiler -only inserts region resetting instructions if it can prove that they -are safe; it prints thorough explanations of why it thinks resetting -might be unsafe otherwise. The function $\resetf$ is for potentially -unsafe resetting of regions, which is useful in cases where the -programmer jolly well knows that resetting is safe even if the -compiler cannot prove it. The function $\resetf$ is the only way we -allow users to make decisions that can make the program crash; many -programs do not need $\resetf$ and hence cannot crash (unless we have -bugs in our system). +\index{forceResetting@$\resetf$} +% +($\resetr$ and $\resetf$), which instruct the program to reset regions. Here +$\resetr$ is a safe form of resetting where the compiler only inserts region +resetting instructions if it can prove that they are safe; it prints thorough +explanations of why it thinks resetting might be unsafe otherwise. The function +$\resetf$ is for potentially unsafe resetting of regions, which is useful in +cases where the programmer jolly well knows that resetting is safe even if the +compiler cannot prove it. The function $\resetf$ is the only way we allow users +to make decisions that can make the program crash; many programs do not need +$\resetf$ and hence cannot crash (unless we have bugs in our system). All other region directives, including directives for allocation and -de-allocation of regions, are inferred automatically by the compiler. -This happens through a series of fairly complex program analyses and -transformations (in the excess of twenty-five passes involving three -typed intermediate languages). These analyses are formally defined and -the central one, called -\index{region inference}% +de-allocation of regions, are inferred automatically by the compiler. This +happens through a series of fairly complex program analyses and transformations +(in the excess of twenty-five passes involving three typed intermediate +languages). These analyses are formally defined and the central one, called +% +\index{region inference} +% {\em region inference}, has been proved correct for a skeletal -language. Although the formal rules that govern region inference and -the other program analyses are complex, we have on purpose restricted -attention to program analyses that we feel capture natural programming -intuitions. Moreover, the MLKit implementation is such that, with one -exception\footnote{The exception has to do with exceptions. When an - exception is raised, a search down the stack for a handler takes - place; this search is not constant time and it involves popping of - regions on the way. However, the number of region operations is - bounded by the number of handlers that appear on the stack.}, every -region directive takes constant time and constant space to execute. -The fact that we avoid interrupting program execution for unbounded -lengths of time gives a nice smooth experience when programs are run -and should make the scheme attractive for real-time programming. - -To help programmers get used to the idea of programming with regions, -the MLKit can print region-annotated programs, that is, source programs -it has annotated with region directives. Also, it provides a -\index{region profiling}% -{\em region profiler\/} for examining run-time behavior. The region -profiler gives a graphical representation of region sizes as a -function of time. This tool makes it possible to see what regions use -the most space and even to relate memory consumption back to -individual allocation points in the (annotated) source program. +language. Although the formal rules that govern region inference and the other +program analyses are complex, we have on purpose restricted attention to program +analyses that we feel capture natural programming intuitions. Moreover, the +MLKit implementation is such that, with one exception\footnote{The exception has +to do with exceptions. When an exception is raised, a search down the stack for +a handler takes place; this search is not constant time and it involves popping +of regions on the way. However, the number of region operations is bounded by +the number of handlers that appear on the stack.}, every region directive takes +constant time and constant space to execute. The fact that we avoid +interrupting program execution for unbounded lengths of time gives a nice smooth +experience when programs are run and should make the scheme attractive for +real-time programming. + +To help programmers get used to the idea of programming with regions, the MLKit +can print region-annotated programs, that is, source programs it has annotated +with region directives. Also, it provides a +% +\index{region profiling} +% +\emph{region profiler} for examining run-time behavior. The region profiler +gives a graphical representation of region sizes as a function of time. This +tool makes it possible to see what regions use the most space and even to relate +memory consumption back to individual allocation points in the (annotated) +source program. To sum up, the key advantages obtained by using regions compared to more traditional memory management schemes are @@ -635,39 +710,38 @@ \section{Checked De-Allocation of Memory} \item the compiler can in many cases spot potential space leaks \item region management is under the control of the user, provided one understands the principles of region inference -\item each of the region operations that are inserted use constant - time and constant space at runtime -\item it is possible to relate runtime space consumption to allocation - points in the source program; we have found region profiling to be a - powerful tool for eliminating space leaks +\item each of the region operations that are inserted use constant time and + constant space at runtime +\item it is possible to relate runtime space consumption to allocation points in + the source program; we have found region profiling to be a powerful tool for + eliminating space leaks \end{enumerate} -Regions are not a magic wand to solve all memory management problems. -Rather, the region scheme encourages a particular discipline of -programming. The purpose of this report is to lay out this discipline. +Regions are not a magic wand to solve all memory management problems. Rather, +the region scheme encourages a particular discipline of programming. The purpose +of this report is to lay out this discipline. \section{Example: the Game of Life} \label{life.sec} -\index{Life!game of}% -To illustrate the general flavor of region-based memory management, -let us consider the problem of implementing the game of Life. The game -takes place on a board that resembles a chess board, except that the -size of the board can grow as the game evolves. Thus every position -has eight neighboring positions (perhaps after extension of the -board). At any point in time, every position is either {\em alive} or -{\em dead}. A snapshot of the game consisting of the board together -with an indication of which positions are alive is called a {\em - generation}. The rules of the game specify how to progress from one -generation to the next. Consider generation $n$ from which we want to -create generation $n+1$ ($n\geq0$). Let $(i,j)$ be a position on the -board, relative to some fixed point $(0,0)$ in the plane. Assume -$(i,j)$ is alive in generation $n$. Then $(i,j)$ stays alive in -generation $n+1$ if and only if it has two or three live neighbors in -generation $n$. Assume $(i,j)$ is dead at generation $n$. Then it is -born in generation $n+1$ if and only if it has precisely three live -neighbors at generation $n$. We assume that only finitely many -positions are alive initially. An example of two generations of Life -is shown below: -\begin{verbatim} + +\index{Life!game of} +% +To illustrate the general flavor of region-based memory management, let us +consider the problem of implementing the game of Life. The game takes place on a +board that resembles a chess board, except that the size of the board can grow +as the game evolves. Thus every position has eight neighboring positions +(perhaps after extension of the board). At any point in time, every position is +either {\em alive} or {\em dead}. A snapshot of the game consisting of the board +together with an indication of which positions are alive is called a {\em + generation}. The rules of the game specify how to progress from one generation +to the next. Consider generation $n$ from which we want to create generation +$n+1$ ($n\geq0$). Let $(i,j)$ be a position on the board, relative to some fixed +point $(0,0)$ in the plane. Assume $(i,j)$ is alive in generation $n$. Then +$(i,j)$ stays alive in generation $n+1$ if and only if it has two or three live +neighbors in generation $n$. Assume $(i,j)$ is dead at generation $n$. Then it +is born in generation $n+1$ if and only if it has precisely three live neighbors +at generation $n$. We assume that only finitely many positions are alive +initially. An example of two generations of Life is shown below: +\begin{scriptcode}[xleftmargin=.1\textwidth] 0 0 0 0 00 0 @@ -687,47 +761,43 @@ \section{Example: the Game of Life} 0 0 00 0 0 00 -\end{verbatim} - -To represent the game board, we need a data structure that can grow -dynamically (so a two-dimensional array of fixed size is not -sufficient). A simple solution is to represent a generation by a list -of integer pairs, namely the positions that are alive. Since we want -to give all pairs belonging to one generation the same lifetime (in -the computer memory, that is!) it is natural to store all the integer -pairs belonging to one generation in the same region. Indeed region -inference forces this decision upon us, as it happens, since it -requires that all elements belonging to the same list lie in the same -region. (Different lists can lie in different regions, however.) - -Thus, after having built the initial generation, we expect the region -stack to look like this +\end{scriptcode} + +To represent the game board, we need a data structure that can grow dynamically +(so a two-dimensional array of fixed size is not sufficient). A simple solution +is to represent a generation by a list of integer pairs, namely the positions +that are alive. Since we want to give all pairs belonging to one generation the +same lifetime (in the computer memory, that is!) it is natural to store all the +integer pairs belonging to one generation in the same region. Indeed region +inference forces this decision upon us, as it happens, since it requires that +all elements belonging to the same list lie in the same region. (Different lists +can lie in different regions, however.) + +Thus, after having built the initial generation, we expect the region stack to +look like this \begin{center} \begin{picture}(70,40)(0,0) \put(0,5){\framebox(45,25){\parbox{4cm}{$l_n$: list of integer pairs representing generation $n$.}}} \put(20,0){\makebox(0,0){$\boxml{r0}$}} \end{picture} \end{center} -The computation of the next generation involves a considerable amount -of list computation. Chris Reade has expressed the key part of the -computation as shown in Figure~\ref{xavier.fig}. +The computation of the next generation involves a considerable amount of list +computation. Chris Reade has expressed the key part of the computation as shown +in Figure~\ref{xavier.fig}. \begin{figure} \hrule \medskip -\begin{verbatim} - let val living = alive gen - fun isalive x = member eq_int_pair_curry living x - fun liveneighbours x = length(filter isalive (neighbours x)) - fun twoorthree n = n=2 orelse n=3 - val survivors = filter (twoorthree o liveneighbours) living - val newnbrlist = - collect (fn z => filter (fn x => not(isalive x)) - (neighbours z) - ) living - val newborn = occurs3 newnbrlist - in - mkgen (survivors @ newborn) - end -\end{verbatim} +\begin{smlcode} +let val living = alive gen + fun isalive x = member living x + fun liveneighbours x = length (filter isalive (neighbours x)) + fun twoorthree n = n=2 orelse n=3 + val survivors = filter (twoorthree o liveneighbours) living + val newnbrlist = collect (filter (not o isalive) o neighbours) + living + val newborn = occurs3 newnbrlist +in mkgen (cp_list(survivors @ newborn)) +end +\end{smlcode} \caption{An excerpt of (a modified version of) Chris Reade's Game of Life program.} \medskip @@ -735,20 +805,19 @@ \section{Example: the Game of Life} \hrule \label{xavier.fig} \end{figure} -Despite the extensive use of higher-order functions here, there is a -great deal of stack structure in this computation. For example, the -{\tt survivors} list can be allocated in a local region which can be -de-allocated after the list has been appended (\boxml{@}) to the {\tt - newborn} list. The computation of {\tt survivors}, in turn, involves -the creation of a closure for \boxml{(twoorthree o liveneighbours)} -and additional creation of closures as part of the computation of the -application of {\tt filter}. Each time {\tt liveneighbours} is called -(by {\tt filter}) additional temporary values are created. All of -this data should live shorter than {\tt survivors} itself. The -details of these lifetimes are determined automatically by the region -inference algorithm, which ensures that when the above expression -terminates it will simply have created a list containing the live -positions of the new generation. +Despite the extensive use of higher-order functions here, there is a great deal +of stack structure in this computation. For example, the \lstinline{survivors} +list can be allocated in a local region which can be de-allocated after the list +has been appended (\lstinline{@}) to the \lstinline{newborn} list. The +computation of \lstinline{survivors}, in turn, involves the creation of a +closure for \lstinline{(twoorthree o liveneighbours)} and additional creation of +closures as part of the computation of the application of +\lstinline{filter}. Each time \lstinline{liveneighbours} is called (by +\lstinline{filter}) additional temporary values are created. All of this data +should live shorter than \lstinline{survivors} itself. The details of these +lifetimes are determined automatically by the region inference algorithm, which +ensures that when the above expression terminates it will simply have created a +list containing the live positions of the new generation. But now we have a design choice. Should we put the new generation in the same region as the previous region or should we arrange that it is @@ -763,43 +832,44 @@ \section{Example: the Game of Life} been created, reset the region of the old region and copy the contents of the new region into the old region. This effect is achieved by organizing the main loop of the program as follows: -\begin{verbatim} - local - (*1*) fun nthgen'(p as(0,g)) = p - (*2*) | nthgen'(p as(i,g)) = - (*3*) nthgen' (i-1, let val g' = nextgen g - (*4*) in show g; - (*5*) resetRegions g; - (*6*) copy g' - (*7*) end) - in - (*8*) fun iter n = #2(nthgen'(n,gun())) - end -\end{verbatim} -Here \boxml{nthgen'} -\index{nthgen@\texttt{nthgen}}% -is the main loop of the program. It takes a pair as argument; the -first component of the pair indicates the number of iterations -desired, while the second, \boxml{g}, is the current generation. The -use of the {\tt as} pattern in line 1 forces the argument and the -result of \boxml{nthgen'} to be in the same regions. Such a function -is called a -\index{region endomorphism}% -{\em region endomorphism}. In line 3, we compute a fresh generation, -which lies in fresh regions, as it happens. Having printed the -generation (line 4) we then reset the regions containing {\tt g}. The -compiler checks that this is safe. Then, in line 6 we copy {\tt g'} -and the target of this copy must be the regions of {\tt g}, because -\boxml{nthgen'} is a region endomorphism (see -Figure~\ref{doublecopy.fig}). All in all, we have achieved that at -most two generations are live at the same time (a fact that can be -checked by inspecting the region-annotated code, if one feels -passionately about it).\footnote{The source file for the life program - is \boxml{kitdemo/life.sml}. Running programs is described in - Section~\ref{tryit.sec}. When run with n=10000 under Linux on an x64 - box, the memory consumption (resident memory, measured using {\tt - top}) quickly reaches 500Kb and - stays there for the remaining generations.} +\begin{smlcode}[numbers=left,xleftmargin=25pt] + local + fun nthgen (p as(0,g)) = p + | nthgen (p as(i,g)) = + nthgen (i-1, let val g' = nextgen g + in show g; + resetRegions g; + copy g' + end) + in + fun iter n = #2(nthgen(n,gun())) + end +\end{smlcode} +Here \lstinline{nthgen} +% +\index{nthgen@\texttt{nthgen}} +% +is the main loop of the program. It takes a pair as argument; the first +component of the pair indicates the number of iterations desired, while the +second, \lstinline{g}, is the current generation. The use of the \lstinline{as} +pattern in line 2 forces the argument and the result of \lstinline{nthgen} to be in +the same regions. Such a function is called a +% +\index{region endomorphism} +% +{\em region endomorphism}. In line 4, we compute a fresh generation, which lies +in fresh regions, as it happens. Having printed the generation (line 5) we then +reset the regions containing \lstinline{g}. The compiler checks that this is +safe. Then, in line 7 we copy \lstinline{g'} and the target of this copy must be +the regions of \lstinline{g}, because \lstinline{nthgen} is a region +endomorphism (see Figure~\ref{doublecopy.fig}). All in all, we have achieved +that at most two generations are live at the same time (a fact that can be +checked by inspecting the region-annotated code, if one feels passionately about +it).\footnote{The source file for the life program is +\boxml{kitdemo/life.sml}. Running programs is described in +Section~\ref{tryit.sec}. When run with n=10000 under Linux on an x64 box, the +memory consumption (resident memory, measured using \lstinline{top}) quickly +reaches 500Kb and stays there for the remaining generations.} \begin{figure} \hrule @@ -834,227 +904,244 @@ \section{Example: the Game of Life} \medskip \end{center} -\caption{ Using double-copying in the game of Life: -(a) generation number $n$ resides in region \boxml{r0}; (b) - generation $(n+1)$ has been built in \boxml{r1}; -(c) region \boxml{r0} has been reset, the new generation -copied into \boxml{r0} and \boxml{r1} has been de-allocated.} -\vskip5mm -\hrule +\caption{ Using double-copying in the game of Life: (a) generation number $n$ + resides in region \lstinline{r0}; (b) generation $(n+1)$ has been built in + \lstinline{r1}; (c) region \lstinline{r0} has been reset, the new generation copied + into \lstinline{r0} and \lstinline{r1} has been de-allocated.} \vskip5mm \hrule \label{doublecopy.fig} \end{figure} The above device, which we refer to as -\index{double copying}% -{\em double copying}, can be seen as a much expanded version of what -is often called ``tail recursion optimisation''. In the case of -regions, not just the stack space, but also region space, is re-used. -Indeed, double copying is similar to invoking a copying garbage -collector on specific regions that are known not to have live pointers -into them. But by doing the copying ourselves, we have full control -over when it happens, we know that the cost of copying will be -proportional to the size of the generation under consideration and -that all other memory management is done automatically by the region -mechanism. Because each of the region management directives that the -compiler inserts in the code are constant time and space operations, -we have now avoided unpredictable interruptions due to memory -management. This avoidance of unpredictable interruptions might not be -terribly important for the purpose of the game of Life, but if we were -writing control software for the ABS brakes of a car, having control -over all costs, including memory management, would be crucial! +% +\index{double copying} +% +{\em double copying}, can be seen as a much expanded version of what is often +called ``tail recursion optimisation''. In the case of regions, not just the +stack space, but also region space, is re-used. Indeed, double copying is +similar to invoking a copying garbage collector on specific regions that are +known not to have live pointers into them. But by doing the copying ourselves, +we have full control over when it happens, we know that the cost of copying will +be proportional to the size of the generation under consideration and that all +other memory management is done automatically by the region mechanism. Because +each of the region management directives that the compiler inserts in the code +are constant time and space operations, we have now avoided unpredictable +interruptions due to memory management. This avoidance of unpredictable +interruptions might not be terribly important for the purpose of the game of +Life, but if we were writing control software for the ABS brakes of a car, +having control over all costs, including memory management, would be crucial! % left lower right upper \newcommand{\includerp}[1]{\includegraphics[trim=12mm 25mm 37mm 37mm, clip, width=\textwidth]{#1}} %\newcommand{\includerp}[1]{\includegraphics[trim=16mm 27mm 41mm 41mm, clip, width=\textwidth]{#1}} \begin{figure} -\includerp{life80.pdf} -\caption{A region profile of two hundred - generations of the ``Game of Life'', showing region sizes as a - function of time (80 snapshots).} -\label{lifeprof80.fig} +\includerp{life50.pdf} +\caption{A region profile of two hundred generations of the ``Game of Life'', + showing region sizes as a function of time (50 snapshots).} +\label{lifeprof50.fig} \end{figure} -Region profiles for two hundred generations of {\tt life} starting -from the configuration shown earlier appear in -Figures~\ref{lifeprof80.fig} and \ref{lifeprof200.fig}. The highest -amount of memory used for regions during the computation is -45KiB. Figure~\ref{lifeprof200.fig}, which has data collected from 200 -snapshots of the computation, clearly shows that most of the 45KiB are -reclaimed between every two generations of the game. It turns out that -the game essentially stabilizes with a small number of live positions -on the board after roughly 150 generations. This stabilisation is -clearly reflected in the region profile. +Region profiles for two hundred generations of \lstinline{life} starting from +the configuration shown earlier appear in Figures~\ref{lifeprof50.fig} and +\ref{lifeprof100.fig}. The highest amount of memory used for regions during the +computation is 45KiB. Figure~\ref{lifeprof100.fig}, which has data collected +from 100 snapshots of the computation, clearly shows that most of the 45KiB are +reclaimed between every two generations of the game. It turns out that the game +essentially stabilises with a small number of live positions on the board after +roughly 150 generations. This stabilisation is clearly reflected in the region +profile. \begin{figure} -\includerp{life200.pdf} +\includerp{life100.pdf} \caption{Region profile of two hundred generations of the ``Game of Life'', showing region sizes as a - function of time (200 snapshots).} -\label{lifeprof200.fig} + function of time (100 snapshots).} +\label{lifeprof100.fig} \end{figure} -Figure~\ref{lifeprof80.fig} is from the same computation, but it only -includes data from 80 snapshots. In the figures, we can see that the -largest region is \boxml{r154413}. To find out what this region -contains, however, one needs to know about the methods described in -Part~\ref{understanding.sec}. +Figure~\ref{lifeprof50.fig} is from the same computation, but it only includes +data from 50 snapshots. In the figures, we can see that the largest region is +\lstinline{r332640}. To find out what this region contains, however, one needs to +know about the methods described in Part~\ref{understanding.sec}. \section{Try it!} -This section tells you how to repeat the profiling experiment shown -above. - -Compile the SML program \boxml{kitdemo/life.sml} as follows. First, -make a personal copy of the {\tt kit/kitdemo} directory, place -yourself in it, and execute the command:\footnote{We assume that the - MLKit compiler command \texttt{mlkit} is somehow available through - your {\tt PATH} environment variable.} -\begin{verbatim} +This section tells you how to repeat the profiling experiment shown above. + +Compile the SML program \inline{kitdemo/life.sml} as follows. First, make a +personal copy of the \inline{kit/kitdemo} directory, place yourself in it, +and execute the command:\footnote{We assume that the MLKit compiler command +\boxml{mlkit} is somehow available through your \boxml{PATH} environment +variable.} +\begin{scriptcode}[mathescape=false] $ mlkit -no_gc -prof life.sml -\end{verbatim} -The option \texttt{-prof} enables region profiling and the option -\texttt{-no\_gc} disables reference tracing garbage collection. After -the MLKit has compiled the program \boxml{life.sml}, the executable -life program is available as \boxml{kitdemo/run}. - -Next, you may execute \boxml{run}, as follows: -\begin{verbatim} +\end{scriptcode} +The option \lstinline{-prof} enables region profiling and the option +\lstinline{-no_gc} disables reference tracing garbage collection. After the +MLKit has compiled the program \inline{life.sml}, the executable life program +is available as \inline{kitdemo/run}. + +Next, you may execute \lstinline{run}, as follows: +\begin{scriptcode}[mathescape=false] $ ./run -microsec 500 -\end{verbatim} -This command will make a profiling snapshot every 500 microseconds (i.e., -every half millisecond). If you are satisfied with less fine-grained -information, choose a larger number; it will speed up execution. If -you just type -\begin{verbatim} +\end{scriptcode} +This command will make a profiling snapshot every 500 microseconds (i.e., every +half millisecond). If you are satisfied with less fine-grained information, +choose a larger number; it will speed up execution. If you just type +\begin{scriptcode} ./run -\end{verbatim} +\end{scriptcode} there will be one snapshot per second. -Finally, you create a PostScript file and convert it into a pdf-file as -follows:\footnote{The program {\tt rp2ps} can be found in the {\tt - kit/bin} directory.} +Finally, you create a Postscript file and convert it into a pdf-file as +follows:\footnote{The program \boxml{rp2ps} can be found in the +\boxml{kit/bin} directory.} +% \index{rp2ps@\texttt{rp2ps}}% -\begin{verbatim} - $ rp2ps -region -name 'Game of life - 200 snapshots' -sampleMax 80 +% +\begin{scriptcode} + $ rp2ps -region -name 'Game of life - 100 snapshots' \ + -sampleMax 100 $ ps2pdf region.ps region.pdf -\end{verbatim} -The option \boxml{-sampleMax $N$} instructs \boxml{rp2ps} to show at -most $N$ snapshots (evenly distributed over the duration of the -computation). +\end{scriptcode} +The option \lstinline!-sampleMax $N$! instructs \lstinline{rp2ps} to show at +most $N$ snapshots (evenly distributed over the duration of the computation). %-------------------------------------------------- \chapter{Making Regions Concrete} %-------------------------------------------------- -In this chapter, we give a brief overview of how the abstract memory -model presented in the last chapter is mapped down to conventional -memory. In doing so, we shall introduce notation and concepts that -will be used extensively in what follows. - +In this chapter, we give a brief overview of how the abstract memory model +presented in the last chapter is mapped down to conventional memory. In doing +so, we shall introduce notation and concepts that will be used extensively in +what follows. \section{Finite and Infinite Regions} \label{fininf.sec} -Not every region has the property that its size is known at -compile-time, or even when the region is first allocated at runtime. -As we have seen, one typical use of a region is to hold a list, and in -general there is no way of knowing how long a given list is going to -be. - - -For efficiency reasons, however, the MLKit distinguishes between two -kinds of regions: those regions whose size it can determine at -compile-time and those it cannot. -\index{region size}% +Not every region has the property that its size is known at compile-time, or +even when the region is first allocated at runtime. As we have seen, one +typical use of a region is to hold a list, and in general there is no way of +knowing how long a given list is going to be. + +For efficiency reasons, however, the MLKit distinguishes between two kinds of +regions: those regions whose size it can determine at compile-time and those it +cannot. +% +\index{region size} +% These regions are referred to as -\index{region size!finite}% +% +\index{region size!finite} +% {\em finite} and -\index{region size!infinite}% -{\em infinite} regions, respectively.\footnote{``finite'' and - ``unbounded'' would have been better terms, but it is too late to - change that.} Finite regions are always allocated on the -\index{runtime stack}% -runtime stack. An infinite region is represented as a linked list of -fixed-size -\index{region pages}% -pages. The runtime system maintains a free list of such pages. An -infinite region is represented by a -\index{region descriptor}% -{\em region descriptor}, which is a record kept on the runtime stack. -The region descriptor contains two pointers: one to the first and one -to the last region page in the linked list that represents the region. -Allocating an infinite region involves getting a page from the -\index{free list}% -free list and pushing a region descriptor onto the -runtime stack. Popping a region is done by appending the region pages -of the region and the free list (this is done in constant time) and -then popping the region descriptor off the runtime stack. +% +\index{region size!infinite} +% +{\em infinite} regions, respectively.\footnote{``finite'' and ``unbounded'' +would have been better terms, but it is too late to change that.} Finite +regions are always allocated on the +% +\index{runtime stack} +% +runtime stack. An infinite region is represented as a linked list of fixed-size +% +\index{region pages} +% +pages. The runtime system maintains a free list of such pages. An infinite +region is represented by a +% +\index{region descriptor} +% +{\em region descriptor}, which is a record kept on the runtime stack. The +region descriptor contains two pointers: one to the first and one to the last +region page in the linked list that represents the region. Allocating an +infinite region involves getting a page from the +% +\index{free list} +% +free list and pushing a region descriptor onto the runtime stack. Popping a +region is done by appending the region pages of the region and the free list +(this is done in constant time) and then popping the region descriptor off the +runtime stack. At runtime, every region is represented by a 64-bit entity, called a -\index{region name}% -{\em region name}. If the region is finite, the region name is a -pointer into the stack, namely to the beginning of the region. If the -region is infinite, the region name is a pointer to the region -descriptor of the region. - -The \index{multiplicity}{\em multiplicity} of a region is a statically -determined upper bound on the number of times a value is put into the -region. The MLKit operates with three multiplicities: 0, 1 and $\infty$, -ordered by $0<1<\infty$. Multiplicities annotate binding occurrences -of region variables. An expression of the form -$$\boxml{let region $\rho:m$ in $e$ end}$$ -where $m$ is a multiplicity, -gives rise to an allocation of a region, which is finite if $m<\infty$, and -infinite otherwise. +% +\index{region name} +% +{\em region name}. If the region is finite, the region name is a pointer into +the stack, namely to the beginning of the region. If the region is infinite, the +region name is a pointer to the region descriptor of the region. + +The +% +\index{multiplicity} +% +{\em multiplicity} of a region is a statically determined upper bound on the +number of times a value is put into the region. The MLKit operates with three +multiplicities: 0, 1 and $\infty$, ordered by $0<1<\infty$. Multiplicities +annotate binding occurrences of region variables. An expression of the form +\begin{center} + \lstinline!let region $\rho:m$ in $e$ end! +\end{center} +where $m$ is a multiplicity, gives rise to an allocation of a region, which is +finite if $m<\infty$, and infinite otherwise. \section{Runtime Types of Regions} \label{runtimetypes.sec} -Every region has a \index{runtime type}% runtime type. The following -runtime types exist: {\sc pair\_rt}, {\sc array\_rt}, {\sc ref\_rt}, -{\sc triple\_rt}, {\sc string\_rt}, {\sc top\_rt}, and {\sc - bot\_rt}. Not surprisingly, regions of runtime type {\sc string\_rt} -contain values of ML type {\tt string}. Regions of runtime type {\sc - pair\_rt}, {\sc array\_rt}, {\sc ref\_rt}, and {\sc triple\_rt} -contain pairs, arrays, references, and triples, respectively. Regions -with runtime type {\sc top\_rt} can contain all other forms of -allocated values, that is, constructed values, such as tuples (that -are not pairs or triples), records (that do not contain two or three -fields), and function closures. Regions of runtime type {\sc bot\_rt} -are not present at runtime and are associated only with so-called -\emph{explicit region variables}, which we shall not discuss in this -document. - -It is often, but not always, the case that all values that reside in -the same region have the same type (considered as representations of -ML values). + +Every region has a +% +\index{runtime type} +% +runtime type. The following runtime types exist: {\sc pair\_rt}, {\sc + array\_rt}, {\sc ref\_rt}, {\sc triple\_rt}, {\sc string\_rt}, {\sc top\_rt}, +and {\sc bot\_rt}. Not surprisingly, regions of runtime type {\sc string\_rt} +contain values of ML type \lstinline{string}. Regions of runtime type {\sc pair\_rt}, +{\sc array\_rt}, {\sc ref\_rt}, and {\sc triple\_rt} contain pairs, arrays, +references, and triples, respectively. Regions with runtime type {\sc top\_rt} +can contain all other forms of allocated values, that is, constructed values, +such as tuples (that are not pairs or triples), records (that do not contain two +or three fields), and function closures. Regions of runtime type {\sc bot\_rt} +are not present at runtime and are associated only with so-called \emph{explicit +region variables}, which we shall not discuss in this document. + +It is often, but not always, the case that all values that reside in the same +region have the same type (considered as representations of ML values). \section{Allocation and De-Allocation of Regions} \label{aldeal.sec} -The analysis that decides when regions should be allocated and -de-allocated is called {\em region inference}. Region inference -inserts several forms of memory management directives as directives -into the program. The target language of region inference is called -\index{RegExp@$\RegExp$}% + +The analysis that decides when regions should be allocated and de-allocated is +called {\em region inference}. Region inference inserts several forms of memory +management directives as directives into the program. The target language of +region inference is called +% +\index{RegExp@$\RegExp$} +% $\RegExp$. -In $\RegExp$, region allocation and de-allocation are explicit, they -are always paired, and they follow the syntactical structure of the -source program. If $e$ is an expression in $\RegExp$, then so is -\index{let region@\texttt{let region}}% -$$\boxml{let region $\rho$ in $e$ end}$$ +In $\RegExp$, region allocation and de-allocation are explicit, they are always +paired, and they follow the syntactical structure of the source program. If $e$ +is an expression in $\RegExp$, then so is% +% +\index{let region@\texttt{let region}} +% +\begin{center} + \lstinline!let region $\rho$ in $e$ end! +\end{center} Here $\rho$ is a -\index{region variable}% -{\em region variable}. At runtime, first a region is allocated and -bound to $\rho$. Then $e$ is evaluated, presumably using the region -bound to $\rho$ for storing values. Upon reaching {\tt end}, the -program pops the region. +% +\index{region variable} +% +{\em region variable}. At runtime, first a region is allocated and bound to +$\rho$. Then $e$ is evaluated, presumably using the region bound to $\rho$ for +storing values. Upon reaching \lstinline{end}, the program pops the region. -Region inference also decides, for each value-producing expression, -into which region (identified by a region variable) the value will be -put. +Region inference also decides, for each value-producing expression, into which +region (identified by a region variable) the value will be put. -We emphasize that region variables and {\tt region} bindings are -not present in source programs. The source language is unadulterated -Standard ML, so programs that run on the MLKit should be easy to port to -any other Standard ML implementation. +We emphasise that region variables and \lstinline{region} bindings are not present in +source programs. The source language is unadulterated Standard ML, so programs +that run on the MLKit should be easy to port to any other Standard ML +implementation. %Conceptually, there is also a normal runtime stack, which holds temporary values, %return addresses and so on, but in practice the two stacks are merged into one, which @@ -1063,66 +1150,64 @@ \section{Allocation and De-Allocation of Regions} \section{Two Backends} \index{backend!native}% \index{backend!bytecode}% -% -The MLKit provides two different backends, one that generates native -code for the x64 architecture (running Linux or macOS), the {\em - native backend\/} and one that generates JavaScript -\cite{10.1145/2093328.2093336}.\footnote{Previous versions of the - MLKit also supported a bytecode backend that allowed for generated - bytecode to be executed by a region based abstract machine - \cite{kam02} and which was used in the context of a web-server - plugin for Standard ML code \cite{eh03,smlserver07}; support for this backend has terminated, however.} - -Whereas the native x64 backend makes use of regions as its basic -memory management discipline, SMLtoJs compiles Standard ML programs to -JavaScript and makes use of JavaScript's garbage collection mechanisms -for allocating and deallocating memory. In this report, we shall only -be concerned about the native backend, for which the linear address -space is partitioned into a stack and a heap, which holds region -pages, all of the same size.\footnote{With the exception that objects - that do not fit into a page are allocated using \texttt{malloc} and - freed with \texttt{free}.} - -For the x64 native backend, programs compile into a sequence of -instructions, for example for moving word-size data between two -registers or between a register and a memory location. More complex -operations, such as function application, are expressed by sequences -of more detailed instructions. The native backend implements Iterated -Register Allocation \cite{appel96} for assigning machine registers to -temporary variables, using the runtime stack for spilling. Although -register allocation as well as other issues, such as the interaction -between hardware cache strategies and code selection, are important -for generating efficient code on modern architectures, we do not -want to go to that level of detail here. Our primary concern is with -establishing a model that the user can safely use as a worst-case -model of what happens at runtime. + +The MLKit provides two different backends, one that generates native code for +the x64 architecture (running Linux or macOS), the {\em native backend\/} and +one that generates JavaScript \cite{10.1145/2093328.2093336}.\footnote{Previous +versions of the MLKit also supported a bytecode backend that allowed for +generated bytecode to be executed by a region based abstract machine +\cite{kam02} and which was used in the context of a web-server plugin for +Standard ML code \cite{eh03,smlserver07}; support for this backend has +terminated, however.} + +Whereas the native x64 backend makes use of regions as its basic memory +management discipline, SMLtoJs compiles Standard ML programs to JavaScript and +makes use of JavaScript's garbage collection mechanisms for allocating and +deallocating memory. In this report, we shall only be concerned about the native +backend, for which the linear address space is partitioned into a stack and a +heap, which holds region pages, all of the same size.\footnote{With the +exception that objects that do not fit into a page are allocated using +\boxml{malloc} and freed with \boxml{free}.} + +For the x64 native backend, programs compile into a sequence of instructions, +for example for moving word-size data between two registers or between a +register and a memory location. More complex operations, such as function +application, are expressed by sequences of more detailed instructions. The +native backend implements Iterated Register Allocation \cite{appel96} for +assigning machine registers to temporary variables, using the runtime stack for +spilling. Although register allocation as well as other issues, such as the +interaction between hardware cache strategies and code selection, are important +for generating efficient code on modern architectures, we do not want to go to +that level of detail here. Our primary concern is with establishing a model that +the user can safely use as a worst-case model of what happens at runtime. \section{Boxed and Unboxed Values} \label{boxing.sec} \index{boxing}% \index{value!boxed}% \index{value!unboxed}% -As is common with implementations of programming languages, we -distinguish between {\em boxed\/} and {\em unboxed\/} representation -of values. An {\em unboxed\/} value is one that is stored in a -register or a machine word. A {\em boxed value\/} is one that is -represented by a word-size pointer to the value itself, which is -stored in one or more regions. - -The MLKit uses unboxed representation for integers, booleans, words, the -unit value, and characters. The MLKit uses boxed representation for -pairs, records (with at least one element), reals, exception values, -function closures, and constructed values (i.e., data types, except -lists and booleans). - -A boxed value may reside in a finite or an infinite region. Unboxed -values are not stored in regions, except when they are part of a boxed -value. For example, the integer \boxml{3} by itself is stored as the -(binary representation) of the value 3 in a register or in a machine -word. However, the pair \boxml{(3,4)} is represented as a pointer to -two consecutive words in a region, the first of which contains the -binary representation of 3 and the second of which contains the binary -representation of 4. + +As is common with implementations of programming languages, we distinguish +between {\em boxed\/} and {\em unboxed\/} representations of values. An {\em + unboxed\/} value is one that fits in one machine word (i.e., 64 bits) without +being represented as a pointer to allocated data for the value. A {\em boxed + value\/}, on the other hand, is one that is represented by a word-sized pointer +to the value itself, which is stored in one or more regions. + +The MLKit uses unboxed representation for integers, booleans, words, the unit +value, and characters. The MLKit uses boxed representation for pairs, records +(with at least one element), reals, exception values, function closures, and +many constructed values (i.e., data types). Some data types, such as lists and +booleans, are represented unboxed, however, which is possible by using the lower +and higher bits in pointers to discriminate between the constructed values. + +A boxed value may reside in a finite or an infinite region. Unboxed values are +not stored in regions, except when they are part of a boxed value. For example, +the integer \lstinline{3} by itself is stored as the (binary representation) of the +value 3 in a register or in a machine word. However, the pair \lstinline{(3,4)} is +represented as a pointer to two consecutive words in a region, the first of +which contains the binary representation of 3 and the second of which contains +the binary representation of 4. \section{Intermediate Languages} The MLKit native compiler compiles Standard ML programs via a sequence @@ -1132,168 +1217,193 @@ \section{Intermediate Languages} (in the order in which they are used in the compilation process): \begin{description} \item[\Lam:] - \index{Lambda@$\Lam$}% - A lambda-calculus like intermediate language. The main difference - between the Standard ML Core Language and $\Lam$ is that $\Lam$ only - has trivial patterns and allows functions to take -\index{arguments!multiple}% -\index{multiple function arguments}% -\index{function arguments!multiple}% + % + \index{Lambda@$\Lam$} + % + A lambda-calculus like intermediate language. The main difference between the + Standard ML Core Language and $\Lam$ is that $\Lam$ only has trivial patterns + and allows functions to take + % + \index{arguments!multiple}% + \index{multiple function arguments}% + \index{function arguments!multiple}% + % multiple arguments. \item[\RegExp:] - \index{RegExp@$\RegExp$}% - Same as \Lam, but with explicit region annotations (such as the {\tt - region} bindings mentioned in Section~\ref{aldeal.sec}). Region - variables have their runtime type (Section~\ref{runtimetypes.sec}) - as an attribute, although, for brevity, the pretty printer omits - runtime types when printing expressions, unless instructed - otherwise. + % + \index{RegExp@$\RegExp$} + % + Same as \Lam, but with explicit region annotations (such as the \lstinline{region} + bindings mentioned in Section~\ref{aldeal.sec}). Region variables have their + runtime type (Section~\ref{runtimetypes.sec}) as an attribute, although, for + brevity, the pretty printer omits runtime types when printing expressions, + unless instructed otherwise. \item[\MulExp:] - \index{MulExp@$\MulExp$}% - Same as $\RegExp$, but now every binding region variable occurrence - is also annotated with a multiplicity (Section~\ref{fininf.sec}) in - addition to a runtime type. Again, the default is that the runtime - type is not printed. The terms of $\MulExp$ are polymorphic in the - information that annotate the nodes of the terms. That way, - $\MulExp$ can be used as a common intermediate language for a number - of the internal analyses of the compiler, which add more and more - information on the syntax tree. The analysis that computes + % + \index{MulExp@$\MulExp$} + % + Same as $\RegExp$, but now every binding region variable occurrence is also + annotated with a multiplicity (Section~\ref{fininf.sec}) in addition to a + runtime type. Again, the default is that the runtime type is not printed. + The terms of $\MulExp$ are polymorphic in the information that annotate the + nodes of the terms. That way, $\MulExp$ can be used as a common intermediate + language for a number of the internal analyses of the compiler, which add more + and more information on the syntax tree. The analysis that computes multiplicities is called the - \index{multiplicity analysis}% + % + \index{multiplicity analysis} + % {\em multiplicity analysis}. \end{description} -%The MLKit compiles SML records into $\Lam$-tuples and compiles -%SML-matches and other constructs containing patterns -%into simpler $\Lam$-constructs. +The MLKit compiles Standard ML records into $\Lam$-tuples and it compiles +Standard ML match expressions and other constructs containing patterns into +simpler $\Lam$-constructs. The MLKit contains a -\index{Lambda optimiser}% -$\Lam$ optimiser, which will happily rewrite $\Lam$ terms when it is -clear that this rewrite results in faster programs (as long as the -rewrite cannot lead to increased space usage). - -Region inference takes $\Lam$ to be the source language. Region -inference happens after the $\Lam$ optimiser has had a go at the -$\Lam$ term. Therefore, it was not really true when we said that -region inference simply annotates source programs; we ignored the -translation from SML to $\Lam$ and the $\Lam$ optimiser. Thus, one has -to get used to (mostly minor) differences between the source language -and the intermediate languages of the compiler if one wants to read -programs in their intermediate forms. Moreover, -\index{Standard ML!Modules}% +% +\index{Lambda optimiser} +% +$\Lam$ optimiser, which will happily rewrite $\Lam$ terms when it is clear that +this rewrite results in faster programs (as long as the rewrite cannot lead to +increased space usage). + +Region inference takes $\Lam$ to be the source language. Region inference +happens after the $\Lam$ optimiser has had a go at the $\Lam$ term. Therefore, +it was not really true when we said that region inference simply annotates +source programs; we ignored the translation from SML to $\Lam$ and the $\Lam$ +optimiser. Thus, one has to get used to (mostly minor) differences between the +source language and the intermediate languages of the compiler if one wants to +read programs in their intermediate forms. Moreover, +% +\index{Standard ML!Modules} +% Modules Language constructs are eliminated during compilation from the -intermediate languages (see Chapter~\ref{mlb_and_modules.chap} -for details of compiling with Modules in the MLKit). +intermediate languages (see Chapter~\ref{mlb_and_modules.chap} for details of +compiling with Modules in the MLKit). -When we want to show the result of the analyses, we usually show a -$\MulExp$ expression. +When we want to show the result of the analyses, we usually show a $\MulExp$ +expression. \section{The Runtime System} The -\index{runtime system}% -runtime system is written in C. It is small (less than 30Kb of code -when compiled). It contains operations for allocating and -de-allocating regions, extending regions, obtaining more space from -the operating system, recording region profiling information, and -performing low-level operations for use by the Standard ML Basis -Library. +% +\index{runtime system} +% +runtime system is written in C. It is small (less than 30Kb of code when +compiled). It contains operations for allocating and de-allocating regions, +extending regions, obtaining more space from the operating system, recording +region profiling information, and performing low-level operations for use by the +Standard ML Basis Library. It is possible to call -\index{C!calling}% -C functions from MLKit code if you use the native backend. The MLKit -takes care of the memory allocation, by allocating regions for the -result of the call before the call and de-allocating the regions at -some point after the call. The C functions can build ML data -structures such as lists through abstract operations provided by the -MLKit runtime system. See Chapter~\ref{ccall.sec} for further details. +% +\index{C!calling} +% +C functions from MLKit code if you use the native backend. The MLKit takes care +of the memory allocation, by allocating regions for the result of the call +before the call and de-allocating the regions at some point after the call. The +C functions can build ML data structures such as lists through abstract +operations provided by the MLKit runtime system. See Chapter~\ref{ccall.sec} for +further details. \section{Compiling Programs with the MLKit} \label{tryit.sec} The MLKit is a -\index{batch compilation}% -batch compiler. Thus, executing a program consists of first compiling -the program and then running the generated target program. Because the -MLKit stores files in the directories where your source files are -located, you should make a personal copy of these directories. Before -you try any of the examples below, make a personal copy of the {\tt - kitdemo} directory, which is part of the distribution, and run the -MLKit on your own copy. +% +\index{batch compilation} +% +batch compiler. Thus, executing a program consists of first compiling the +program and then running the generated target program. Because the MLKit stores +files in the directories where your source files are located, you should make a +personal copy of these directories. Before you try any of the examples below, +make a personal copy of the \lstinline{kitdemo} directory, which is part of the +distribution, and run the MLKit on your own copy. \section{Compiling with the MLKit Compiler} The mechanism the MLKit provides for compiling programs is to give the program source(s) as argument to the MLKit command -\index{mlkit@\texttt{mlkit}!executable}% -\texttt{mlkit}. Together with the sources, a series of options may be -passed to the \texttt{mlkit} command. Let us assume that the UNIX -command \texttt{mlkit} is available on your system.\footnote{The {\tt - README} file in the distribution tells you how to install the - MLKit.} +% +\index{mlkit@\texttt{mlkit}!executable} +% +\inline{mlkit}. Together with the sources, a series of options may be passed to +the \inline{mlkit} command. Let us assume that the UNIX command \inline{mlkit} +is available on your system.\footnote{The \boxml{README} file in the distribution +tells you how to install the MLKit.} Compiling an -\index{MLB-file}% -MLB-file (which may list several SML source files) is -similar to compiling a single SML source file. However, we shall -postpone the in-depth discussion of how to compile MLB-files to -Chapter~\ref{mlb_and_modules.chap}. - -As an example, to compile the file \boxml{projection.sml} located in -the \texttt{kitdemo} directory, first go to this directory and execute -the following command: -\begin{verbatim} +% +\index{MLB-file} +% +MLB-file (which may list several SML source files) is similar to compiling a +single SML source file. However, we shall postpone the in-depth discussion of +how to compile MLB-files to Chapter~\ref{mlb_and_modules.chap}. + +As an example, to compile the file \inline{projection.sml} located in the +\inline{kitdemo} directory, first go to this directory and execute the following +command: +\begin{scriptcode}[mathescape=false] $ mlkit -no_gc projection.sml -\end{verbatim} -Execution of this command will result in an executable file -\texttt{run}, placed in the \texttt{kitdemo} directory. - -To see some internal representations of the \texttt{projection.sml} -program, as produced during compilation, try pass the command-line -options \boxml{--print\_types} and -\boxml{--print\_drop\_regions\_expression} to the \texttt{mlkit} -command, as follows: -\begin{verbatim} +\end{scriptcode} +Execution of this command will result in an executable file \inline{run}, placed +in the \inline{kitdemo} directory. + +To see some internal representations of the \inline{projection.sml} program, as +produced during compilation, try pass the command-line options +\lstinline{-print_types} and \lstinline{-print_drop_regions_expression} to the +\lstinline{mlkit} command, as follows: +\begin{scriptcode}[mathescape=false] $ rm -rf MLB $ mlkit -no_gc \ -print_types \ -print_drop_regions_expression \ projection.sml -\end{verbatim} -Removing the \texttt{MLB} directory is necessary to avoid the MLKit to -recognise that it can reuse the previous result of compiling the -\texttt{projection.sml} program. A shorter version of the compilation -command is -\begin{verbatim} +\end{scriptcode} +Removing the \inline{MLB} directory is necessary to avoid the MLKit to recognise +that it can reuse the previous result of compiling the \inline{projection.sml} +program. A shorter version of the compilation command is +\begin{scriptcode}[mathescape=false] $ mlkit -no_gc -Ptypes -Pdre projection.sml -\end{verbatim} -To get more information about which options you can pass to the MLKit -at the command-line, try executing \boxml{mlkit -help}. The output of -executing this command is shown in Appendix~\ref{mlkithelp.app}. +\end{scriptcode} +To get more information about which options you can pass to the MLKit at the +command-line, try executing \lstinline{mlkit -help}. The output of executing +this command is shown in Appendix~\ref{mlkithelp.app}. For instance, you may add +the flag \lstinline{-w 40} to specify that MLKit should pretty-print output +using a width of 40 character columns. \section{Running Compiled Programs} If no errors were found during compilation, the MLKit produces a -\index{target program}% -{\em target program} in the form of an executable file, called {\tt - run}. The MLKit places {\tt run} in the working directory. +% +\index{target program} +% +{\em target program} in the form of an executable file, called \lstinline{run}. The +MLKit places \lstinline{run} in the working directory. Running the target program is done from the UNIX shell by typing -\index{run@\texttt{run}}% -\begin{verbatim} +% +\index{run@\texttt{run}} +% +\begin{scriptcode} $ ./run -\end{verbatim} -For small programs, the file will probably be around 50Kb large, even -for the trivial examples considered in this chapter. This is because -it contains the MLKit runtime system and compiled code for the parts of -the SML Basis Library that are needed for linking. - -Running the programs presented in this chapter is not particularly -exciting, because none of them produce output! However, as an -exercise, try compile and execute the -\index{hello world@\texttt{hello world}}% -{\tt helloworld.sml} program, which, like all other example files in -this document, is located in the -\index{kitdemo directory@\texttt{kitdemo} directory}% -{\tt kitdemo} directory. +\end{scriptcode} +For small programs, the file will probably be around 250Kb large, even for the +trivial examples considered in this chapter. This is because it contains the +MLKit runtime system and compiled code for the parts of the SML Basis Library +that are needed for linking. + +Running the programs presented in this chapter is not particularly exciting, +because none of them produce output! However, as an exercise, try compile and +execute the +% +\index{hello world@\texttt{hello world}} +% +\inline{helloworld.sml} program, which, like all other example files in this +document, is located in the +% +\index{kitdemo directory@\texttt{kitdemo} directory} +% +\lstinline{kitdemo} directory. \part{The Language Constructs of SML} @@ -1304,262 +1414,305 @@ \chapter{Records and Tuples} \label{records.sec} %--------------------------------------------------------- In this chapter we describe construction of -\index{record}% -records and selection of record components. We also use records to -introduce -\index{type!region-annotated}% +% +\index{record} +% +records and selection of record components. We also use records to introduce +% +\index{type!region-annotated} +% {\em region-annotated types} and -\index{effect}% -{\em effects}, which are crucial for understanding when regions are -allocated and de-allocated. +% +\index{effect} +% +{\em effects}, which are crucial for understanding when regions are allocated +and de-allocated. \section{Syntax} + As part of the SML to -\index{Lambda@$\Lam$}% -$\Lam$ translation, all SML records and SML tuples are compiled into -$\Lam$ tuples. The components of $\Lam$ tuples are numbered from left -to right, starting from 0. Selection is a primitive operation, both -in $\Lam$ and in the other intermediate languages. This primitive is -printed using SML notation \boxml{\#$i$}. Components are numbered from -0: the $i$th components of a tuple of type -$\tau_1\ast\ldots\ast\tau_n$ is accessed by \boxml{\#$i$}, for $0\leq +% +\index{Lambda@$\Lam$} +% +$\Lam$ translation, all SML records and SML tuples are compiled into $\Lam$ +tuples. The components of $\Lam$ tuples are numbered from left to right, +starting from 0. Selection is a primitive operation, both in $\Lam$ and in the +other intermediate languages. This primitive is printed using SML notation +\lstinline!#$i$!. Components are numbered from 0: the $i$th components of a tuple +of type $\tau_1\ast\ldots\ast\tau_n$ is accessed by \lstinline!#$i$!, for $0\leq i\leq n-1$. The tuple constructor in $\Lam$ is written as in SML: -$$\boxml{(}e_1\boxml{,}\ldots\boxml{,}e_n\boxml{)}$$ +\begin{center} + \lstinline!($e_1$, $\ldots$, $e_n$)! +\end{center} However, the corresponding expression in $\RegExp$ and $\MulExp$ takes the form -$$\boxml{(}e_1\boxml{,}\ldots\boxml{,}e_n\boxml{)}\,\at\,\rho$$ +\begin{center} + \lstinline!($e_1$, $\ldots$, $e_n$) at $\rho$! +\end{center} +% \index{at@\texttt{at}}% +% where $\rho$ is a -\index{region variable}% -region variable indicating where the tuple should be put. In the case -$n=0$, the $\at\,\rho$ is not printed, because the empty tuple is not -allocated; it is just a constant that fits in a -\index{register}% +% +\index{region variable} +% +region variable indicating where the tuple should be put. In the case $n=0$, +the \lstinline!at $\rho$! is not printed, because the empty tuple is not allocated; it is +just a constant that fits in a +% +\index{register} +% register at runtime. Records are evaluated left to right. \section{Example: Basic Record Operations} \label{proj.ex} + Consider the source program -\begin{verbatim} +\begin{smlcode} val xy = ((),()) val x = #1 xy; -\end{verbatim} +\end{smlcode} Here is the resulting $\MulExp$ program:\footnote{Program \boxml{kitdemo/projection.sml}. Running programs is described in - Section~\ref{tryit.sec}.} -\begin{verbatim} + Section~\ref{tryit.sec}, including how to print intermediate language representations.} +\begin{smlcode} let val xy = ((), ())at r4; val x = #0 xy in {|xy: (_,r4), x: _|} end -\end{verbatim} +\end{smlcode} There are several things to notice from this example. \begin{enumerate} -\item The $\MulExp$ program contains a free region variable, {\tt r4}. - Notice that the construction of the pair {\tt xy} has been annotated - by ``{\tt at r4}'', indicating where the pair should be put; -\item The expression \verb+{|xy: (_,r4), x: _|}+ is an example of a - \index{frame}% - {\em frame expression}. A frame enumerates the components that are - exported from a compilation unit. A frame is similar to a record, - except that its components are variables, each annotated with a type - scheme and a region variable, if the value is boxed. (In records, the components can only - have types, not general type schemes.) In the example, the type of - the frame is \verb+{|xy: (unit*unit, r4), x: unit|}+. - % (Regions of unboxed elements are not printed, since unboxed values - % are not allocated in regions.) - The type shows that, after the program unit has been evaluated, - \boxml{xy} will reside in \boxml{r4}. In the the above example, - printing of types was suppressed. Thus types were abbreviated to - \boxml{\_}. +\item The $\MulExp$ program contains a free region variable, \lstinline{r4}. + Notice that the construction of the pair \lstinline{xy} has been annotated by + ``\lstinline{at r4}'', indicating where the pair should be put; +\item The expression \lstinline+{|xy: (_,r4), x: _|}+ is an example of a + % + \index{frame} + % + {\em frame expression}. A frame enumerates the components that are exported + from a compilation unit. A frame is similar to a record, except that its + components are variables, each annotated with a type scheme and a region + variable, if the value is boxed. (In records, the components can only have + types, not general type schemes.) In the example, the type of the frame is + \lstinline+{|xy: (unit*unit, r4), x: unit|}+. The type shows that, after the + program unit has been evaluated, \lstinline{xy} will reside in \lstinline{r4}. In the + the above example, printing of types was suppressed. Thus types were + abbreviated to \lstinline{_}. \end{enumerate} + \section{Region-Annotated Types} \label{reganntypes.sec} + ML type inference infers a type for every expression in the program. Region inference extends this idea by inferring for each expression a +% \index{type with place}% -\index{region-annotated type}% +\index{region-annotated type} +% {\em (region-annotated) type with place}. We use $\mu$ to range over types with places -$$\mu ~~ ::= ~~ (\tau,\rho)~~|~~\tau$$ -where $\tau$ is a {\em region-annotated type}, -which again can contain other region-annotated types with places. The -region-annotated type with place of an expression is the ML type of -the expression decorated with extra region information; every type -constructor that represents boxed values (e.g., pairs and strings) is -paired with a region variable, indicating where the value is to be put -at runtime. Type constructors that represents unboxed values (e.g., -integers and booleans) are not paired with a region. +$$\mu ~~ ::= ~~ (\tau,\rho)~~|~~\tau$$ where $\tau$ is a {\em region-annotated + type}, which again can contain other region-annotated types with places. The +region-annotated type with place of an expression is the ML type of the +expression decorated with extra region information; every type constructor that +represents boxed values (e.g., pairs and strings) is paired with a region +variable, indicating where the value is to be put at runtime. Type constructors +that represents unboxed values (e.g., integers and booleans) are not paired with +a region. +% \index{boxing}% \index{value!boxed}% \index{value!unboxed}% Here are some examples of region-annotated types with places: \begin{description} -\item[\fbox{$\boxml{unit}$}] The type of 0-tuples. Integers, - booleans, and 0-tuples are represented - \index{boxing}% +\item[\fbox{$\boxml{unit}$}] The type of 0-tuples. Integers, booleans, and + 0-tuples are represented + % + \index{boxing} + % unboxed at runtime (rather than being stored in regions), see Section~\ref{boxing.sec}. -\item[\fbox{$(\boxml{string}, \rho)$}] The type of strings in region - $\rho$. -\item[\fbox{$\bigl(\boxml{int} \ast (\boxml{string}, \rho_1), - \rho_2\bigr)$}] The type of pairs in $\rho_2$ whose first - component is an integer and whose second component is a string in - region $\rho_1$. +\item[\fbox{$(\boxml{string}, \rho)$}] The type of strings in region $\rho$. +\item[\fbox{$\bigl(\boxml{int} \ast (\boxml{string}, \rho_1), \rho_2\bigr)$}] + The type of pairs in $\rho_2$ whose first component is an integer and whose + second component is a string in region $\rho_1$. \end{description} -One can get the MLKit to print the region-annotated types with places -that it infers for binding occurrences of variables. The above -example then becomes -\begin{verbatim} +One can get the MLKit to print the region-annotated types with places that it +infers for binding occurrences of variables. The above example then becomes +\begin{smlcode} let val xy:(unit*unit,r4) = ((), ())at r4; val x:unit = #0 xy in {|xy: (unit*unit,r4), x: unit|} end -\end{verbatim} +\end{smlcode} -\section{Effects and \texttt{let region}} +\section{Effects and Regions} \label{effects.sec} -We now describe the general principle that the MLKit uses to decide when -it is safe to put -\index{let region@\texttt{let region}}% -\boxml{region} binding around an expression. -Here is an example of an SML program that first creates a pair and -then selects a component of the pair, after which the pair is -garbage:\footnote{Program \boxml{kitdemo/elimpair.sml}.} -\begin{verbatim} - val n = let - val pair = if true then (3+4, 4+5) - else (4, 5) - in - #1 pair +We now describe the general principle that the MLKit uses to decide when it is +safe to put +% +\index{let region@\texttt{let region}} +% +\lstinline{region} binding around an expression. + +Here is an example of an SML program that first creates a pair and then selects +a component of the pair, after which the pair is garbage:\footnote{Program +\boxml{kitdemo/elimpair.sml}. To avoid constant case-folding, one need to pass the option \boxml{-no\_cfold} to the MLKit: +\boxml{mlkit -no\_gc -no\_cfold -Pdre elimpair.sml}.} +\begin{smlcode} + val n = let val pair = if true then (3+4, 4+5) + else (4, 5) + in #1 pair end -\end{verbatim} +\end{smlcode} The MLKit compiles the declaration into the $\MulExp$ program shown in -Figure~\ref{elimpair.fig}. The compiler compiles the program as it -is, without reducing the conditional to its {\tt then} branch. +Figure~\ref{elimpair.fig}. The compiler compiles the program as it is, without +reducing the conditional to its \lstinline{then} branch. \begin{figure} \hrule\medskip -\begin{verbatim} +\begin{smlcode} let val n = - let region r13:1; + let region r9:1; val pair = case true of - true => (3 + 4, 4 + 5)at r13 - | _ => (4, 5)at r13 + true => (3 + 4, 4 + 5)at r9 + | _ => (4, 5)at r9 in #0 pair end in {|n: _|} end -\end{verbatim} -\caption{Region inference decides that the pair is to be allocated - in a local, finite region; the region will be de-allocated as soon - as the pair becomes garbage.} +\end{smlcode} +\caption{Region inference decides that the pair is to be allocated in a local, + finite region; the region will be de-allocated as soon as the pair becomes + garbage.} \medskip\hrule \label{elimpair.fig} \end{figure} -During evaluation, a region (denoted by {\tt r13}) is introduced before -the pair is allocated; it remains on the region stack until the -projection of the pair is evaluated, after which the region is -de-allocated. - -The ``{\tt :1}'' on the binding occurrences of {\tt r13} is a -multiplicity indicating that there is only one store operation into -the region. (The -\index{multiplicity analysis}% -multiplicity analysis has discovered that there is at most one store -from the {\tt then} branch and at most one store from the {\tt else} -branch and that at most one of the branches will be chosen.) Thus, the -pair will be allocated in a little region on the runtime stack. +During evaluation, a region (denoted by \lstinline{r9}) is introduced before the pair +is allocated; it remains on the region stack until the projection of the pair is +evaluated, after which the region is de-allocated. + +The ``\lstinline{:1}'' on the binding occurrences of \lstinline{r9} is a multiplicity +indicating that there is only one store operation into the region. (The +% +\index{multiplicity analysis} +% +multiplicity analysis has discovered that there is at most one store from the +\lstinline{then} branch and at most one store from the \lstinline{else} branch and that at +most one of the branches will be chosen.) Thus, the pair will be allocated in a +little region on the runtime stack. But how does the MLKit know that it is safe to -\index{region!de-allocation}% -de-allocate {\tt r13} when the -\index{region@\texttt{region}}% +% +\index{region!de-allocation} +% +de-allocate \lstinline{r9} when the +% +\index{region@\texttt{region}} +% region goes out of scope? The answer lies in the fact that the MLKit infers for every expression not just a region-annotated type with place, but also a so-called -\index{effect}% +% +\index{effect} +% {\em effect}. An effect is a finite set of -\index{effect!atomic}% +% +\index{effect!atomic} +% atomic effects. Two forms of atomic effect are -\index{put@{$\Put$}}% +% +\index{put@{$\Put$}} +% $\Put(\rho)$ and -\index{get@{$\Get$}}% -$\Get(\rho)$, where $\rho$ as usual ranges over region variables. The -atomic effect $\Put(\rho)$ indicates that a value is being stored in -region $\rho$ and $\Get(\rho)$ indicates that a value is being read -from region $\rho$. In our example, the region inference algorithm -considers the sub-expression ($e_0=$) -\begin{verbatim} +% +\index{get@{$\Get$}} +% +$\Get(\rho)$, where $\rho$ as usual ranges over region variables. The atomic +effect $\Put(\rho)$ indicates that a value is being stored in region $\rho$ and +$\Get(\rho)$ indicates that a value is being read from region $\rho$. In our +example, the region inference algorithm considers the sub-expression ($e_0=$) +\begin{smlcode} let val pair = case true of - true => (3 + 4, 4 + 5)at r13 - | _ => (4, 5)at r13 + true => (3 + 4, 4 + 5)at r9 + | _ => (4, 5)at r9 in #0 pair end -\end{verbatim} -and finds that it has region-annotated type $\boxml{int}$ and effect -$\{\Put(\boxml{r13}), \Get(\boxml{r13})\}$. - -Whenever a region variable occurs free in the effect of an expression -but occurs free neither in the region-annotated type with place of the -expression nor in the type of any program variable that occurs free in -the expression then that region variable denotes a region that is used -only locally within the expression. That this is true is of course -far from trivial, but it has been proved for a skeletal version of -$\RegExp$. Consequently, when this condition is met, the region -inference algorithm wraps a -\index{let region@\texttt{let region}}% -\texttt{region} binding of the region variable around that expression. +\end{smlcode} +and finds that it has region-annotated type \lstinline{int} and effect +$\{\Put(\boxml{r9}), \Get(\boxml{r9})\}$. + +Whenever a region variable occurs free in the effect of an expression but occurs +free neither in the region-annotated type with place of the expression nor in +the type of any program variable that occurs free in the expression then that +region variable denotes a region that is used only locally within the +expression. That this is true is of course far from trivial, but it has been +proved for a skeletal version of $\RegExp$. Consequently, when this condition +is met, the region inference algorithm wraps a +% +\index{let region@\texttt{let region}} +% +\lstinline{region} binding of the region variable around that expression. -In our example, there are no free variables in $e_0$; moreover, -$\boxml{r13}$ occurs in the effect of $e_0$ but not in the -region-annotated type with place of $e_0$. Thus, the region inference -algorithm inserts a \texttt{region} binding of $\boxml{r13}$ around -$e_0$. +In our example, there are no free variables in $e_0$; moreover, \lstinline{r9} +occurs in the effect of $e_0$ but not in the region-annotated type with place of +$e_0$. Thus, the region inference algorithm inserts a \lstinline{region} binding of +\lstinline{r9} around $e_0$. \section{Runtime Representation} A -\index{record!runtime representation of}% +% +\index{record!runtime representation of} +% record with 0 components (the value of type -\index{unit@\texttt{unit}}% -{\tt unit}) is represented unboxed. A record with $n$ components -($n\geq 1$) is represented boxed, as a pointer to precisely $n$ words -in a region.\footnote{When garbage collection (GC) is enabled, $n+1$ - words are used to hold a record with $n$ components.} Notice that -records are not tagged. Avoiding tags is possible when the reference -tracing garbage collector is disabled, because -\index{equality!polymorphic}% +% +\index{unit@\texttt{unit}} +% +\lstinline{unit}) is represented unboxed. A record with $n$ components ($n\geq 1$) is +represented boxed, as a pointer to precisely $n$ words in a +region.\footnote{When garbage collection (GC) is enabled, $n+1$ words are used +to hold a record with $n$ components.} Notice that records are not +tagged. Avoiding tags is possible when the reference tracing garbage collector +is disabled, because +% +\index{equality!polymorphic} +% polymorphic equality is compiled into -\index{equality!monomorphic}% -monomorphic equality functions that do not have to examine the type of -objects at runtime \cite{ElsmanTIC98}. +% +\index{equality!monomorphic} +% +monomorphic equality functions that do not have to examine the type of objects +at runtime \cite{ElsmanTIC98}. -$\Lam$, $\RegExp$, and $\MulExp$ allow one to express unboxed tuples, -also in the case of function calls and returns. For functions that -take a tuple as parameter, the MLKit passes the argument tuple unboxed +$\Lam$, $\RegExp$, and $\MulExp$ allow one to express unboxed tuples, also in +the case of function calls and returns. For functions that take a tuple as +parameter, the MLKit passes the argument tuple unboxed +% \index{arguments!multiple}% \index{multiple function arguments}% \index{function arguments!multiple}% \index{record!unboxed}% -if it can see that the boxed representation of the tuple is not needed -by the function. The MLKit does not at present unbox records returned -from functions. See Section~\ref{region-polymorphic-functions.sec} on -page~\pageref{region-polymorphic-functions.sec} for details about -unboxed function arguments. +% +if it can see that the boxed representation of the tuple is not needed by the +function. The MLKit does not at present unbox records returned from +functions. See Section~\ref{region-polymorphic-functions.sec} on +page~\pageref{region-polymorphic-functions.sec} for details about unboxed +function arguments. A tuple is not allocated until its components have been evaluated. -When reference-tracing garbage collections is enabled, records and -tuples are tagged unless they are of size two or three (pairs or -triples), in which case they will reside in regions of runtime type -{\sc pair\_rt} or {\sc triple\_rt}, respectively. Such regions are -treated specially by the reference-tracing garbage collector. +When reference-tracing garbage collection is enabled, records and tuples are +tagged (with an extra tag-word) unless they are of size two or three (pairs or +triples), in which case they will reside in regions of runtime type {\sc + pair\_rt} or {\sc triple\_rt}, respectively. Such regions are treated +specially by the reference-tracing garbage collector. %--------------------------------------------------------- \chapter{Basic Values} @@ -1567,47 +1720,63 @@ \chapter{Basic Values} In this chapter we describe how basic values such as integers, reals, strings, and booleans are represented in the MLKit. The MLKit complies to the Definition of Standard ML (Revised) -\index{Standard ML!{1997 revision}}% -and to large parts of the Standard ML Basis -Library;\footnote{See the MLKit web site for a link to the Standard ML - Basis Library.} +% +\index{Standard ML!{1997 revision}} +% +and to large parts of the Standard ML Basis Library;\footnote{See the MLKit web +site for a link to the Standard ML Basis Library.} +% \index{Standard ML!{Basis Library}}% -\index{Basis Library}% -that is, as a programmer, you can refer to components of the Standard -ML Basis Library through the -\index{initial basis}% -{\em initial basis}, in which all programs are compiled. Throughout -this chapter, we introduce some of the top-level bindings that are -provided by the initial basis. +\index{Basis Library} +% +that is, as a programmer, you can refer to components of the Standard ML Basis +Library through the +% +\index{initial basis} +% +{\em initial basis}, in which all programs are compiled. Throughout this +chapter, we introduce some of the top-level bindings that are provided by the +initial basis. \section{Integers and Words} \label{integers.sec} + Values of type -\index{integer}% -{\tt int} are represented as unboxed 64-bit signed integers. When -reference tracing garbage collection is enabled in the MLKit, one bit is -used for tagging, thus in this case values of type {\tt int} are -really 63-bit signed integers; Chapter~\ref{gc.chap} describes how to -compile programs with garbage collection enabled. The structure {\tt - Int} provides many useful operations on integers of type {\tt - int}.\footnote{To see what operations are available in the {\tt Int} - structure, consult the file {\tt basis/INTEGER.sml}.} The MLKit -also defines the structures -\index{Int31 structure@{\tt Int31} structure}% -{\tt Int31}, -\index{Int32 structure@{\tt Int32} structure}% -{\tt Int32}, -\index{Int63 structure@{\tt Int63} structure}% -{\tt Int63}, and -\index{Int64 structure@{\tt Int64} structure}% -{\tt Int64} for operations on 31-bit, 32-bit integers, 63-bit, and 64-bit integers. When garbage collection is enabled, values of type {\tt - Int64.int} and {\tt Int32.int} (for historical reasons) are represented boxed, whereas values of type {\tt - Int31.int} and {\tt Int63.int} are represented unboxed. When garbage -collection is enabled, the structure {\tt Int} is identical to the -structure {\tt Int63}. When garbage collection is disabled, the -structure {\tt Int} is identical to the structure {\tt Int64}. +% +\index{integer} +% +\lstinline{int} are represented as unboxed 64-bit signed integers. When reference +tracing garbage collection is enabled in the MLKit, one bit is used for tagging, +thus in this case values of type \lstinline{int} are really 63-bit signed integers; +Chapter~\ref{gc.chap} describes how to compile programs with garbage collection +enabled. The structure \lstinline{Int} provides many useful operations on integers of +type \lstinline{int}.\footnote{To see what operations are available in the \boxml{Int} +structure, consult the file \boxml{basis/INTEGER.sml}.} The MLKit also defines +the structures +% +\index{Int31 structure@\lstinline{Int31} structure} +% +\lstinline{Int31}, +% +\index{Int32 structure@\lstinline{Int32} structure} +% +\lstinline{Int32}, +% +\index{Int63 structure@\lstinline{Int63} structure} +% +\lstinline{Int63}, and +% +\index{Int64 structure@\lstinline{Int64} structure} +% +\lstinline{Int64} for operations on 31-bit, 32-bit integers, 63-bit, and 64-bit +integers. When garbage collection is enabled, values of type \lstinline{Int64.int} and +\lstinline{Int32.int} (for historical reasons) are represented boxed, whereas values +of type \lstinline{Int31.int} and \lstinline{Int63.int} are represented unboxed. When +garbage collection is enabled, the structure \lstinline{Int} is identical to the +structure \lstinline{Int63}. When garbage collection is disabled, the structure \lstinline{Int} is identical to the structure \lstinline{Int64}. The following operations on integers are pre-defined at top level: +% \index{=@\texttt{=}}% \index{<>@\texttt{<>}}% \index{<@\texttt{<}}% @@ -1620,43 +1789,58 @@ \section{Integers and Words} \index{mod@\texttt{mod}}% \index{*@\texttt{*}}% \index{~@\verb+~+}% -\index{abs@\texttt{abs}}% -\begin{verbatim} - infix 4 = <> < > <= >= - infix 6 + - - infix 7 div mod * - val ~ : int -> int - val abs: int -> int -\end{verbatim} - -In fact, these operations are overloaded and will work on values of -other integer types as well, even on values of type {\tt IntInf.int}, -which denotes arbitrarily-sized integers. +\index{abs@\texttt{abs}} +% +\begin{smlcode} + infix 4 = <> < > <= >= + infix 6 + - + infix 7 div mod * + val ~ : int -> int + val abs : int -> int +\end{smlcode} + +In fact, these operations are overloaded and will work on values of other +integer types as well, even on values of type \lstinline{IntInf.int}, which denotes +arbitrarily-sized integers. Operations on 8-bit, 31-bit, 32-bit, 63-bit, and 64-bit unsigned words are available in the structures -\index{Word8 structure@{\tt Word8} structure}% -{\tt Word8}, -\index{Word31 structure@{\tt Word31} structure}% -{\tt Word31}, -\index{Word32 structure@{\tt Word32} structure}% -{\tt Word32}, -\index{Word63 structure@{\tt Word63} structure}% -{\tt Word63}, and -\index{Word64 structure@{\tt Word64} structure}% -{\tt Word64}. - -Similarly as for integers, when garbage collection is enabled, the -structure {\tt Word} is identical to the structure {\tt Word63} and -values of type {\tt Word64.word} are represented boxed. Contrary, -when garbage collection is disabled, the structure {\tt Word} is -identical to the structure {\tt Word64} and values of type {\tt - Word64.word} are represented unboxed. +% +\index{Word8 structure@\lstinline{Word8} structure} +% +\lstinline{Word8}, +% +\index{Word31 structure@\lstinline{Word31} structure} +% +\lstinline{Word31}, +% +\index{Word32 structure@\lstinline{Word32} structure} +% +\lstinline{Word32}, +% +\index{Word63 structure@\lstinline{Word63} structure} +% +\lstinline{Word63}, and +% +\index{Word64 structure@\lstinline{Word64} structure} +% +\lstinline{Word64}. + +Similarly as for integers, when garbage collection is enabled, the structure +\lstinline{Word} is identical to the structure \lstinline{Word63} and values of +type \lstinline{Word64.word} are represented boxed. Contrary, when garbage +collection is disabled, the structure \lstinline{Word} is identical to the +structure \lstinline{Word64} and values of type \lstinline{Word64.word} are +represented unboxed. \section{Reals} + The -\index{initial basis}% +% +\index{initial basis} +% initial basis provides the following top-level operations on reals: +% \index{=@\texttt{=}}% \index{<>@\texttt{<>}}% \index{<@\texttt{<}}% @@ -1673,43 +1857,57 @@ \section{Reals} \index{trunc@\texttt{trunc}}% \index{floor@\texttt{floor}}% \index{ceil@\texttt{ceil}}% -\index{round@\texttt{round}}% -\begin{verbatim} - infix 4 < > <= >= - infix 6 + - - infix 7 * / - val ~ : real -> real - val abs: real -> real - val real: int -> real +\index{round@\texttt{round}} +% +\begin{smlcode} + infix 4 < > <= >= + infix 6 + - + infix 7 * / + val ~ : real -> real + val abs : real -> real + val real : int -> real val trunc : real -> int val floor : real -> int - val ceil : real -> int + val ceil : real -> int val round : real -> int -\end{verbatim} -Values of type {\tt real} are implemented as 64-bit floating point -numbers. They are always boxed when they appear in data structures, that is, they are each represented as a pointer to -a 64-bit -\index{alignment}% +\end{smlcode} + +\noindent +Values of type \lstinline{real} are implemented as 64-bit floating point numbers. +They are always boxed when they appear in data structures, that is, they are +each represented as a pointer to a 64-bit +% +\index{alignment} +% word, which reside in a region of runtime type {\sc top\_rt}. -A real constant $c$ in the source program is translated into an -expression of the form -\index{at@\texttt{at}}% -$c\at\rho$, where $\rho$ is a region variable, indicating the region -into which the real will be stored. +A real constant $c$ in the source program is translated into an expression of +the form +% +\index{at@\texttt{at}} +% +\lstinline!$c$ at $\rho$!, where $\rho$ is a region variable, indicating the +region into which the real will be stored. -The structures {\tt Real} and {\tt Math} provide other useful -operations on reals.\footnote{Consult the files {\tt - basis/REAL.sml} and {\tt basis/MATH.sml}.} +The MLKit will do its best to eliminate regions holding reals by unboxing reals +and representing them in floating point registers or on the runtime stack. Thus, +in internal representations, MLKit distinguishes between (boxed) reals and +unboxed 64-bit floating point values (of type \lstinline{f64}). MLKit supports that +values of type \lstinline{f64} are passed to and returned from functions in +floating point registers. Values of type \lstinline{f64} may also be stored in +closures. -The MLKit will do its best to eliminate regions holding reals by -unboxing reals and representing them in floating point registers or on -the runtime stack. +The structures \inline{Real}, \inline{IEEEReal}, and \inline{Math} provide other +useful operations on reals.\footnote{Consult the files \boxml{basis/REAL.sig}, +\boxml{basis/IEEE\_REAL.sig}, and \boxml{basis/MATH.sig}.} \section{Characters and Strings} The -\index{initial basis}% +% +\index{initial basis} +% initial basis provides the following top-level operations on characters and strings: +% \index{=@\texttt{=}}% \index{^@\verb+^+}% \index{ord@\texttt{ord}}% @@ -1719,184 +1917,218 @@ \section{Characters and Strings} \index{explode@\texttt{explode}}% \index{implode@\texttt{implode}}% \index{concat@\texttt{concat}}% -\index{substring@\texttt{substring}}% -\begin{verbatim} - infix 4 = - infix 6 ^ - val ord: char -> int - val chr: int -> char - val str: char -> string - val size: string -> int - val explode: string -> char list - val implode: char list -> string - val ^ : string * string -> string - val concat: string list -> string - val substring: string * int * int -> string -\end{verbatim} -Characters are represented as 64-bit words, although only 8 bits are -used to store the character. Characters are always unboxed, also when -garbage collection is enabled. - -A string is represented by a 64-bit pointer into an infinite region. A -string is stored in a region page if it fits in the page; otherwise, -it is allocated using {\tt malloc} and linked with the region so that -it can be {\tt free}ed when the region is deallocated. The internal -string representation is completely transparent to the programmer, who -does not have to worry about the actual size of region -pages. Characters of a string takes up only 8 bits of memory each. The -size of a string is kept along with the characters that make up the -string. For compatibility with many C routines, the character sequence -is null-terminated. - -Calls of {\tt ord}, {\tt chr}, {\tt str}, and {\tt size} take constant -time and space. Calls of {\tt explode}, {\tt implode}, {\tt concat}, -{\tt substring}, and \verb+^+ take time and space proportional to the -sum of the size of their input and their output. +\index{substring@\texttt{substring}} +% +\begin{smlcode} + infix 4 = + infix 6 ^ + val ord : char -> int + val chr : int -> char + val str : char -> string + val size : string -> int + val explode : string -> char list + val implode : char list -> string + val ^ : string * string -> string + val concat : string list -> string + val substring : string * int * int -> string +\end{smlcode} + +\noindent +Characters are represented as 64-bit words, although only 8 bits are used to +store the character. Characters are always unboxed, also when garbage collection +is enabled. + +A string is represented by a 64-bit pointer into an infinite region. A string is +stored in a region page if it fits in the page; otherwise, it is allocated using +\inline{malloc} and linked with the region so that it can be \inline{free}ed +when the region is deallocated. The internal string representation is completely +transparent to the programmer, who does not have to worry about the actual size +of region pages. Characters of a string take up only 8 bits of memory each. The +size of a string is kept along with the characters that make up the string. For +compatibility with many C routines, the character sequence is null-terminated. + +Calls to \lstinline{ord}, \lstinline{chr}, \lstinline{str}, and \lstinline{size} +take constant time and space. Calls of \lstinline{explode}, +\lstinline{implode}, \lstinline{concat}, \lstinline{substring}, and +\lstinline!^! take time and space proportional to the sum of the size of their +input and their output. The string and character operations can raise exceptions, as detailed in the Standard ML Basis Library documentation. -The structures {\tt Char}, {\tt String}, {\tt CharVector}, {\tt Byte}, -and {\tt StringCvt} provide other useful operations on characters and -strings.\footnote{Consult {\tt basis/CHAR.sml}, {\tt - basis/STRING.sml}, {\tt basis/MONO\_VECTOR.sml}, {\tt - basis/BYTE.sig} and {\tt basis/STRING\_CVT.sml}.} +The structures \lstinline{Char}, \lstinline{String}, \lstinline{CharVector}, +\lstinline{Byte}, and \lstinline{StringCvt} provide other useful operations on +characters and strings.\footnote{Consult the files \boxml{basis/CHAR.sig}, +\boxml{basis/STRING.sig}, \boxml{basis/MONO\_VECTOR.sml}, +\boxml{basis/BYTE.sig}, and \boxml{basis/STRING\_CVT.sml}.} \section{Booleans} -The boolean values {\tt true} and {\tt false} are represented as -64-bit words, although only one bit is used to denote the value. -Booleans are unboxed. The -\index{initial basis}% -initial basis provides the following top-level operations on -booleans: + +The boolean values \lstinline{true} and \lstinline{false} are represented as +64-bit words, although only one bit is used to denote the value. Booleans are +unboxed. The +% +\index{initial basis} +% +initial basis provides the following top-level operations on booleans: +% \index{=@\texttt{=}}% -\index{not@\texttt{not}}% -\begin{verbatim} - infix 4 = - val not: bool -> bool -\end{verbatim} -The structure {\tt Bool} provides other useful operations on -booleans.\footnote{Consult the file {\tt basis/BOOL.sig}.} +\index{not@\texttt{not}} +% +\begin{smlcode} + infix 4 = + val not : bool -> bool +\end{smlcode} + +\noindent +The structure \lstinline{Bool} provides other useful operations on +booleans.\footnote{Consult the file \boxml{basis/BOOL.sig}.} %--------------------------------------------------------- \chapter{Lists} \label{lists.sec}\index{list} %--------------------------------------------------------- -Section~\ref{lsyn.sec} gives a summary of the list concept in Standard -ML, introduces the notion of the \emph{auxiliary pairs} of a list and -presents the syntax of constructors and de-constructors in the -intermediate languages. Section~\ref{listtypes.sec} introduces -region-annotated list types and show how they correspond to the layout -of lists in memory. Section~\ref{listexamples.sec} gives a small -example. + +Section~\ref{lsyn.sec} gives a summary of the list concept in Standard ML, +introduces the notion of the \emph{auxiliary pairs} of a list and presents the +syntax of constructors and de-constructors in the intermediate languages. +Section~\ref{listtypes.sec} introduces region-annotated list types and show how +they correspond to the layout of lists in memory. +Section~\ref{listexamples.sec} gives a small example. \section{Syntax} \label{lsyn.sec} -In Standard ML, all lists are constructed -from the two constructors -\index{::@\texttt{::}}% -\boxml{::} (read: cons) and -\index{nil@\texttt{nil}}% -{\tt nil}. As a shorthand, one can write -$\boxml{[}\exp_1\boxml{,}\cdots \boxml{,}\exp_n\boxml{]}$ for -$$ \exp_1\boxml{::}\; \cdots\; \boxml{::} \exp_n\boxml{::}\boxml{nil}$$ + +In Standard ML, all lists are constructed from the two constructors +% +\index{::@\texttt{::}} +% +\lstinline{::} (read: cons) and +% +\index{nil@\texttt{nil}} +% +\lstinline{nil}. As a shorthand, one can write +\begin{center} + \lstinline![$\exp_1$, $\cdots$, $\exp_n$]! +\end{center} +for +\begin{center} + \lstinline!$\exp_1$ :: $\cdots$ :: $\exp_n$ :: nil! +\end{center} which in turn is short for +\begin{center} + \lstinline!op :: ($\exp_1$, $\cdots$, op ::($\exp_n$,nil)$\cdots$)! +\end{center} +where $\exp$ ranges over expressions. The type schemes of \lstinline{nil} and +\lstinline{::} (cons) are $$ -\boxml{op ::($\exp_1$, $\cdots$, op ::($\exp_n$,nil)$\cdots$)}$$ -where $\exp$ ranges over expressions. The type schemes of {\tt nil} -and {\tt cons} are -$$\boxml{nil}\mapsto\forall\alpha.\alpha\,\boxml{list}\qquad -\boxml{::} \mapsto\forall\alpha.\alpha\ast\alpha\,\boxml{list}\to\alpha\,\boxml{list} -$$ -Notice that {\tt ::} is always applied to a pair. The construction -of the pair and the application of {\tt ::} should, in principle, not -be confused: the pair and the constructed value are in principle -separate values inasmuch as they have different type. For example, -the declaration -\begin{verbatim} +\mbox{\lstinline{nil}} \mapsto\forall\alpha.\alpha\,\kw{list}\qquad +\mbox{\lstinline{::}} \mapsto\forall\alpha.\alpha\ast\alpha\,\kw{list}\to\alpha\,\kw{list} +$$ Notice that \lstinline{::} is always applied to a pair. The construction of +the pair and the application of \lstinline{::} should, in principle, not be +confused: the pair and the constructed value are in principle separate values +inasmuch as they have different type. For example, the declaration +\begin{smlcode} val p = (2, nil) val mylist = (op ::) p val n = #1 p -\end{verbatim} -is legal in Standard ML. We refer to the pairs to which {\tt ::} is +\end{smlcode} +is legal in Standard ML. We refer to the pairs to which \lstinline{::} is applied as -\index{pair!auxiliary}% +% +\index{pair!auxiliary} +% {\em auxiliary pairs (of the list data type)}. Decomposition of list values in Standard ML is done by -\index{pattern matching}% -pattern matching. A pattern can extract the pair to which {\tt ::} is -applied. Pattern matching on pairs can then give access to the -components of the pair. -\begin{verbatim} +% +\index{pattern matching} +% +pattern matching. A pattern can extract the pair to which \lstinline{::} is +applied. Pattern matching on pairs can then give access to the components of the +pair. +\begin{smlcode} val abc = ["a", "b", "c"] val op :: p = abc (* binds p to the pair ("a", ["b","c"]) *) val (x::y::_) = abc (* binds x to "a" and y to "b" *) -\end{verbatim} -In the last declaration, the pattern \boxml{(x::y::\_)} is short for -the pattern -$$\boxml{(op ::(x, op ::(y, \_)))}$$ -which combines decomposition of -constructed values with decomposition of pairs. - -The intermediate languages $\Lam$, $\RegExp$, and $\MulExp$ have -SML-like constructs for applying constructors, but they decompose -constructed values by applying a -\index{decon@\texttt{decon}}% -de-constructor primitive, not by pattern -matching. -\index{at@\texttt{at}}% +\end{smlcode} +In the last declaration, the pattern \boxml{(x::y::\_)} is short for the pattern +\begin{center} + \lstinline!(op ::(x, op ::(y, _)))! +\end{center} +which combines decomposition of constructed values with decomposition of pairs. + +The intermediate languages $\Lam$, $\RegExp$, and $\MulExp$ have SML-like +constructs for applying constructors, but they decompose constructed values by +applying a +% +\index{decon@\texttt{decon}} +% +de-constructor primitive, not by pattern matching. +% +\index{at@\texttt{at}} +% \begin{center} \begin{tabular}{|c|c|}\hline $\Lam$, $\RegExp$, or $\MulExp$ & \\ \hline -\boxml{nil} & create {\tt nil} value \\ -$\boxml{::}\,(e)$ & create {\tt ::} (cons) value \\ -$\boxml{decon\_::}\,(e)$ & cons decomposition \\ +\lstinline!nil! & create \lstinline!nil! value \\ +\lstinline!::($e$)! & create \lstinline!::! (cons) value \\ +\lstinline!decon_::($e$)! & cons decomposition \\ \hline \end{tabular} \end{center} -In $\Lam$, which has essentially the same type system as SML, -$\boxml{decon\_::}$, the decomposition function for {\tt ::}, has type -$\forall\alpha.\alpha\,\boxml{list}\to\alpha\ast\alpha\,\boxml{list}$. -In addition, $\Lam$, $\RegExp$, and $\MulExp$ have a simple case -construct: -$$\boxml{(case $e$ of :: => $e_1$ | \_ => $e_2$)}$$ -where $e$ must have list type. +In $\Lam$, which has essentially the same type system as SML, $\kw{decon\_::}$, +the decomposition function for \lstinline{::}, has type +$\forall\alpha.\alpha\,\kw{list}\to\alpha\ast\alpha\,\kw{list}$. In addition, +$\Lam$, $\RegExp$, and $\MulExp$ have a simple case construct: +\begin{center} + \lstinline!case $e$ of :: => $e_1$ | _ => $e_2$! +\end{center} +where $e$ must have list type. For convenience, MLKit will layout $\MulExp$ +\lstinline{case} constructs of the form +\begin{center} + \lstinline!case $x$ of :: => let $y$ = decon_:: $x$ in $e_1$ end | _ => $e_2$! +\end{center} +as +\begin{center} + \lstinline!case $x$ of :: $y$ => $e_1$ | _ => $e_2$! +\end{center} \section{Physical Representation} \label{ublists.sec} -The empty list is represented by an odd, unboxed integer. A non-empty -list is represented as a pointer to a pair of two words in a region, -the first of which contains the head of the list and the second of -which contains the representation of the tail of the list. In other -words, the physical representation does not distinguish a {\tt ::} -cell from the auxiliary pair to which \boxml{::} is applied. Since -\boxml{nil} is represented by an odd number and since word addresses -are always even, \boxml{nil} can be distinguished from the -representation of a non-empty list. - -As a consequence, there is no cost involved in applying \boxml{::} to -an auxiliary pair or in applying the decomposition operator -\boxml{decon\_::} to a non-empty list. + +The empty list is represented by an odd, unboxed integer. A non-empty list is +represented as a pointer to a pair of two words in a region, the first of which +contains the head of the list and the second of which contains the +representation of the tail of the list. In other words, the physical +representation does not distinguish a \lstinline{::} cell from the auxiliary +pair to which \lstinline{::} is applied. Since \lstinline{nil} is represented by +an odd number and since word addresses are always even, \lstinline{nil} can be +distinguished from the representation of a non-empty list. + +As a consequence, there is no cost involved in applying \lstinline{::} to an +auxiliary pair or in applying the decomposition operator \lstinline{decon_::} to +a non-empty list. \section{Region-Annotated List Types} \label{listtypes.sec} -In Standard ML, all elements of a given list must have the same type. -We extend this constraint to region inference by saying that all -element values in the same list must reside in the same region(s) and that all -auxiliary pairs of the same list must reside in the same region. + +In Standard ML, all elements of a given list must have the same type. We extend +this constraint to region inference by saying that all element values in the +same list must reside in the same region(s) and that all auxiliary pairs of the +same list must reside in the same region. \begin{figure} \hrule \begin{center} \begin{picture}(75,35)(0,0) -\put(0,0){\framebox(30,10){\boxml{"a"}}} -\put(0,10){\framebox(30,10){\boxml{"b"}}} -\put(0,20){\framebox(30,10){\boxml{"c"}}} +\put(0,0){\framebox(30,10){\lstinline{"a"}}} +\put(0,10){\framebox(30,10){\lstinline{"b"}}} +\put(0,20){\framebox(30,10){\lstinline{"c"}}} % -\put(40,0){\framebox(30,10){$(\qquad,\boxml{nil})$}} -\put(40,10){\framebox(30,10){$(\qquad,\boxml{::})$}} -\put(40,20){\framebox(30,10){$(\qquad,\boxml{::})$}} +\put(40,0){\framebox(30,10){$(\qquad,\kw{nil})$}} +\put(40,10){\framebox(30,10){$(\qquad,\kw{::})$}} +\put(40,20){\framebox(30,10){$(\qquad,\kw{::})$}} % \put(50,5){\vector(-1,1){20}} \put(50,15){\vector(-1,0){20}} @@ -1916,97 +2148,100 @@ \section{Region-Annotated List Types} \end{picture} \end{center} \caption{Layout of the list - $\boxml{["a","b","c"]}:((\boxml{string},\rho_1),[\rho_2])\boxml{list}$ - in memory. The auxiliary pairs of the list reside in $\rho_2$. Each - auxiliary pair takes up two words; the constructors {\tt ::} (cons) - and {\tt nil} are represented unboxed.} \medskip + \lstinline!["a","b","c"]:((string,$\rho_1$),[$\rho_2$])list! in memory. The + auxiliary pairs of the list reside in $\rho_2$. Each auxiliary pair takes up + two words; the constructors \lstinline{::} (cons) and \lstinline{nil} are + represented unboxed.} \medskip \hrule \label{listregions.fig} \end{figure} Thus, region inference does not distinguish between a list and its +% \index{list!tail}% \index{list!auxiliary pairs}% \index{auxiliary pairs}% -tail. Indeed, a typical use of an infinite region is to hold all the -auxiliary pairs of a list. For an example, -Figure~\ref{listregions.fig} shows how the list \boxml{["a","b","c"]} -is laid out in memory. +% +tail. Indeed, a typical use of an infinite region is to hold all the auxiliary +pairs of a list. For an example, Figure~\ref{listregions.fig} shows how the list +\lstinline{["a","b","c"]} is laid out in memory. In general, the +% \index{type!region-annotated}% -\index{list!region-annotated type}% +\index{list!region-annotated type} +% region-annotated type of a list takes the form -$$(\mu,[\rho])\boxml{list}$$ -where $\mu$ is the region-annotated -type with place of the members of the list and where $\rho$ is the region where -the auxiliary pairs of the list are stored. For example, the region-annotated type -$$((\boxml{string},\rho_1),[\rho_2])\boxml{list}$$ -classifies lists -that have their auxiliary pairs in a region $\rho_2$ and strings in a -region $\rho_1$. - -Notice that the \boxml{list} type constructor is not paired with a -region variable. The reason is that the physical representation of -lists treats the constructors as unboxed in the sense described in -Section~\ref{ublists.sec}. - -Very importantly, not all lists need to live in the same regions. -Formally, {\tt nil} and {\tt ::} have the following region-annotated -type schemes: +$$(\mu,[\rho])\kw{list}$$ where $\mu$ is the region-annotated type with place of +the members of the list and where $\rho$ is the region where the auxiliary pairs +of the list are stored. For example, the region-annotated type +$$((\kw{string},\rho_1),[\rho_2])\kw{list}$$ classifies lists that have their +auxiliary pairs in a region $\rho_2$ and strings in a region $\rho_1$. + +Notice that the \kw{list} type constructor is not paired with a region variable. +The reason is that the physical representation of lists treats the constructors +as unboxed in the sense described in Section~\ref{ublists.sec}. + +Very importantly, not all lists need to live in the same regions. Formally, +\lstinline{nil} and \lstinline{::} have the following region-annotated type +schemes: \begin{eqnarray*} -\boxml{nil} & \mapsto & \forall\alpha\rho.(\alpha,[\rho])\boxml{list}\\ -\boxml{::} & \mapsto & \forall\alpha\rho\epsilon.(\alpha\ast(\alpha,[\rho])\boxml{list},\rho) -\ar{\epsilon.\emptyset} (\alpha,[\rho])\boxml{list} +\kw{nil} & \mapsto & \forall\alpha\rho.(\alpha,[\rho])\kw{list}\\ +\kw{::} & \mapsto & \forall\alpha\rho\epsilon.(\alpha\ast(\alpha,[\rho])\kw{list},\rho) +\ar{\epsilon.\emptyset} (\alpha,[\rho])\kw{list} \end{eqnarray*} -Despite its verbosity, the type scheme for {\tt ::} deserves careful -study. It is polymorphic not just in types (signified by the bound -type variable $\alpha$) but also in the region signified by the bound -region variables $\rho$, and, in the case of \texttt{::}, in the effect signified by the -\index{effect variable}% -\emph{effect variable} $\epsilon$. -The $\epsilon.\emptyset$ appearing on the function arrow is called an -\index{arrow effect}% -{\em arrow effect}. Occurring in a function type, an arrow effect -describes the effect of applying the function. In this case, the -effect is empty, as only unboxed values are manipulated by {\tt ::}. -The effect variable $\epsilon$ is used for expressing dependencies -between effects (examples follow in Chapter~\ref{hof.sec}). Due to the -fact that the variables are universally quantified, every occurrence -of a list can, potentially, be in its own regions. But notice that the -type of {\tt ::} forces the element, which is consed onto the list, to -be in the same regions as the already existing elements of the list. -Similarly, the type forces the auxiliary pairs to be in one region +Despite its verbosity, the type scheme for \lstinline{::} deserves careful +study. It is polymorphic not just in types (signified by the bound type variable +$\alpha$) but also in the region signified by the bound region variables $\rho$, +and, in the case of \lstinline{::}, in the effect signified by the +% +\index{effect variable} +% +\emph{effect variable} $\epsilon$. The $\epsilon.\emptyset$ appearing on the +function arrow is called an +% +\index{arrow effect} +% +{\em arrow effect}. Occurring in a function type, an arrow effect describes the +effect of applying the function. In this case, the effect is empty, as only +unboxed values are manipulated by \lstinline{::}. The effect variable +$\epsilon$ is used for expressing dependencies between effects (examples follow +in Chapter~\ref{hof.sec}). Due to the fact that the variables are universally +quantified, every occurrence of a list can, potentially, be in its own +regions. But notice that the type of \lstinline{::} forces the element, which is +consed onto the list, to be in the same regions as the already existing elements +of the list. Similarly, the type forces the auxiliary pairs to be in one region ($\rho$). \section{Example: Basic List Operations} \label{listexamples.sec} -The MLKit compiles the program\footnote{Program \texttt{kitdemo/onetwothree.sml}.} -\begin{verbatim} +The MLKit compiles the program\footnote{Program \boxml{kitdemo/onetwothree.sml}.} +\begin{smlcode} let val l = [1, 2, 3]; val (x::_) = l - in x end -\end{verbatim} + in x + end +\end{smlcode} into the $\RegExp$ program shown in Figure~\ref{listprint.fig}. \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{smlcode} let val it = let region r9:INF; val l = [1,2,3] at r9 - in case l of :: => let val v91 = decon_:: l - in #0 v91 - end - | _ => raise Bind + in case l of + :: v91 => #0 v91 | _ => raise Bind end in {|it: _|} end -\end{verbatim} +\end{smlcode} \caption{Example showing construction and de-construction of a small list. -Layout of the list {\tt l} is analogous to Figure~\ref{listregions.fig}. -The infinite region {\tt r9} holds the auxiliary pairs of the list. -} + Layout of the list \lstinline{l} is analogous to Figure~\ref{listregions.fig}. The + infinite region \lstinline{r9} holds the auxiliary pairs of the list. Notice also + that \lstinline{v91} is not bound to an explicit expression \lstinline{decon\_:: l}; + instead, the pretty-printing abbreviates such immediate bindings by hoisting + the bound variable (here \lstinline{v91}) into a pattern in the case construct.} \label{listprint.fig} \medskip @@ -2018,126 +2253,140 @@ \section{Example: Basic List Operations} \chapter{First-Order Functions} %--------------------------------------------------------- In this chapter, we shall treat +% \index{function}% -\index{function!first-order}% -functions that are declared with -%\index{fun@\texttt{fun}} -{\tt fun} and that are first-order (i.e., that neither take functions -as arguments nor produce functions as results). Higher-order functions -are treated in Chapter~\ref{hof.sec}. Region polymorphism works -uniformly over all types; we use lists as an example of the general -scheme. +\index{function!first-order} +% +functions that are declared with \lstinline{fun} and that are first-order (i.e., +that neither take functions as arguments nor produce functions as +results). Higher-order functions are treated in Chapter~\ref{hof.sec}. Region +polymorphism works uniformly over all types; we use lists as an example of the +general scheme. \section{Region-Polymorphic Functions} \label{region-polymorphic-functions.sec} + \index{region polymorphism|(}% -It would be a serious limitation if all lists produced by a series of -calls to a function were stored in the same region, for then all those -lists would have to be kept alive till the last time one of them were -used. The solution that the MLKit offers to this problem is {\em - region-polymorphic functions}, that is, functions that are passed -regions at runtime. - -When one declares a function that, when called, produces a fresh list, -then the region inference algorithm will automatically insert extra -\index{region parameter!formal}% -formal region parameters in the function declaration. At every place -one refers to the function, for example because one calls the -function, the region inference algorithm inserts -\index{region parameter!actual}% -actual region parameters that tell the function where to put its -result. This is all done automatically; the user does not have to -introduce region parameters or pass them as arguments. Even so, it is -useful to understand the general principle, so that one can make good -use of region polymorphism. +% +It would be a serious limitation if all lists produced by a series of calls to a +function were stored in the same region, for then all those lists would have to +be kept alive until the last time one of them were used. The solution that the +MLKit offers to this problem is {\em region-polymorphic functions}, that is, +functions that are passed regions at runtime. + +When one declares a function that, when called, produces a fresh list, then the +region inference algorithm will automatically insert extra +% +\index{region parameter!formal} +% +formal region parameters in the function declaration. At every place one refers +to the function, for example because one calls the function, the region +inference algorithm inserts +% +\index{region parameter!actual} +% +actual region parameters that tell the function where to put its result. This is +all done automatically; the user does not have to introduce region parameters or +pass them as arguments. Even so, it is useful to understand the general +principle, so that one can make good use of region polymorphism. The syntax of a (single) function declaration in $\MulExp$ is: -\begin{tabbing} -\ \ \ \ \ \=\tt fun $f$ $\at\,\rho_0$ [$\rho_1$, $\cdots$, $\rho_k$] ($x_1,\cdots,x_n$) = $e$ -\end{tabbing} -Here $\rho_0$ denotes the region in which the closure for $f$ is -stored, $\rho_1, \ldots,\rho_k$ are the -\index{region parameter!formal}% -{\em formal region parameters}, $x_1,\cdots,x_n$ are -value parameters, and $e$ is the body of the function. -A call to $f$ takes the form -\begin{tabbing} -\ \ \ \ \ \=\tt $f$ [$\rho_1'$, $\cdots$, $\rho_k'$] <$e_1',\cdots,e_n'$> -\end{tabbing} -where \boxml{[$\rho_1'$, $\cdots$, $\rho_k'$]} are -\index{region parameter!actual}% -{\em actual region parameters} and $e_1',\cdots,e_n'$ are expressions -denoting the arguments to the call. Notice that region parameters are -enclosed in brackets (\boxml{[ ]}); this should not cause confusion -with ML lists, because $\RegExp$ and $\MulExp$ do not use -\index{[ ]@\texttt{[ ]}}% -brackets for lists. In the special case $k=0$, no region parameters -are passed to the function, and we shall often omit the brackets in -this case. - -Also notice that, unlike for Standard ML, functions are allowed to be -passed multiple value arguments; see below. In the case $n=1$, we -often omit the surrounding brackets $\verb+<+ \cdots \verb+>+$. - -In the special case $k=0$, no region parameters are passed to the -function, and we shall often omit the brackets in this case. - -Different calls of $f$ can use different actual regions; this feature -is essential for obtaining good separation of lifetimes. For an -example, consider the following program: -\begin{verbatim} - fun fromto(a, b) = if a>b then [] - else a :: fromto(a+1, b) +\begin{center} + \lstinline!fun $f$ at $\rho_0$ [$\rho_1$, $\cdots$, $\rho_k$] ($x_1$,$\cdots$,$x_n$) = $e$! +\end{center} +Here $\rho_0$ denotes the region in which the closure for $f$ is stored, +$\rho_1, \ldots,\rho_k$ are the +% +\index{region parameter!formal} +% +{\em formal region parameters}, $x_1,\cdots,x_n$ are value parameters, and $e$ +is the body of the function. In general, calls to a function $f$ takes the form +\begin{center} + \lstinline!$f$ [$\rho_1'$, $\cdots$, $\rho_k'$] ($e_1'$, $\cdots$, $e_n'$)! +\end{center} +where \lstinline![$\rho_1'$, $\cdots$, $\rho_k'$]! are +% +\index{region parameter!actual} +% +{\em actual region parameters} and $e_1',\cdots,e_n'$ are expressions denoting +the arguments to the call. Notice that region parameters are enclosed in +brackets (\boxml{[ ]}), which should not cause confusion with ML lists. In the +special case $k=0$, no region parameters are passed to the function, and we +shall often omit the brackets in this case. + +Unlike for Standard ML, functions are allowed to be passed multiple value +arguments, without having them passed in a boxed tuple. In the case $n=1$, we +often omit the surrounding brackets $\verb+(+ \cdots \verb+)+$. + +Different calls of $f$ can use different actual regions; this feature is +essential for obtaining good separation of lifetimes. For an example, consider +the following program: +\begin{smlcode} + fun fromto (a, b) = if a>b then [] + else a :: fromto(a+1, b) val l = #1(fromto(1,10), fromto(100,110)); -\end{verbatim} -The corresponding $\MulExp$ program is shown in -Figure~\ref{fromto.fig}. +\end{smlcode} +The corresponding $\MulExp$ program is shown in Figure~\ref{fromto.fig}. \begin{figure}[htb] \hrule \medskip -\begin{verbatim} - let fun fromto at r1 [r14:INF] (v93, v94) = - case v93 > v94 of - true => nil - | _ => :: (v93, fromto[r14] )at r14; - val l = let region r24:INF, r28:1 - in #0 (fromto[r4] <1, 10>, - fromto[r24] <100, 110>)at r28 - end +\begin{smlcode} + let fun fromto at r1 [r13:INF] (v126, v127) = + case v126 > v127 of + true => nil + | _ => :: (v126, fromto[r13] (v126 + 1, v127))at r13; + val l = + let region r23:INF, r27:1 + in #0 (fromto[r4] (1, 10), fromto[r23] (100, 110))at r27 + end in {|fromto: (_,r1), l: _|} end -\end{verbatim} -\caption{The region-annotated version of {\tt fromto} shows that {\tt fromto} - is region-polymorphic. (Program: \boxml{kitdemo/fromto.sml}, printed - by passing the option {\tt -print\_drop\_regions\_expression} to the - MLKit compiler.)} \medskip +\end{smlcode} +\caption{The region-annotated version of \lstinline{fromto} shows that + \lstinline{fromto} is region-polymorphic. (Program: + \inline{kitdemo/fromto.sml}, printed by passing the option + \inline{-print_drop_regions_expression} (or \inline{-Pdre}) to the MLKit + compiler.)} +\medskip \hrule \label{fromto.fig} \end{figure} -There are several things to notice about the region annotated program. -First, notice that the function {\tt fromto} represents its argument -\boxml{(a,b)} +There are several things to notice about the region annotated program. First, +notice that the function {\tt fromto} represents its argument \lstinline{(a,b)} +% \index{arguments!multiple}% \index{multiple function arguments}% \index{function arguments!multiple}% -unboxed; the MLKit figures out that the function does not -use the boxed representation of the argument and transforms all calls -to the function to pass the argument unboxed (on the runtime stack and -in registers if possible). - -Second, notice that \boxml{r14} is a formal region parameter of {\tt - fromto} and that \boxml{r14} is passed along in the recursive call -\boxml{fromto[r14] }. Here the notation \boxml{} -denotes the passing of the unboxed record to the function {\tt - fromto}. - -\index{fromto@\texttt{fromto}}% -Finally, notice that the regions that hold the two lists generated by -this program are distinct. The list that escapes to top level is -stored in the global region {\tt r4}, whereas the list that does not -escape is stored in the local region {\tt r24}. +\index{arguments!flattening}% +\index{deep argument flattening}% +% +unboxed; the MLKit figures out that the function does not use the boxed +representation of the argument and transforms all calls to the function to pass +the argument unboxed (on the runtime stack and in registers if possible). This +kind of \emph{argument flattening} is supported also for nested tuple arguments +and is the mechanism also behind uncurrying and passing floating point arguments +in registers \cite{deep-elsman25}. + +Second, notice that \lstinline{r13} is a formal region parameter of +\lstinline{fromto} and that \lstinline{r13} is passed along in the recursive +call +% +\lstinline{fromto[r13] (v126 + 1, v127)}. Here the notation +% +\lstinline{(v126 + 1, v127)} +% +(without an \lstinline{at} annotation) denotes the passing of the unboxed record +to the function \lstinline{fromto}. + +% +\index{fromto@\texttt{fromto}} +% +Finally, notice that the regions that hold the two lists generated by this +program are distinct. The list that escapes to top level is stored in the +global region \lstinline{r4}, whereas the list that does not escape is stored in +the local region \lstinline{r23}. \section{Region-Annotated Type Schemes} \label{regtych.sec} @@ -2151,318 +2400,320 @@ \section{Region-Annotated Type Schemes} $\epsilon_1,\ldots,\epsilon_m$ are \index{effect variable!bound}% effect variables, and $\tau$ is a region-annotated type. - -The types of \boxml{nil} and \boxml{::} in Section~\ref{listtypes.sec} are examples of -\index{region polymorphism}% +% +The types of \lstinline{nil} and \lstinline{::} in Section~\ref{listtypes.sec} +are examples of +% +\index{region polymorphism} +% region-annotated type schemes. -There is a close connection between, on the one hand, the formal and -actual -\index{region parameter}% -region parameters found in $\RegExp$ (and $\MulExp$) programs, and, on -the other hand, the region-annotated type schemes that the region inference -algorithm assigns to recursively declared functions. The formal region -parameters of a function stem from the bound region variables of the -region-annotated type scheme of that function. The actual region parameters -which annotate a call of the function are the region variables to -which the bound region variables are instantiated at that particular -application. - -For example, the region-annotated type scheme of {\tt fromto} from +There is a close connection between, on the one hand, the formal and actual +% +\index{region parameter} +% +region parameters found in $\RegExp$ (and $\MulExp$) programs, and, on the other +hand, the region-annotated type schemes that the region inference algorithm +assigns to recursively declared functions. The formal region parameters of a +function stem from the bound region variables of the region-annotated type +scheme of that function. The actual region parameters which annotate a call of +the function are the region variables to which the bound region variables are +instantiated at that particular application. + +For example, the region-annotated type scheme of \lstinline{fromto} from Figure~\ref{fromto.fig} is -$$\forall\rho_{14}\epsilon. [\boxml{int}, \boxml{int} ] -\ar{\epsilon.\{\Put(\rho_{14})\}} (\boxml{int},[\rho_{14}])\boxml{list}$$ -where we use the syntax $[\tau_1, \ldots, \tau_n], n \geq 1$ to denote -an unboxed tuple of types $\tau_1, \ldots,\tau_n$. This syntax is not -to be confused with the auxiliary region variables of type -constructors (e.g., the list $[\rho_{14}]$ in the region-annotated type -scheme of {\tt fromto}.) - -At the last call of {\tt fromto} in Figure~\ref{fromto.fig}, -the type scheme is instantiated to the region-annotated type -$$[\boxml{int}, \boxml{int}] \ar{\epsilon'.\{\Put(\rho_{24})\}} -(\boxml{int},[\rho_{24}])\boxml{list}$$ - -The instantiation of bound variables of the type scheme that yields -this region-annotated type is -$$\{\rho_{14}\mapsto\rho_{24}, \epsilon\mapsto\epsilon'\}$$ -In general, -the actual region parameters that annotate a call of a -region-polymorphic function are obtained from the range of the -substitution by which the type scheme of the function is instantiated -at that application. +$$\forall\rho_{13}\epsilon. [\kw{int}, \kw{int}] +\ar{\epsilon.\{\Put(\rho_{13})\}} (\kw{int},[\rho_{13}])\kw{list}$$ where we use +the syntax $[\tau_1, \ldots, \tau_n], n \geq 1$ to denote an unboxed tuple of +types $\tau_1, \ldots,\tau_n$. This syntax is not to be confused with the +auxiliary region variables of type constructors (e.g., the list $[\rho_{13}]$ in +the region-annotated type scheme of \lstinline{fromto}.) + +At the last call of \lstinline{fromto} in Figure~\ref{fromto.fig}, the type +scheme is instantiated to the region-annotated type +$$[\kw{int}, \kw{int}] \ar{\epsilon'.\{\Put(\rho_{23})\}} +(\kw{int},[\rho_{23}])\kw{list}$$ + +The instantiation of bound variables of the type scheme that yields this +region-annotated type is +$$\{\rho_{13}\mapsto\rho_{23}, \epsilon\mapsto\epsilon'\}$$ In general, the +actual region parameters that annotate a call of a region-polymorphic function +are obtained from the range of the substitution by which the type scheme of the +function is instantiated at that application. \index{type scheme with place!region-annotated}% \index{region-annotated type scheme with place}% -Region-polymorphic functions also have to be allocated somewhere. -Therefore, the region information associated with a region-polymorphic -function is a {\em (region-annotated) type scheme with place}, that -is, a pair $(\sigma,\rho)$. Indeed, every binding of a variable to a -boxed value (whether the binding is done by {\tt fun}, {\tt let}, or -{\tt fn}) associates a region-annotated type scheme with place to the -binding occurrence. (In the case of {\tt let}, the type scheme will -have no quantified region and effect variables, however, and in the -case of {\tt fn}, the type scheme will have no quantified variables at -all.) In the following, when we refer to ``the region-annotated type -(scheme) with place'' of some variable, we mean the region-annotated -type (scheme) with place that is associated with the binding +% +Region-polymorphic functions also have to be allocated somewhere. Therefore, +the region information associated with a region-polymorphic function is a {\em + (region-annotated) type scheme with place}, that is, a pair $(\sigma,\rho)$. +Indeed, every binding of a variable to a boxed value (whether the binding is +done by \lstinline{fun}, \lstinline{let}, or \lstinline{fn}) associates a +region-annotated type scheme with place to the binding occurrence. (In the case +of \lstinline{let}, the type scheme will have no quantified region and effect +variables, however, and in the case of \lstinline{fn}, the type scheme will have +no quantified variables at all.) In the following, when we refer to ``the +region-annotated type (scheme) with place'' of some variable, we mean the +region-annotated type (scheme) with place that is associated with the binding occurrence of the variable. The region type scheme should be clearly -distinguished from instances of the type scheme, which decorate -non-binding occurrences of the variable. +distinguished from instances of the type scheme, which decorate non-binding +occurrences of the variable. -The region-annotated type scheme with place of a variable bound to an -unboxed value is always on the form $\sigma$ (no specified place), where -$\sigma$ is the region-annotated type scheme associated with the -variable (see Section~\ref{reganntypes.sec}). +The region-annotated type scheme with place of a variable bound to an unboxed +value is always on the form $\sigma$ (no specified place), where $\sigma$ is the +region-annotated type scheme associated with the variable (see +Section~\ref{reganntypes.sec}). \section{Endomorphisms and Exomorphisms} -The {\tt fromto} function from Section~\ref{regtych.sec} has the -property that it can put its result in regions that are separate from -the regions where its argument lies. This is not surprising, if one -looks at the declaration of the function; it creates a brand new list -that does not share with the argument {\tt (a,b)}, except for the -integers {\tt a} and {\tt b}, which may end up in the list. The -freshness of the generated list is evident from the region type scheme -of the function; the region variable in the result type does not -appear in the argument type. - -Not all region-polymorphic functions create brand new values. Very -often, a region-polymorphic function simply adds values to regions -that are determined by the argument to the function. A good example is -the list append function from the initial basis:\footnote{File {\tt - kitdemo/append.sml}.} -\begin{verbatim} + +The \lstinline{fromto} function from Section~\ref{regtych.sec} has the property +that it can put its result in regions that are separate from the regions where +its argument lies. This is not surprising, if one looks at the declaration of +the function; it creates a brand new list that does not share with the argument +\lstinline{(a,b)}, except for the integers \lstinline{a} and \lstinline{b}, +which may end up in the list. The freshness of the generated list is evident +from the region type scheme of the function; the region variable in the result +type does not appear in the argument type. + +Not all region-polymorphic functions create brand new values. Very often, a +region-polymorphic function simply adds values to regions that are determined by +the argument to the function. A good example is the list append function from +the initial basis:\footnote{File \boxml{kitdemo/append.sml}.} +\begin{smlcode} infixr 5 @ fun [] @ ys = ys | (x::xs) @ ys = x :: (xs @ ys) val l = [1] @ [2,3] -\end{verbatim} -Append successively conses the elements of the first list onto the -second list. Thus, \boxml{ys} and \boxml{xs @ ys} must be in the same -regions. However, the auxiliary pairs of \boxml{xs} and \boxml{ys} -need not be in the same regions, although the elements of \boxml{xs} -and \boxml{ys} clearly must be in the same regions, because they end -up in the same list. These properties of the append function \boxml{@} -are summarized in its inferred region-annotated type scheme: -$$\begin{array}{c}\forall\alpha\rho_{15}\rho_{16}\epsilon. - [ (\alpha,[\rho_{16}])\boxml{list}, - (\alpha,[\rho_{15}])\boxml{list} ] -\ar{\epsilon.\{\Get(\rho_{16}),\Put(\rho_{15})\}} (\alpha,[\rho_{15}])\boxml{list}\end{array} -$$ -When one writes a function it is a good idea to consider whether one -wants the function to create values in fresh regions or whether one -wants it to add values to existing regions. Adding to existing -regions can of course make these regions too large and long-lived, -because the entire region will be alive for as long as one of the -values in the region may be needed in the future. +\end{smlcode} +Append successively conses the elements of the first list onto the second list. +Thus, \lstinline{ys} and \lstinline{xs @ ys} must be in the same +regions. However, the auxiliary pairs of \lstinline{xs} and \lstinline{ys} need +not be in the same regions, although the elements of \lstinline{xs} and +\lstinline{ys} clearly must be in the same regions, because they end up in the +same list. These properties of the append function \lstinline{@} are summarised +in its inferred region-annotated type scheme: +$$\begin{array}{c}\forall\alpha\rho_{19}\rho_{17}\epsilon. + [ (\alpha,[\rho_{17}])\kw{list}, + (\alpha,[\rho_{19}])\kw{list} ] +\ar{\epsilon.\{\Get(\rho_{17}),\Put(\rho_{19})\}} (\alpha,[\rho_{19}])\kw{list}\end{array} +$$ When one writes a function, it is a good idea to consider whether one wants +the function to create values in fresh regions or whether one wants it to add +values to existing regions. Adding to existing regions can of course make these +regions too large and long-lived, because the entire region will be alive for as +long as one of the values in the region may be needed in the future. \begin{figure}[htb] \hrule \medskip -\begin{verbatim} - let fun @ at r1 [r15:INF] (v96, v129) = - case v96 of - nil => v129 - | _ => - let val v98 = decon_:: v96; - val v99 = #0 v98; - val v100 = #1 v98 - in :: (v99, @[r15] )at r15 - end; - val l = let region r27:INF - in @[r4] <[1] at r27, [2,3] at r4> - end +\begin{smlcode} + let fun @ at r1 [r19:INF] (v129, v130) = + case v129 of + nil => v130 + | :: v98 => :: (#0 v98, @[r19] (#1 v98, v130))at r19; + val l = + let region r35:INF + in @[r4] ([1] at r35, [2,3] at r4) + end in {|@: (_,r1), l: _|} end -\end{verbatim} +\end{smlcode} \caption{The region-annotated version of {\tt append}.} \medskip \hrule \label{append.fig} \end{figure} -The MulExp version of the append function is listed in -Figure~\ref{append.fig}. At the application of \boxml{@}, the region -annotated type scheme for \boxml{@} is instantiated to the region annotated type -$$[ (\boxml{int},[\rho_{27}])\boxml{list}, - (\boxml{int},[\rho_4])\boxml{list} ] -\ar{\epsilon'.\{\Get(\rho_{27}),\Put(\rho_4)\}} (\boxml{int},[\rho_4])\boxml{list} $$ - -To avoid passing regions that are never used, the MLKit introduces only -formal region variables for those bound region variables in the type -scheme for which there appears at least one -\index{put@{$\Put$}}% -$\Put$ effect in the type of the function. Reading a value is done -simply by following a pointer to the value, irrespective of what -region the value resides in, whereas storing a value in a region uses -the name (see Section~\ref{fininf.sec}) of the region. This omitting -of region parameters explains why $\rho_{16}$ does not become a formal -region parameter of \boxml{@} and why $\rho_{27}$ is not passed to -\boxml{@} at the call site. This optimisation, which is called -\index{region!dropping of}% -{\em dropping of regions}, is the key reason why the MLKit takes the -trouble to distinguish between $\Put$ and -\index{get@{$\Get$}}% +The $\MulExp$ version of the append function is listed in +Figure~\ref{append.fig}. At the application of \lstinline{@}, the region +annotated type scheme for \lstinline{@} is instantiated to the region annotated type +$$[ (\kw{int},[\rho_{35}])\kw{list}, + (\kw{int},[\rho_4])\kw{list} ] +\ar{\epsilon'.\{\Get(\rho_{35}),\Put(\rho_4)\}} (\kw{int},[\rho_4])\kw{list} $$ + +To avoid passing regions that are never used, the MLKit introduces only formal +region variables for those bound region variables in the type scheme for which +there appears at least one +% +\index{put@{$\Put$}} +% +$\Put$ effect in the type of the function. Reading a value is done simply by +following a pointer to the value, irrespective of what region the value resides +in, whereas storing a value in a region uses the name (see +Section~\ref{fininf.sec}) of the region. This omitting of region parameters +explains why $\rho_{17}$ does not become a formal region parameter of +\lstinline{@} and why $\rho_{35}$ is not passed to \lstinline{@} at the call +site. This optimisation, which is called +% +\index{region!dropping of} +% +{\em dropping of regions}, is the key reason why the MLKit takes the trouble to +distinguish between $\Put$ and +% +\index{get@{$\Get$}} +% $\Get$ \label{bother-to-distinguish-get-n-put}effects. -Here are two more examples to highlight the difference between -functions that can put values in fresh regions and functions that add -values to existing regions: -\begin{verbatim} +Here are two more examples to highlight the difference between functions that +can put values in fresh regions and functions that add values to existing +regions: +\begin{smlcode} fun cp1 [] = [] | cp1 (x::xs) = x :: cp1 xs fun cp2 (l as []) = l | cp2 (x::xs) = x :: cp2 xs -\end{verbatim} -Here \boxml{cp1} can copy the auxiliary pairs of a list into a fresh -region, whereas \boxml{cp2} always copies the auxiliary pairs of a +\end{smlcode} +Here \lstinline{cp1} can copy the auxiliary pairs of a list into a fresh +region, whereas \lstinline{cp2} always copies the auxiliary pairs of a list into the same region: \begin{eqnarray*} -\boxml{cp1}&\mapsto&\forall\alpha\rho\rho'\epsilon. - (\alpha,[\rho])\boxml{list} \ar{\epsilon.\{\Get(\rho), - \Put(\rho')\}} (\alpha,[\rho'])\boxml{list}\\ -\boxml{cp2}&\mapsto&\forall\alpha\rho\epsilon. - (\alpha,[\rho])\boxml{list} \ar{\epsilon.\{\Get(\rho), - \Put(\rho)\}} (\alpha,[\rho])\boxml{list} +\kw{cp1}&\mapsto&\forall\alpha\rho\rho'\epsilon. + (\alpha,[\rho])\kw{list} \ar{\epsilon.\{\Get(\rho), + \Put(\rho')\}} (\alpha,[\rho'])\kw{list}\\ +\kw{cp2}&\mapsto&\forall\alpha\rho\epsilon. + (\alpha,[\rho])\kw{list} \ar{\epsilon.\{\Get(\rho), + \Put(\rho)\}} (\alpha,[\rho])\kw{list} \end{eqnarray*} -As we saw in Section~\ref{life.sec}, there are cases where it is -useful to copy a list from one region into another region, so as to -make it possible to de-allocate the old region. This copying can be -used as a kind of programmer-controlled garbage collection in cases -where garbage has accumulated in the original region. - -Because it is often useful to distinguish between functions that can -put their result into fresh regions and functions that simply add to -regions determined by their value argument, we shall refer informally -to the former functions as -\index{region exomorphism}% +As we saw in Section~\ref{life.sec}, there are cases where it is useful to copy +a list from one region into another region, so as to make it possible to +de-allocate the old region. This copying can be used as a kind of +programmer-controlled garbage collection in cases where garbage has accumulated +in the original region. + +Because it is often useful to distinguish between functions that can put their +result into fresh regions and functions that simply add to regions determined by +their value argument, we shall refer informally to the former functions as +% +\index{region exomorphism} +% {\em region exomorphisms} and the latter as -\index{region endomorphism}% -{\em region endomorphisms}. Notice that this is not a clear-cut -distinction, however. Often, functions have both an endomorphic and an -exomorphic side to them. Also notice that even a region exomorphic -function can be forced to act as an endomorphism by the calling -context. As an example, consider the expression -$$\boxml{if true then cp1 l else l}$$ -Because the two branches of the -conditional are required to have the same region-annotated type with -place, \boxml{l} and \boxml{cp1 l} are forced to be in the same -regions. +% +\index{region endomorphism} +% +{\em region endomorphisms}. Notice that these terms do not provide a clear-cut +distinction. Often, functions have both an endomorphic and an exomorphic side to +them. Also notice that even a region exomorphic function can be forced to act as +an endomorphism by the calling context. As an example, consider the expression +\begin{center} + \lstinline!if true then cp1 l else l! +\end{center} +Because the two branches of the conditional are required to have the same +region-annotated type with place, \lstinline{l} and \lstinline{cp1 l} are forced +to be in the same regions. -%mael \section{Polymorphic Recursion} - \label{polyrec.sec} + A -\index{recursion!polymorphic}% +% +\index{recursion!polymorphic} +% recursive region-polymorphic function -\begin{tabbing} -\ \ \ \ \ \=\tt fun $f$ $\at\,\rho_0$ [$\rho_1$, $\cdots$, $\rho_k$] ($x_1,\cdots,x_n$) = $e$ -\end{tabbing} -may call itself inside its own body ($e$) with regions that are different -from its own formal region parameter ({\tt [$\rho_1$, $\cdots$, $\rho_k$]}). -This feature is called {\it polymorphic recursion in regions}, named after -polymorphic recursion, the analogous concept for types. -Polymorphic recursion in regions is vital for achieving good -memory management in connection with recursion. -Unfortunately, it is also makes the region inference problem considerably more -challenging, but that is a different story \cite{tofbir98}. - -We now show a typical use of polymorphic recursion in regions, namely -merge sorting of lists. The basic idea of merge sort is simple: first -split the input list into two lists $l$ and $r$ of roughly equal -length. Then sort $l$ and $r$ recursively and merge the results into -a single sorted list. When programming with regions, we need to plan -which of these lists we want to reside in the same regions. We do not -want to waste space. In particular, if $n$ is the length of the list, -it would be quite irresponsible to use $O(n\hbox{log}\,n)$ space, say. -Let us aim at arranging that the sorting function is a region -exomorphism that does not produce any values in its result regions -except the sorted list. To sort $n$ elements, we shall need $n$ list -cells (to hold the input list) plus roughly $2\times(n/2)$ list cells -to hold $l$ and $r$, the two lists that arise from splitting the input -list. To sort $l$ recursively, we need space for the two lists -obtained by splitting $l$ and so on. The space consumption grows to a -maximum of $3n$ list cells (including the $n$ cells to hold the -input), before any merging is done. By the time all of $l$ is sorted, -that is, just before $r$ is sorted recursively, we have the following -lists: the input ($n$ cells), $l$ ($n/2$ cells), $l$ sorted ($n/2$ -cells), $r$ ($n/2$ cells). Continuing this way, at the rightmost merge -of two lists of length at most one, approximately $4n$ list cells are -live. Then a series of final merges occur. Code that uses these + +\begin{center} + \lstinline!fun $f$ at $\rho_0$ [$\rho_1$, $\cdots$, $\rho_k$] ($x_1$, $\cdots$, $x_n$) = $e$! +\end{center} +may call itself inside its own body ($e$) with regions that are different from +its own formal region parameter (\lstinline![$\rho_1$, $\cdots$, $\rho_k$]!). +This feature is called \emph{polymorphic recursion in regions}, named after +polymorphic recursion, the analogous concept for types. Polymorphic recursion +in regions is vital for achieving good memory management in connection with +recursion. Unfortunately, it also makes the region inference problem +considerably more challenging, but that is a different story \cite{tofbir98}. + +We now show a typical use of polymorphic recursion in regions, namely merge +sorting of lists. The basic idea of merge sort is simple: first split the input +list into two lists $l$ and $r$ of roughly equal length. Then sort $l$ and $r$ +recursively and merge the results into a single sorted list. When programming +with regions, we need to plan which of these lists we want to reside in the same +regions. We do not want to waste space. In particular, if $n$ is the length of +the list, it would be quite irresponsible to use $O(n\hbox{log}\,n)$ space, say. +Let us aim at arranging that the sorting function is a region exomorphism that +does not produce any values in its result regions except the sorted list. To +sort $n$ elements, we shall need $n$ list cells (to hold the input list) plus +roughly $2\times(n/2)$ list cells to hold $l$ and $r$, the two lists that arise +from splitting the input list. To sort $l$ recursively, we need space for the +two lists obtained by splitting $l$ and so on. The space consumption grows to a +maximum of $3n$ list cells (including the $n$ cells to hold the input), before +any merging is done. By the time all of $l$ is sorted, that is, just before $r$ +is sorted recursively, we have the following lists: the input ($n$ cells), $l$ +($n/2$ cells), $l$ sorted ($n/2$ cells), $r$ ($n/2$ cells). Continuing this way, +at the rightmost merge of two lists of length at most one, approximately $4n$ +list cells are live. Then a series of final merges occur. Code that uses these ideas is listed in +% \index{cp@\texttt{cp}}% \index{msort@\texttt{msort}}% \index{merge sort}% \index{projects!compiling}% -\index{projects!running}% -Figure~\ref{msort.fig}.\footnote{MLB-file {\tt kitdemo/msort.mlb}, file - {\tt kitdemo/msort.sml}. To compile the project, go to the - \boxml{kitdemo} directory and execute \boxml{"mlkit msort.mlb"} from - the shell. The MLKit places an executable file \boxml{run} in the - \boxml{kitdemo} directory. For an in-depth description of how to - compile and run MLB-files and SML-files, see - Chapter~\ref{mlb_and_modules.chap}.} +\index{projects!running} +% +Figure~\ref{msort.fig}.\footnote{MLB-file \boxml{kitdemo/msort.mlb}, file +\boxml{kitdemo/msort.sml}. To compile the project, go to the \boxml{kitdemo} +directory and execute \boxml{mlkit msort.mlb} from the shell. The MLKit places +an executable file \boxml{run} in the \boxml{kitdemo} directory. For an +in-depth description of how to compile and run MLB-files and SML-files, see +Chapter~\ref{mlb_and_modules.chap}.} \begin{figure}[hbt] \hrule \medskip -\begin{verbatim} - fun cp [] =[] - | cp (x::xs)= x :: cp xs +\begin{smlcode} + fun cp [] = [] + | cp (x::xs) = x :: cp xs (* exomorphic merge *) - fun merge(xs, []):int list = cp xs - | merge([], ys) = cp ys - | merge(l1 as x::xs, l2 as y::ys) = - if x3 then x@x else x; 5) - in f 1; f 4 + in + f 1; f 4 end -\end{verbatim} -Here \boxml{f} has type $\boxml{int}\to\boxml{int}$; yet, when the -expression \boxml{y>3} evaluates to \boxml{true}, an append operation -is performed that produces a list in the same region as {\tt x}. The -first call of $\boxml{f}$ will not cause the append operation to be -called, but the second one will. One can say that \boxml{f} has a -space leak in that it can write values into a more global region, -namely a region that is allocated at the beginning of the body of {\tt - g}. The sequence of calls to {\tt f} accumulates copies of {\tt x@x} -in that region, although none of these lists are accessible anywhere. -In this particular case, the values are not even part of the result -type of {\tt f}, so the writing is a side-effect at the implementation -level, even though there are no references in the program. - -The region-annotated type scheme inferred for \boxml{f} is -$$\forall\epsilon.\boxml{int} \ar{\epsilon.\{\Put(\rho_{11})\}} \boxml{int}$$ -where the region-annotated type of \boxml{x} is -$$(\boxml{int},[\rho_{11}])\boxml{list}$$ -Here we see that -$\rho_{11}$ is free in the region-annotated type scheme and appears -with a $\Put$ effect. +\end{smlcode} +Here \lstinline{f} has type $\kw{int}\to\kw{int}$; yet, when the expression +\lstinline{y>3} evaluates to \lstinline{true}, an append operation is performed +that produces a list in the same region as \lstinline{x}. The first call of +\lstinline{f} will not cause the append operation to be called, but the second +one will. One can say that \lstinline{f} has a space leak in that it can write +values into a more global region, namely a region that is allocated at the +beginning of the body of \lstinline{g}. The sequence of calls to \lstinline{f} +accumulates copies of \lstinline{x@x} in that region, although none of these +lists are accessible anywhere. In this particular case, the values are not even +part of the result type of \lstinline{f}, so the writing is a side-effect at the +implementation level, even though there are no references in the program. + +The region-annotated type scheme inferred for \lstinline{f} is +$$\forall\epsilon.\kw{int} \ar{\epsilon.\{\Put(\rho_{11})\}} \kw{int}$$ where +the region-annotated type of \kw{x} is +$$(\kw{int},[\rho_{11}])\kw{list}$$ Here we see that $\rho_{11}$ is free in the +region-annotated type scheme and appears with a $\Put$ effect. \section{Warnings About Space Leaks} -The MLKit can be instrumented to issue a warning each time it meets a -function that is declared using {\tt fun} and has a free $\Put$ effect -occurring somewhere in its type scheme. The way to tell the MLKit to -issue the warnings is by passing the option -\index{put-effect!escaping}% -\texttt{-warn\_on\_escaping\_puts} to the MLKit compiler. In practice, this warning -mechanism is a valuable device for predicting space leaks. The -region-annotated version of our example function {\tt g} is listed in -Figure~\ref{escape_mulexp.fig}. During compilation of {\tt g}, the MLKit -issues the following warning:\footnote{To provoke the warning, one has - to disable in-lining in the - \index{optimiser}% - {\Lam} optimiser; this is done by passing the option - \texttt{-maximum\_inline\_size 0} to the MLKit compiler together - with the option \texttt{-warn\_on\_escaping\_puts}.} +The MLKit can be instrumented to issue a warning each time it meets a function +that is declared using \lstinline{fun} and has a free $\Put$ effect occurring +somewhere in its type scheme. The way to tell the MLKit to issue the warnings is +by passing the option +% +\index{put-effect!escaping} +% +\inline{-warn_on_escaping_puts} to the MLKit compiler. In practice, this warning +mechanism is a valuable device for predicting space leaks. The region-annotated +version of our example function \lstinline{g} is listed in +Figure~\ref{escape_mulexp.fig}. During compilation of \lstinline{g}, the MLKit issues +the following warning:\footnote{To provoke the warning, one has to disable +in-lining in the +% +\index{optimiser} +% +{\Lam} optimiser; this is done by passing the option +\inline{-maximum_inline_size 0} (or \inline{-max_inl_sz 0}) to the MLKit +compiler together with the option \inline{-warn_on_escaping_puts}.} \begin{figure} \hrule \medskip -\begin{verbatim} - let fun g at r1 [] (v86) = +\begin{smlcode} + let fun g at r1 () = let region r11:INF; val x = [5,7] at r11; - region r18:1; - fun f at r18 [] (y) = + region r21:1; + fun f at r21 y = let val _ = case y > 3 of - true => @[r11] - | _ => x - in 5 + true => @[r11] (x, x) + | _ => x + in 5 end; - val _ = f[] 1 - in f[] 4 + val _ = f 1 + in f 4 end in {|g: (_,r1)|} end -\end{verbatim} -\caption{The region-annotated version of {\tt g}.} +\end{smlcode} +\caption{The region-annotated version of \lstinline{g}.} \medskip \hrule \label{escape_mulexp.fig} \end{figure} \begin{small} -\begin{verbatim} +\begin{scriptcode} *** Warnings *** f has a type scheme with escaping put effects on region(s): r11, which is also free in the type schemes with places of : x -\end{verbatim} +\end{scriptcode} \end{small} -We are told that the program might space leak in region \boxml{r11}. -Looking at the function \boxml{f}, we see that this region is an -actual region parameter to \boxml{@}. It follows that the problem is -the call to \boxml{@}. +We are told that the program might space leak in region \lstinline{r11}. +Looking at the function \lstinline{f}, we see that this region is an actual +region parameter to \lstinline{@}. It follows that the problem is the call to +\lstinline{@}. \section{Fixing Space Leaks} -Often one can fix a space leak by delaying the creation of the value -that causes the space leak. In the above example, we can move the -construction of the list into \boxml{f}:\footnote{Program - \boxml{kitdemo/escape1.sml}.} -\begin{verbatim} - fun g () = +Often one can fix a space leak by delaying the creation of the value that causes +the space leak. In the above example, we can move the construction of the list +into \lstinline{f}:\footnote{Program \boxml{kitdemo/escape1.sml}.} +\begin{smlcode} +fun g () = let fun mk_x () = [5,7] fun f y = let val x = mk_x() in if y>3 then x@x else x; 5 end in f 1; f 4 end -\end{verbatim} +\end{smlcode} Of course, this means that the list will be reconstructed upon each -application of \boxml{f}. Another solution is to move the creation of +application of \lstinline{f}. Another solution is to move the creation of the list as close to the calls as possible and then pass the list as an extra argument:\footnote{Program \boxml{kitdemo/escape2.sml}.} -\begin{verbatim} - fun g () = +\begin{smlcode} +fun g () = let fun f (x,y) = (if y>3 then x@x else x; 5) in let val x = [5,7] - in f(x,1); f(x,4) + in f(x, 1); f(x, 4) end end -\end{verbatim} -Both solutions stop warnings from being printed, but the second -solution is better than the first: \boxml{f} still has a $\Put$ effect on -the regions containing \boxml{x}, but the difference is that these are -now represented by bound region variables in the type scheme of -\boxml{f}. This quantification has the advantages that (1) allocation -of space for the list is delayed until the list is actually used and -(2), the list can be de-allocated after the calls have been made -(whereas in the original version, \boxml{x} occurs free in the -declaration of \boxml{f} and will be kept alive as long as \boxml{f} -can be called.) - -At other times, there is no clean way of avoiding escaping $\Put$ -effects. One example is found in the +\end{smlcode} +Both solutions stop warnings from being printed, but the second solution is +better than the first: \lstinline{f} still has a $\Put$ effect on the regions +containing \lstinline{x}, but the difference is that these are now represented +by bound region variables in the type scheme of \lstinline{f}. This +quantification has the advantages that (1) allocation of space for the list is +delayed until the list is actually used and (2), the list can be de-allocated +after the calls have been made (whereas in the original version, \lstinline{x} +occurs free in the declaration of \lstinline{f} and will be kept alive as long +as \lstinline{f} can be called.) + +At other times, there is no clean way of avoiding escaping $\Put$ effects. One +example is found in the +% \index{TextIO@\texttt{TextIO}}% \index{openIn@\texttt{openIn}}% \index{openOut@\texttt{openOut}}% -{\tt TextIO} structure of the Basis Library: -\begin{verbatim} +% +\lstinline{TextIO} structure of the Basis Library: +\begin{smlcode} exception CannotOpen fun raiseIo fcn nam exn = raise IO.Io {function = fcn^"", name = nam^"", cause = exn} @@ -2912,82 +3197,87 @@ \section{Fixing Space Leaks} fun openOut(f: string): outstream = {oc=prim("openOutStream", (f,CannotOpen)), name=f} handle exn => raiseIo "openOut" f exn -\end{verbatim} -As explained in Chapter~\ref{exceptions.sec}, -when a unary exception constructor is applied to a value, both the -argument value and the resulting constructed value are forced into -a particular global region. Thus, the application -$$\verb+IO.Io {function = fcn^"", name = nam^"", cause = exn}+$$ -has a -potential space leak in it; every time we apply the exception -constructor, the resulting exception value will be put into a global -region. This particular space leak is perhaps not something that would -keep one awake at night, because most programs do not make a large -number of failed attempts to open files, but it is useful to be warned -about this potential problem. Notice, however, that the string -arguments to {\tt raiseIo} are copied inside the body of {\tt - raiseIo}, so that they are not forced to be placed in the global +\end{smlcode} +As explained in Chapter~\ref{exceptions.sec}, when a unary exception constructor +is applied to a value, both the argument value and the resulting constructed +value are forced into a particular global region. Thus, the application +\begin{center} + \lstinline!IO.Io {function = fcn^"", name = nam^"", cause = exn}! +\end{center} +has a potential space leak in it; every time we apply the exception constructor, +the resulting exception value will be put into a global region. This particular +space leak is perhaps not something that would keep one awake at night, because +most programs do not make a large number of failed attempts to open files, but +it is useful to be warned about this potential problem. Notice, however, that +the string arguments to \lstinline{raiseIo} are copied inside the body of +\lstinline{raiseIo}, so that they are not forced to be placed in the global string region. %--------------------------------------------------------- \chapter{References} \label{refs.sec} %--------------------------------------------------------- -Section~\ref{refbasics.sec} gives a brief summary of references in -Standard ML; it may be skipped by readers who know SML. Thereafter, -we discuss runtime representation of references and region-annotated -reference types. +Section~\ref{refbasics.sec} gives a brief summary of references in Standard ML; +it may be skipped by readers who know SML. Thereafter, we discuss runtime +representation of references and region-annotated reference types. \section{References in Standard ML} \label{refbasics.sec} + A reference is a memory address (pointer). Standard ML has three built-in operations on -\index{reference}% +% +\index{reference} +% references +% \index{ref@\texttt{ref}}% \index{"!@\texttt{"!}}% \index{:=@\texttt{:=}}% \medskip -\halign{\indent\tt#\ \hfil&\quad$#$\hfil\ &\quad#\hfil\cr -ref & \forall\alpha.\alpha\to\alpha\,\REF & create reference\cr -! & \forall\alpha.\alpha\,\REF\to\alpha & de-referencing\cr -:= & \forall\alpha.\alpha\,\REF\ast\alpha\to\UNIT & assignment\cr} +\[ +\begin{array}{lcll} +\kw{ref} & \mapsto & \forall\alpha.\alpha\to\alpha\,\REF & \mbox{create reference} \\ +\kw{!} & \mapsto & \forall\alpha.\alpha\,\REF\to\alpha & \mbox{de-referencing} \\ +\kw{:=} & \mapsto & \forall\alpha.\alpha\,\REF\ast\alpha\to\UNIT & \mbox{assignment} +\end{array} +\] \medskip \noindent -If the type of a reference $r$ is $\tau\,\REF$ then one can store -values of type $\tau$ (only) at address $r$. A reference is a value -and can therefore be bound to a value identifier by a {\tt val} -declaration. While the value stored at a reference may change, the -binding between variable and reference does not change. We show an -example, because this point can be confusing to programmers who are -familiar with mutable variables in languages like C and Pascal: -\begin{verbatim} - val it = let val x: int ref = ref 3 - val y: bool ref = ref true - val z: int ref = if !y then x else ref 5 - in z:= 6; !x - end -\end{verbatim} -Because \boxml{!y} evaluates to true, {\tt z} becomes bound to the -same reference ($r$) as {\tt x}. So, the subsequent assignment to -{\tt z} changes the contents of the store at address $r$ to contain 6. -Because {\tt x} and {\tt z} are aliases, the result of the {\tt let} -expression is the contents of the store at address $r$ (i.e., 6). +If the type of a reference $r$ is $\tau\,\REF$ then one can store values of type +$\tau$ (only) at address $r$. A reference is a value and can therefore be bound +to a value identifier by a \lstinline{val} declaration. While the value stored +at a reference may change, the binding between variable and reference does not +change. We show an example, because this point can be confusing to programmers +who are familiar with mutable variables in languages like C and Pascal: +\begin{smlcode} + val it = + let val x : int ref = ref 3 + val y : bool ref = ref true + val z : int ref = if !y then x else ref 5 + in z:= 6; !x + end +\end{smlcode} +Because \lstinline{!y} evaluates to true, \lstinline{z} becomes bound to the +same reference ($r$) as \lstinline{x}. So, the subsequent assignment to +\lstinline{z} changes the contents of the store at address $r$ to contain 6. +Because \lstinline{x} and \lstinline{z} are aliases, the result of the +\lstinline{let} expression is the contents of the store at address $r$ (i.e., +6). \section{Runtime Representation of References} -The MLKit translates an SML expression of the form $\boxml{ref - $\exp$}$\/ into an expression of the form (assuming $\exp$ -translates into $e$) -$$\boxml{ref $\at\,\rho~ e$}$$ -which is evaluated as follows. First -$e$ is evaluated. Assume that this evaluation yields a value $v$. Here -$v$ may be a +The MLKit translates an SML expression of the form $\kw{ref}~\exp$ into an +expression of the form (assuming $\exp$ translates into $e$) +$$\kw{ref}\,\at\,\rho~ e$$ which is evaluated as follows. First $e$ is +evaluated. Assume that this evaluation yields a value $v$. Here $v$ may be a +% \index{boxing}% -boxed or an unboxed value. Next, a 64-bit word is allocated in the -region denoted by $\rho$; let $r$ be the address of this word. Then -$v$ is stored at address $r$ and $r$ is the result of the evaluation. +% +boxed or an unboxed value. Next, a 64-bit word is allocated in the region +denoted by $\rho$; let $r$ be the address of this word. Then $v$ is stored at +address $r$ and $r$ is the result of the evaluation. \begin{figure} \hrule @@ -2996,165 +3286,166 @@ \section{Runtime Representation of References} \put(8,5){\hbox{$\ldots$}} \put(20,5){\framebox(20,10){$v$}} \put(15,8){\hbox{$r:$}} -\put(25,0){\boxml{r35}} -\put(8,0){\boxml{r34}} -\put(45,0){\boxml{r36}} +\put(25,0){\kw{r35}} +\put(8,0){\kw{r34}} +\put(45,0){\kw{r36}} \put(45,5){\hbox{$\ldots$}} \end{picture} \end{center} -\caption{Creating a reference allocates one word in a region on the - region stack. Here, the region is drawn as a finite region, but it - could equally well be infinite.} +\caption{Creating a reference allocates one word in a region on the region + stack. Here, the region is drawn as a finite region, but it could equally well + be infinite.} \label{refsv.fig} \medskip \hrule \end{figure} -The situation is depicted in Figure~\ref{refsv.fig}. The value $v$ can -be unboxed as shown in Figure~\ref{refs.fig}. Or it may be boxed, in -which case $v$ is an address. +The situation is depicted in Figure~\ref{refsv.fig}. The value $v$ can be +unboxed as shown in Figure~\ref{refs.fig}. Or it may be boxed, in which case $v$ +is an address. Notice that a reference really is a pointer in the implementation. In -particular, a reference is not tagged, so the register allocator may -choose to store a particular reference in a register. The -content of the reference is also always one word, either an unboxed -value (e.g., an integer or a boolean) or a pointer (if the content is -boxed). So the content of a reference is not tagged either. - -De-referencing a reference $r$ is done by reading the content of the -memory location $r$. Notice that de-referencing does not require -knowledge of what region the word with address $r$ resides in. - -Assigning a value $v$ to a reference $r$ simply stores $v$ in the -memory at address $r$. When $v$ is an unboxed value, the assignment -can be regarded as copying $v$ into the memory cell $r$; otherwise $v$ -is a pointer, which the assignment stores in the memory cell $r$. -Either way, assignment is a constant-time operation. +particular, a reference is not tagged, so the register allocator may choose to +store a particular reference in a register. The content of the reference is also +always one word, either an unboxed value (e.g., an integer or a boolean) or a +pointer (if the content is boxed). So the content of a reference is not tagged +either. + +De-referencing a reference $r$ is done by reading the content of the memory +location $r$. Notice that de-referencing does not require knowledge of what +region the word with address $r$ resides in. + +Assigning a value $v$ to a reference $r$ simply stores $v$ in the memory at +address $r$. When $v$ is an unboxed value, the assignment can be regarded as +copying $v$ into the memory cell $r$; otherwise $v$ is a pointer, which the +assignment stores in the memory cell $r$. Either way, assignment is a +constant-time operation. \section{Region-Annotated Reference Types} + The general +% \index{type!region-annotated}% +% form of a region-annotated reference type is: -$$(\mu\,\REF,\rho)$$ -Informally, a reference $r$ has this type if it -is the address of a word in the region denoted by $\rho$ and, -moreover, $\mu$ is the region-annotated type with place of the -contents of that word. For example, assume $\rho$ is bound to some -region name, say \boxml{r35}; then the evaluation of the declaration -~\boxml{val x = ref $\at\,\rho$ 3}~ results in the environment -$\{\boxml{x}\mapsto r\}$, where $r$ is the address of a word with -contents 3 residing in region \boxml{r35}, see Figure~\ref{refs.fig}. -The type of \boxml{x} is {\tt (int ref, $\rho$)}. +$$(\mu\,\REF,\rho)$$ Informally, a reference $r$ has this type if it is the +address of a word in the region denoted by $\rho$ and, moreover, $\mu$ is the +region-annotated type with place of the contents of that word. For example, +assume $\rho$ is bound to some region name, say \kw{r35}; then the evaluation of +the declaration ~\lstinline!val x = ref at $\rho$ 3! results in the environment +$\{\kw{x}\mapsto r\}$, where $r$ is the address of a word with contents 3 +residing in region \kw{r35}, see Figure~\ref{refs.fig}. The type of the +variable \kw{x} is \lstinline!(int ref, $\rho$)!. \begin{figure} \hrule \begin{center} \begin{picture}(50,20) \put(8,5){\hbox{$\ldots$}} -\put(20,5){\framebox(20,10){\boxml{3}}} +\put(20,5){\framebox(20,10){\kw{3}}} \put(15,8){\hbox{$r:$}} -\put(25,0){\boxml{r35}} -\put(8,0){\boxml{r34}} -\put(45,0){\boxml{r36}} +\put(25,0){\kw{r35}} +\put(8,0){\kw{r34}} +\put(45,0){\kw{r36}} \put(45,5){\hbox{$\ldots$}} \end{picture} \end{center} -\caption{Creating a reference allocates one word in a region on the - region stack. Here, the region is drawn as a finite region, but it - could equally well be infinite.} +\caption{Creating a reference allocates one word in a region on the region + stack. Here, the region is drawn as a finite region, but it could equally well + be infinite.} \label{refs.fig} \medskip \hrule \end{figure} - References are treated like all other values by region inference. The -region-annotated type schemes given to the three built-in operations -are: \medskip +region-annotated type schemes given to the three built-in operations are: -\halign{\indent\tt#\ \hfil&\quad$#$\hfil\ &#\hfil\cr -ref & \forall\alpha\rho\epsilon.\alpha \ar{\epsilon.\{\Put(\rho)\}}(\alpha~\REF,\rho)\cr -! & \forall\alpha\rho\epsilon.(\alpha~\REF,\rho)\ar{\epsilon.\{\Get(\rho)\}} \alpha \cr -:= & \forall\alpha\rho\epsilon.[(\alpha~\REF,\rho), \alpha] \ar{\epsilon.\{\Get(\rho)\}} \UNIT\cr} -\medskip +\[ +\begin{array}{lcl} +\kw{ref} & \mapsto & \forall\alpha\rho\epsilon.\alpha \ar{\epsilon.\{\Put(\rho)\}}(\alpha~\REF,\rho)\\ +\kw{!} & \mapsto & \forall\alpha\rho\epsilon.(\alpha~\REF,\rho)\ar{\epsilon.\{\Get(\rho)\}} \alpha \\ +\kw{:=} & \mapsto & \forall\alpha\rho\epsilon.[(\alpha~\REF,\rho), \alpha] \ar{\epsilon.\{\Get(\rho)\}} \UNIT +\end{array} +\] \noindent -The type scheme for \verb+:=+ has in it a $\Get$ effect on the region -holding the reference. Although the operator does not actually read -the value, the presence of the value is necessary for it to be updated. -Assigning a value $v$ to a reference $r$ does not make a copy of $v$ -(unless $v$ is unboxed). Instead, \verb+:=+ updates the content of the reference $r$ -to point to $v$. - -The advantage of the chosen scheme for handling references is that -reference creation, de-referencing, and assignment all are -constant-time operations. The disadvantage is that if two values may -be assigned to the same reference, then they are forced to be in the -same regions (cf. the region-annotated type schemes given above). - -If we compile the example from Section~\ref{refbasics.sec}, we get the -program shown in Figure~\ref{otherrefs.fig}.\footnote{Program - \boxml{kitdemo/refs3.sml}.} +The type scheme for \kw{:=} has in it a $\Get$ effect on the region holding the +reference. Although the operator does not actually read the value, the presence +of the value is necessary for it to be updated. Assigning a value $v$ to a +reference $r$ does not make a copy of $v$ (unless $v$ is unboxed). Instead, +\kw{:=} updates the content of the reference $r$ to point to $v$. + +The advantage of the chosen scheme for handling references is that reference +creation, de-referencing, and assignment all are constant-time operations. The +disadvantage is that if two values may be assigned to the same reference, then +they are forced to be in the same regions (cf. the region-annotated type schemes +given above). + +If we compile the example from Section~\ref{refbasics.sec}, we get the program +shown in Figure~\ref{otherrefs.fig}.\footnote{Program \boxml{kitdemo/refs3.sml}.} \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{smlcode} let val it = let region r9:INF; val x = ref at r9 3; - region r10:1; - val y = ref at r10 true; + region r11:1; + val y = ref at r11 true; val z = case !y of true => x | _ => ref at r9 5; - val _ = (z := 6) + val _ = z := 6 in !x end in {|it: _|} end -\end{verbatim} +\end{smlcode} \caption{Region-annotated reference creation.} \label{otherrefs.fig} \medskip \hrule \end{figure} -The region denoted by {\tt r9} contains the memory word whose address -is bound to {\tt x} and {\tt z}, and whose contents is first 3, then -6. The region denoted by {\tt r10} contains a single boolean. Also -notice that the word containing 5 is designated {\tt r9}, because the -{\tt then} and {\tt else} branches must be given the same -region-annotated type with place. Finally, notice that all references -will be reclaimed automatically at the end of the {\tt let} -construct that bind \boxml{r9} and \boxml{r10}. +The region denoted by \kw{r9} contains the memory word whose address is bound to +\kw{x} and \kw{z}, and whose contents is first 3, then 6. The region denoted by +\kw{r11} contains a single boolean. Also notice that the word containing 5 is +designated \kw{r9}, because the \lstinline{then} and \lstinline{else} branches +must be given the same region-annotated type with place. Finally, notice that +all references will be reclaimed automatically at the end of the \lstinline{let} +construct that bind \kw{r9} and \kw{r11}. \section{Local References} -References \index{reference!local} that are created locally within a -function and that do not escape the function naturally reside in -regions that are local to the function body. For example, the -declaration:\footnote{Program \boxml{kitdemo/refs1.sml}.} -\begin{verbatim} - fun id x = let val r = ref x in !r end; -\end{verbatim} + +References +% +\index{reference!local}% +% +that are created locally within a function and that do not escape the function +naturally reside in regions that are local to the function body. For example, +the declaration:\footnote{Program \boxml{kitdemo/refs1.sml}.} +\begin{smlcode} + fun id x = let val r = ref x in ! r end +\end{smlcode} is compiled into -\begin{verbatim} - let fun id at r1 [] (x) = - let region r11:1; - val r = ref at r11 x - in !r - end - in {|id: (_,r1)|} +\begin{smlcode} + let fun id at r1 x = + let region r11:1 in !(ref at r11 x) end + in {|id: (_,r1)|} end -\end{verbatim} -Here {\tt r11} will be implemented as one word on the runtime stack. -The evaluation of ~~\boxml{ref at r11 x}~~ moves the argument -\boxml{x} to that word on the stack. At the end of the inner -\texttt{let}-scope, the word (i.e., region \texttt{r11}) is popped off the stack. - -Now, let us turn to an example of a memory cell whose lifetime extends -the scope of its declaration, because it is accessible via a function -(in Algol terminology, the reference is an {\em own variable} +\end{smlcode} +Here \kw{r11} will be implemented as one word on the runtime stack. The +evaluation of \lstinline!ref at r11 x! moves the argument \kw{x} to that word on +the stack. At the end of the inner \lstinline{let}-scope, the word (i.e., region +\kw{r11}) is popped off the stack. + +Now, let us turn to an example of a memory cell whose lifetime extends the scope +of its declaration, because it is accessible via a function (in Algol +terminology, the reference is an {\em own variable} +% \index{variable!own}% +% of the function.)\footnote{Program \boxml{kitdemo/refs2.sml}.} -\begin{verbatim} +\begin{smlcode} local val r = ref ([]:string list) in @@ -3162,171 +3453,175 @@ \section{Local References} end val y = memo_id "abc" val z = memo_id "efg"; -\end{verbatim} -Provided that in-lining by the optimiser is restricted to in-line only -those functions that are applied once,\footnote{To restrict the - optimiser accordingly, provide the option - \texttt{-maximum\_inline\_size 0} to the MLKit compiler.} this example -compiles into -\begin{verbatim} - let val r = ref at r6 nil; - fun memo_id at r1 [] (x) = - let val _ = (r := :: (x, !r)at r4) in x end; - val y = memo_id[] "abc"at r3; - val z = memo_id[] "efg"at r3 - in {|r: (_,r6), memo_id: (_,r1), y: (_,r3), z: (_,r3)|} - end -\end{verbatim} -and the MLKit warns us that there is a possible space -leak:\footnote{Warnings are printed only if the option {\tt - -warn\_on\_escaping\_puts} is passed to the MLKit compiler along - with the option \texttt{-maximum\_inline\_size 0}. See - Chapter~\ref{spaceleak.sec}.} -\begin{verbatim} +\end{smlcode} +Provided that in-lining by the optimiser is restricted to in-line only those +functions that are applied once,\footnote{To restrict the optimiser accordingly, +provide the option \inline{-maximum_inline_size 0} (or \inline{-max_inl_sz 0}) +to the MLKit compiler.} this example compiles into +\begin{smlcode} + let val r = ref at r6 nil; + fun memo_id at r1 x = + let val _ = := (r, :: (x, ! r)at r4) in x end; + val y = memo_id "abc"; + val z = memo_id "efg" + in {|memo_id: (_,r1), y: (_,r3), z: (_,r3)|} + end +\end{smlcode} +and the MLKit warns us that there is a possible space leak:\footnote{Warnings +are printed only if the option \inline{-warn_on_escaping_puts} is passed to the +MLKit compiler along with the option \inline{-max_inl_sz 0}. See +Chapter~\ref{spaceleak.sec}.} +\begin{scriptcode} *** Warnings *** -memo_id has a type scheme with escaping put effects on region(s): +memo_id has a type scheme with escaping put effects on region(s): r4, which is also free in the type schemes with places of : r -\end{verbatim} +\end{scriptcode} \section{Hints on Programming with References} -There is no need to shy away from using references when programming -with regions. However, one needs to be aware of the restriction that -values that may be assigned to the same references are forced to live -in the same region, and that this region with all its values will be -alive for as long as the reference is live. If the contents type is -unboxed (e.g., {\tt int}), there is no problem, for in that case, no -region for the contents is allocated. But one should avoid creating -long-lived references that are assigned many different large values. + +There is no need to shy away from using references when programming with +regions. However, one needs to be aware of the restriction that values that may +be assigned to the same references are forced to live in the same region, and +that this region with all its values will be alive for as long as the reference +is live. If the contents type is unboxed (e.g., \kw{int}), there is no problem, +for in that case, no region for the contents is allocated. But one should avoid +creating long-lived references that are assigned many different large values. %--------------------------------------------------------- \chapter{Recursive Data Types} \label{datatypes.sec} %--------------------------------------------------------- -This chapter describes how the MLKit treats recursive data types. We -have already seen how one recursive datatype, namely lists, is -handled. This chapter deals with the general case. -%Standard ML \index{tree!binary} -%permits the programmer to declare (possibly recursive) data types -%using the {\tt datatype} declaration. -%For example, one can declare a polymorphic, recursive -%data type for binary trees as -%follows:\index{tree@\texttt{tree}}\index{Lf@\texttt{Lf}}\index{Br@\texttt{Br}}\index{datatype@\texttt{datatype}} -%\begin{verbatim} -% datatype 'a tree = Lf | Br of 'a * 'a tree * 'a tree; -%\end{verbatim} +This chapter describes how the MLKit treats recursive data types. We have +already seen how one recursive datatype, namely lists, is handled. This chapter +deals with the general case. \section{Spreading Data Types} + The MLKit performs an analysis called +% \index{spreading}% -``spreading of data types''. Spreading of datatypes analyses {\tt - datatype} declarations. This analysis of a {\tt datatype} -declaration uses information about the type constructors that appear -in the types of the constructors of the data type(s) introduced by the -declaration, but it does not use information about the use of the data -type. +% +``spreading of data types''. Spreading of datatypes analyses +\lstinline{datatype} declarations. This analysis of a \lstinline{datatype} +declaration uses information about the type constructors that appear in the +types of the constructors of the data type(s) introduced by the declaration, but +it does not use information about the use of the data type. Spreading determines (a) a so-called +% \index{arity}% -arity of every type name that the data type declaration introduces and -(b) a region-annotated type scheme for every value constructor -introduced by the data type declaration. - -In the Definition of Standard ML every type name has an attribute, -called its arity \cite[page 15]{mthm97}. The arity of a type name is the number -of type arguments it requires. For example, {\tt int} has arity 0 -while the type name introduced by the following declaration of binary -trees has arity 1: +% +arity of every type name that the data type declaration introduces and (b) a +region-annotated type scheme for every value constructor introduced by the data +type declaration. + +In the Definition of Standard ML every type name has an attribute, called its +arity \cite[page 15]{mthm97}. The arity of a type name is the number of type +arguments it requires. For example, \kw{int} has arity 0 while the type name +introduced by the following declaration of binary trees has arity 1: +% \index{tree@\texttt{tree}}% +\index{tree!binary}% \index{Lf@\texttt{Lf}}% \index{Br@\texttt{Br}}% \index{datatype@\texttt{datatype}}% -\begin{verbatim} +% +\begin{smlcode} datatype 'a tree = Lf | Br of 'a * 'a tree * 'a tree; -\end{verbatim} +\end{smlcode} -The MLKit extends the notion of arity (in it's internal languages) to -account for regions and effects. For lists, for example, we need a -region for holding the pairs to which {\tt ::} is applied. For the -data type -\begin{verbatim} +The MLKit extends the notion of arity (in it's internal languages) to account +for regions and effects. For lists, for example, we need a region for holding +the pairs to which \kw{::} is applied. For the type +\begin{smlcode} datatype 'a foo = A | B of ('a * 'a) * ('a * 'a) -\end{verbatim} -the type of {\tt B} introduces the possibility of three region -variables (one for each star). Region variables that are induced by -the types of constructors and that do not hold the constructed values -themselves are called +\end{smlcode} +the type of \kw{B} introduces the possibility of three region variables (one for +each star). Region variables that are induced by the types of constructors and +that do not hold the constructed values themselves are called +% \index{region variable!auxiliary}% -{\em auxiliary region variables}. For example, the {\tt list} data -type: -\begin{verbatim} +% +{\em auxiliary region variables}. For example, the \kw{list} type +\begin{smlcode} datatype 'a list = nil | op :: of 'a * 'a list -\end{verbatim} -has one auxiliary region variable, namely the region variable that -describes where the pairs of type {\tt 'a * 'a list} (i.e., the -auxiliary +\end{smlcode} +has one auxiliary region variable, namely the region variable that describes +where the pairs of type \lstinline{'a * 'a list} (i.e., the auxiliary +% \index{pair!auxiliary}% +% pairs), reside. -Besides auxiliary regions, one sometimes needs auxiliary effects. For -an example, consider: -\begin{verbatim} +Besides auxiliary regions, one sometimes needs auxiliary effects. For an +example, consider the type declaration +\begin{smlcode} datatype V = N of int | F of V -> V -\end{verbatim} -Here one needs an arrow effect for the function type \boxml{V -> V}. -We refer to such an arrow effect as an +\end{smlcode} +Here one needs an arrow effect for the function type \lstinline{V -> V}. We +refer to such an arrow effect as an +% \index{arrow effect!auxiliary}% +% {\em auxiliary arrow effect} of the data type in question. - -We define the {\em (internal) arity} of a type name $t$ to be a triple +We define the \emph{(internal) arity} of a type name $t$ to be a triple $(n,k,m)$ of non-negative integers, where $n$ is the usual Standard ML arity of the type name, $k$ is the +% \index{region arity}% -{\em region arity} of $t$, and $m$ is the +% +\emph{region arity} of $t$, and $m$ is the +% \index{effect arity}% -{\em effect arity} of $t$. The region and effect arities indicate the -number of auxiliary regions and arrow effects of the data type, -respectively. - -For efficiency purposes, we have found it prudent to restrict the -maximal number of auxiliary regions a data type can have to one for -each kind of runtime type of regions and to restrict the maximal -number of auxiliary effects to 1. Otherwise, the number of auxiliary -regions can grow exponentially in the size of the program: -\begin{verbatim} +% +\emph{effect arity} of $t$. The region and effect arities indicate the number of +auxiliary regions and arrow effects of the data type, respectively. + +For efficiency purposes, we have found it prudent to restrict the maximal number +of auxiliary regions a data type can have to one for each kind of runtime type +of regions and to restrict the maximal number of auxiliary effects to 1. +Otherwise, the number of auxiliary regions can grow exponentially in the size of +the program: +\begin{smlcode} datatype t0 = C datatype t1 = C1 of t0 * t0 datatype t2 = C2 of t1 * t1 ... -\end{verbatim} -Here the number of auxiliary region variables would double for each -new data type declaration. Furthermore, all type names introduced by -a {\tt datatype} declaration are given the same arity (a {\tt - datatype} declaration can declare several types simultaneously). -%Within one constructor binding ({\it conbind\/}), all -%occurrences of the same type variable are paired with the same region variable. -%Different type variables are paired with different region variables. - -Because of the limit on the number of auxiliary region variables, -spreading of data type declarations sometimes unifies two auxiliary -region variables that would otherwise be distinct; but it only unifies -auxiliary region variables that have the same runtime type. The -practical consequence of these restrictions is that applying a -constructor to a value $v$ sometimes forces identification of regions -of $v$ that hold otherwise unrelated parts of $v$. - -The automatic memory management that we have discussed for lists -extends to other recursive data types without problems. For example, -binary trees are put into regions and are subsequently de-allocated -(in a constant time operation) when the region is popped. The next -section goes thorough an example to illustrate the point. - -The MLKit attempts to use an unboxed representation for value -constructors when possible. We have already seen how cons (i.e., -\texttt{::}) and \texttt{nil} use an unboxed representation (Chapter~\ref{lists.sec}). In -general, a value constructor of a type is represented unboxed if -(1) the type has at most three unary constructors and (2) each unary -constructor takes boxed arguments. +\end{smlcode} +Here the number of auxiliary region variables would double for each new data +type declaration. Furthermore, all type names introduced by a +\lstinline{datatype} declaration are given the same arity (a +\lstinline{datatype} declaration can declare several types simultaneously). + +Because of the limit on the number of auxiliary region variables, spreading of +data type declarations sometimes unifies two auxiliary region variables that +would otherwise be distinct; but it only unifies auxiliary region variables that +have the same runtime type. The practical consequence of these restrictions is +that applying a constructor to a value $v$ sometimes forces identification of +regions of $v$ that hold otherwise unrelated parts of $v$. + +The automatic memory management that we have discussed for lists extends to +other recursive data types without problems. For example, binary trees are put +into regions and are subsequently de-allocated (in a constant time operation) +when the region is popped. The next section goes through an example to +illustrate the point. + +The MLKit attempts to use an unboxed representation for value constructors when +possible. We have already seen how cons (i.e., \lstinline{::}) and +\lstinline{nil} use an unboxed representation (Chapter~\ref{lists.sec}). The +MLKit uses an advanced scheme for +% +\index{unboxing}% +% +unboxing that uses both the unused least significant bits and the unused most +significant bits of pointer-values for tagging constructors +\cite{10.1145/3674628}. Section~\ref{unboxing.sec} documents this scheme and +describes how the programmer can learn about MLKit's unboxing decisions. Before +presenting unboxing scheme in details, we first give an example of a tree +\lstinline{datatype} declaration for which MLKit will use an unboxed +representation that utilises the unused least-significant bits of pointer values +for storing constructor tags. \section{Example: Balanced Trees} Consider the program in Figure~\ref{balpre.fig}.\footnote{MLB-file: @@ -3334,70 +3629,222 @@ \section{Example: Balanced Trees} \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{smlcode} datatype 'a tree = Lf | Br of 'a * 'a tree * 'a tree (* preorder traversal of tree *) - fun preord (Lf, xs) = xs | preord (Br(x,t1,t2),xs) = x::preord(t1,preord(t2,xs)) - (* building a balanced binary tree - from a list: *) - + (* building a balanced binary tree from a list *) fun balpre [] = Lf - | balpre(x::xs) = + | balpre (x::xs) = let val k = length xs div 2 in Br(x, balpre(take(xs, k)), balpre(drop(xs, k))) end - (* preord o balpre is the identity: *) - + (* preord o balpre is the identity *) val it = print(implode(preord(balpre(explode "Greetings from the MLKit\n"),[]))); -\end{verbatim} -\caption{Example showing recycling of memory used for an intermediate - data structure. The function {\tt balpre} builds a balanced binary - tree from a list and {\tt preord} then flattens the tree to a list - (after which the tree is garbage).} +\end{smlcode} +\caption{Example showing recycling of memory used for an intermediate data + structure. The function \kw{balpre} builds a balanced binary tree from a list + and \kw{preord} then flattens the tree to a list (after which the tree is + garbage).} \medskip \hrule \label{balpre.fig} \end{figure} -We would hope that the balanced tree produced by {\tt balpre} is -removed after it has been collapsed into a list by {\tt preord}. And +We would hope that the balanced tree produced by \kw{balpre} is +removed after it has been collapsed into a list by \kw{preord}. And indeed it is. Here is the proof: -\begin{verbatim} +\begin{smlcode} val it = - let region r257:INF - in print[] - let region r259:INF - in implode[r257] - let region r262:INF, r264:1 - in preord[r259] - (let region r267:INF - in balpre[r262] - let region r270:1 - in explode[r267] - "Greetings from the Kit\n"at r270 + let region r125:INF + in print + let region r127:INF + in implode[r125] + let region r131:INF + in preord[r127] + (let region r135:INF + in balpre[r131] + let region r139:1 + in explode[r135] "Greetings from the Kit\n" end end, nil - )at r264 + ) end end end -\end{verbatim} -The exomorphic behavior of {\tt balpre} causes the tree to be -allocated in region {\tt r262}, which is -de-allocated after the call to {\tt preord}. +\end{smlcode} +The exomorphic behavior of \kw{balpre} causes the tree to be allocated in region +\kw{r131}, which is de-allocated after the call to \kw{preord}. -This is the kind of certainty about lifetimes we are aiming at. -Imagine, for example, that the trees under consideration were terms -representing different intermediate forms in a compiler. Then one -would like to know that (possibly large) syntax trees are not kept in -memory longer than needed. +This is the kind of certainty about lifetimes we are aiming at. Imagine, for +example, that the trees under consideration were terms representing different +intermediate forms in a compiler. Then one would like to know that (possibly +large) syntax trees are not kept in memory longer than needed. + +\section{Unboxing Schemes} +\label{unboxing.sec} + +\index{unboxing}% +\index{value!unboxed}% + +The MLKit uses a uniform representation of values, which is important for +compiling generic code (e.g., functions) separately from the code that uses +it. Still, under these constraints there are many possibilities for securing a +compact data representation. The MLKit uses tagged regions for some types of +values (instead of tagging the values themselves) and, as we have seen for lists +and binary trees, datatypes with a single unary constructor that takes boxed +arguments are implemented using the lower-bit tags in pointers to discriminate +between the constructors. + +MLKit does not stop here. +% +\index{bit stealing}% +% +It tries hard to represent data type constructors unboxed by utilising +(otherwise) non-used bits in pointer-values. On most modern architectures, +pointers are aligned to point only at word-addresses, which leaves the three +least-significant bits unused and which allows MLKit to represent lists and +trees unboxed, as we have seen earlier. Moreover, only the least 48 bits are +used for representing pointers; the remaining 16 most-significant bits are +unused on modern 64-bit architectures. + +When we have a datatype $t$ with $u$ unary constructors and $n$ nullary +constructors, if $0 \leq u < 2^{16}$ and if all arguments to the unary +constructors are known to be boxed (or not using the most-significant bits), we +can represent the type $t$ unboxed, using the high bits for tagging. If $u = 0$, +we call the type $t$ an +% +\index{enum-unboxed}% +\index{unboxing!enum}% +% +\emph{enum-unboxed} type. We call the type $t$ a +% +\index{low-unboxed}% +\index{unboxing!low}% +% +\emph{low-unboxed} type if $u = 1$ and the argument to the unary constructor is +boxed, and a +% +\index{high-unboxed}% +\index{unboxing!high}% +% +\emph{high-unboxed} type if $u > 1$ and if all arguments to the unary +constructors are known to be boxed. In the worst case, when none of the above +conditions are satisfied, MLKit uses a boxed representation of the datatype +$t$. When $t$ is a high-unboxed type, we use the 16 most significant bits to +discriminate between the unary and nullary constructors (for GC safety, MLKit +also sets the least significant bit for the nullary constructors). MLKit uses an +iterative algorithm to determine the boxity for mutually recursive +\lstinline{datatype} declarations, which also include data types with a single +unary constructor. For simplicity of region inference, region inference assumes +that, for mutually recursive \lstinline{datatype} declarations, either all the +declared types are unboxed or they are all boxed. + +As an example, MLKit implements the following datatype as a high-unboxed +type:\footnote{Program \boxml{kitdemo/high-unb.sml}.} + +\begin{smlcode} + datatype t = Leaf of string | Empty | Children of t list +\end{smlcode} + +\noindent +MLKit recognises that the arguments to $t$'s unary constructors are either boxed +or use only lower bits for tagging (i.e., \kw{t list}). The higher bits are thus +available for discriminating between the three constructor values. We can get +MLKit to report on boxing decisions by passing the compile-time flag +\kw{-report\_boxities}: +\begin{scriptcode} + $ mlkit -no_gc -report_unboxing high-unb.sml | grep Boxities + *** Boxities: [t:hub] +\end{scriptcode} + +\noindent +Indeed, MLKit reports that it has decided for \kw{t} to be high-unboxed. + +More formally, MLKit distinguishes between the following \emph{boxities} +($\kappa$): +% +\index{unboxing!boxity}% +\index{boxity}% + +\[ +\begin{array}{lclp{8cm}} + \kappa & ::= & \kw{lub} & low-unboxed \\ + & | & \kw{hub} & high-unboxed \\ + & | & \kw{box} & boxed \\ + & | & \kw{enum} & enumeration (only nullary-constructors) \\ + & | & \kw{single}~\kappa & single unary-constructor datatype +\end{array} +\] + +\noindent +When MLKit analyses a set of simultaneously declared data types, it +starts with an optimistic guess for each type and checks if the guess is valid +according to a series of rules: + +\begin{enumerate} +\item No unary constructor of a type with boxity \kw{hub} can take a value as + argument that uses the upper (i.e., most significant) 16 bits. +\item No type with boxity \kw{lub} can have more than one unary constructor. We + admit here that MLKit could relax this condition and allow up to four unary + constructors. +\item Unary constructors of types with boxity \kw{lub} must take boxed + arguments. +\end{enumerate} + +\noindent +If a rule is violated, an attempt is made with less optimistic assumptions. + +Many types may be implemented unboxed using this scheme, including data types +for representing grammars, datatypes for representing union-find structures, and +data types representing finite maps, such as patricia trees +\cite{10.1145/3674628}. + +To obtain good boxity decisions, it may sometimes be beneficial for a programmer +to make sure that an argument to a constructor is indeed boxed. Consider the +following mutually recursive \lstinline{datatype} declaration:\footnote{Program +\boxml{kitdemo/expdec.sml}.} +\begin{smlcode} + datatype exp = LET of dec * exp | ADD of exp * exp | INT of int + and dec = VALBIND of string * exp +\end{smlcode} + +\noindent +MLKit reports the following boxity decisions: +\begin{scriptcode} + $ mlkit -no_gc -report_boxities expdec.sml | grep Boxities + *** Boxities: [exp:box,dec:box] +\end{scriptcode} + +\noindent +We see that both \kw{exp} and \kw{dec} are represented boxed, which means that +not only will the arguments to \kw{LET}, \kw{ADD}, and \kw{VALBIND} be +represented boxed in designated regions, each value of the \kw{exp} and \kw{dec} +types will be represented as a pointer to two region-allocated words, one word +for storing the constructor tag and one word holding a pointer to the +constructor argument (in the case of the \kw{INT} constructor, the argument will +be unboxed). + +If instead, we arrange that the argument to the \kw{INT} constructor is boxed, +the algorithm will determine that \kw{exp} is high-unboxed and \kw{dec} has +boxity \kw{single box}.\footnote{Program \boxml{kitdemo/expdec2.sml}.} For +arranging that the argument to the \kw{INT} constructor is boxed, we enclose the +integer in a singleton record (\lstinline!INT of {value:int}!), which MLKit +will always represent boxed: + +\begin{scriptcode} + $ mlkit -no_gc -report_boxities expdec2.sml | grep Boxities + *** Boxities: [exp:hub,dec:single box] +\end{scriptcode} + +We see that now \kw{exp} is represented unboxed and \kw{dec} is represented +unboxed and without storing constructor tags at all! %--------------------------------------------------------- \chapter{Exceptions} @@ -3405,33 +3852,42 @@ \chapter{Exceptions} %--------------------------------------------------------- Standard ML +% \index{exception}% \index{exception constructor}% +% exception constructors are introduced by +% \index{exception declaration}% \index{exception@\texttt{exception}}% +% {\em exception declarations}. The two most basic forms are -$$\boxml{exception {\it excon}}$$ +\begin{center} + \lstinline!exception $\mathit{excon}$! +\end{center} and -$$\boxml{exception {\it excon} of {\it ty}}$$ -for introducing nullary -and unary exception constructors, respectively. +\begin{center} + \lstinline!exception $\mathit{excon}$ of $\mathit{ty}$! +\end{center} +for introducing nullary and unary exception constructors, respectively. %Unary exception constructors are typically %used when one wants to raise an exception that contains a %reason (represented by a value of type {\it ty}). -Exception declarations need not occur at top level. For example, a -function body may contain exception declarations. +Exception declarations need not occur at top level. For example, a function body +may contain exception declarations. \section{Exception Names} Each evaluation of an exception declaration creates a fresh +% \index{exception!generative}% \index{exception name}% -{\em exception name\/} and binds it to the exception constructor. This -is sometimes referred to as the {\em generative\/} nature of Standard -ML exceptions. +% +{\em exception name\/} and binds it to the exception constructor. This is +sometimes referred to as the {\em generative\/} nature of Standard ML +exceptions. -In the MLKit, an exception name is implemented as a pointer to a pair +MLKit implements an exception name as a pointer to a pair consisting of an integer and a string pointer; the string pointer points to the name of the exception, which is a global constant in the target program. The string is used for printing the name of the @@ -3439,115 +3895,140 @@ \section{Exception Names} creating the pair is, as always with pairs, two words. \section{Exception Values} + Standard ML has a type +% \index{exn@\texttt{exn}}% +% {\tt exn} of +% \index{exception value}% +% {\em exception values}. An exception value is either a +% \index{exception value!nullary}% +% {\em nullary\/} exception value or a +% \index{exception value!constructed}% -{\em constructed\/} exception value. A nullary exception value is a -pointer to a word that points to an exception name. A constructed -exception value is a pair $(\ename,v)$ of an exception name $\ename$ -and a value $v$; we refer to $v$ as the {\em argument\/} of $\ename$. -This representation of exception values allows for the exception name -of an exception value to be fetched in the same way irrespective of -whether the exception value is nullary or constructed. - -Referring to a nullary exception constructor allocates no memory. By -contrast, applying a unary exception constructor to an argument -constructs a constructed exception value. The memory cost of such an -application is two words for holding the pair $(\ename, v)$. - -The distinction between nullary and unary exception constructors is -important in the MLKit because our region inference analysis takes a -simple-minded approach to exceptions: +% +{\em constructed\/} exception value. A nullary exception value is a pointer to a +word that points to an exception name. A constructed exception value is a pair +$(\ename,v)$ of an exception name $\ename$ and a value $v$; we refer to $v$ as +the {\em argument\/} of $\ename$. This representation of exception values +allows for the exception name of an exception value to be fetched in the same +way irrespective of whether the exception value is nullary or constructed. + +Referring to a nullary exception constructor allocates no memory. By contrast, +applying a unary exception constructor to an argument constructs a constructed +exception value. The memory cost of such an application is two words for holding +the pair $(\ename, v)$. + +The distinction between nullary and unary exception constructors is important in +the MLKit because our region inference analysis takes a simple-minded approach +to exceptions: \begin{quote} - All exception names and nullary exception values are put into a - certain + All exception names and nullary exception values are put into a certain + % \index{region!global}% - global region and thus never reclaimed automatically. A constructed - exception value is put in a region that is live at least as long as - the exception constructor is in scope. + % + global region and thus never reclaimed automatically. A constructed exception + value is put in a region that is live at least as long as the exception + constructor is in scope. \end{quote} We therefore make the following recommendations: \begin{enumerate} -\item Put exception declarations at top level, if possible. That way, - the memory required by exception names will be bounded by the - program size. -\item Avoid applying unary exception constructors frequently; there is - no harm in raising and handling constructed exception values - frequently; it is the creation of many different constructed - exception values that can lead to space leaks. Nullary constructors - may be raised without incurring memory costs. +\item Put exception declarations at top level, if possible. That way, the + memory required by exception names will be bounded by the program size. +\item Avoid applying unary exception constructors frequently; there is no harm + in raising and handling constructed exception values frequently; it is the + creation of many different constructed exception values that can lead to space + leaks. Nullary constructors may be raised without incurring memory costs. \end{enumerate} \section{Raising Exceptions} + An expression of the form +% \index{exception!raising}% -$$\boxml{raise {\it exp}}$$ -is evaluated as follows. First {\it exp}, -an expression of type {\tt exn}, is evaluated to an exception value. -Then the runtime +% +\begin{center} + \lstinline!raise $\mathit{exp}$! +\end{center} +is evaluated as follows. First {\it exp}, an expression of type \kw{exn}, is +evaluated to an exception value. Then the runtime +% \index{stack}% -stack is scanned from top to bottom in search of a handler that -can handle the exception. A register points to the top-most exception -handler; the exception handlers are linked together as a linked list -interspersed with the other contents of the runtime stack. If a -matching handler is found, the runtime stack is popped down to the -handler. This popping includes popping of regions that lie between -that stack top and the handler. Put differently, consider an +% +stack is scanned from top to bottom in search of a handler that can handle the +exception. A register points to the top-most exception handler; the exception +handlers are linked together as a linked list interspersed with the other +contents of the runtime stack. If a matching handler is found, the runtime +stack is popped down to the handler. This popping includes popping of regions +that lie between that stack top and the handler. Put differently, consider an expression of the form +% \index{let region@\texttt{let region}}% -{\tt let region $\rho$ in $e$ end}; if $e$ evaluates to an exception -packet, then the region bound to $\rho$ is de-allocated and the packet -is also the result of evaluating the \texttt{let region} expression. - -We have not attempted to design an analysis that would estimate how -far down the stack a given exception value might propagate. Of course, -it would not be a very good idea to allocate a constructed exception -value in a region that is popped before the exception is handled! -This is why we put all exception names in +% +\lstinline!let region $\rho$ in $e$ end!; if $e$ evaluates to an exception +packet, then the region bound to $\rho$ is de-allocated and the packet is also +the result of evaluating the \lstinline{let region} expression. + +We have not attempted to design an analysis that would estimate how far down the +stack a given exception value might propagate. Of course, it would not be a very +good idea to allocate a constructed exception value in a region that is popped +before the exception is handled! This is why we put all exception names in +% \index{region!global}% +% global regions. \section{Handling Exceptions} + The ML expression form +% \index{exception!handling}% -$$\boxml{${\it exp}_1$ handle {\it match}}$$ -is compiled into a -$\MulExp$ expression of the form -\begin{tabbing} -\ \ \ \ \ \ \=\tt let region $\rho$ in \\ -\>\ \ \=\boxml{let $f$ = fn $\at\,\rho$ {\it match} in $e_1$ handle $f$ end}\\ -\>\tt end -\end{tabbing} -where $f$ is a fresh variable. So first a handler (expressed as a -function) is evaluated and stored in some region $\rho$. This region -will always have multiplicity one and therefore be a finite region -which is put on the stack. Then $e_1$, the result of compiling ${\it - exp}_1$, is evaluated. If $e_1$ terminates with a value, the {\tt - let region} construct will take care of de-allocating the handler. -If $e_1$ terminates with an exception, however, $f$ is applied. - -Thus the combined cost of raising an exception and searching for the -appropriate handler takes time proportional to the depth of the -runtime stack in the worst case. - -Handling of exceptions is the only operation that takes time that -cannot be determined statically, provided one admits arithmetic -operations as constant-time operations. +% +\begin{center} + \lstinline!$\mathit{exp}_1$ handle $\mathit{match}$! +\end{center} +is compiled into a $\MulExp$ expression of the form +\begin{lstlisting} + let region $\rho$ + in let f = fn at $\rho$ $\mathit{match}$ + in $e_1$ handle f + end + end +\end{lstlisting} +where $f$ is a fresh variable. So first a handler (expressed as a function) is +evaluated and stored in some region $\rho$. This region will always have +multiplicity one and therefore be a finite region which is put on the stack. +Then $e_1$, the result of compiling $\mathit{exp}_1$, is evaluated. If $e_1$ +terminates with a value, the \lstinline!let region! construct will take care of +de-allocating the handler. If $e_1$ terminates with an exception, however, $f$ +is applied. + +Thus the combined cost of raising an exception and searching for the appropriate +handler takes time proportional to the depth of the runtime stack in the worst +case. + +Handling of exceptions is the only operation that takes time that cannot be +determined statically, provided one admits arithmetic operations as +constant-time operations. \section{Example: Prudent Use of Exceptions} -Here is an example of prudent use of exceptions in the MLKit: + +Figure~\ref{prudentexn.fig} shows an example of good use of exceptions with +MLKit. +% \index{hd@\texttt{hd}}% \index{tl@\texttt{tl}}% -\bigskip +% -\vbox{ +\begin{figure} \hrule -\begin{verbatim} +\medskip +\begin{smlcode} exception Hd (* recommendation 1 *) fun hd [] = raise Hd @@ -3563,216 +4044,223 @@ \section{Example: Prudent Use of Exceptions} local val error_f = Error "f" (* recommendation 2 *) in - fun f(l) = + fun f l = hd(tl(tl l)) handle _ => raise error_f end - val r = f[1,2,3,4] -\end{verbatim} + val r = f [1,2,3,4] +\end{smlcode} +\caption{Prudent use of exceptions with MLKit.\label{prudentexn.fig}} +\medskip \hrule -}\bigskip +\end{figure} -The application \boxml{Error "f"} has been lifted out from the body of -\boxml{f}. No matter how many times {\tt f} is applied, it will not -create additional exception values.\footnote{Program - \boxml{kitdemo/exceptions.sml}.} +The application \lstinline!Error "f"! has been lifted out from the body of +\kw{f}. No matter how many times \kw{f} is applied, it will not create +additional exception values.\footnote{Program \boxml{kitdemo/exceptions.sml}.} %--------------------------------------------------------- \chapter{Resetting Regions} \label{storagemodes.sec} %--------------------------------------------------------- -The idea of region resetting was introduced in -Section~\ref{checked.sec}. + +The idea of region resetting was introduced in Section~\ref{checked.sec}. +% \index{region!resetting}% This chapter gives an informal explanation of the rules that govern -resetting. Knowing these rules is useful, irrespective of whether one -makes the MLKit decide on region resetting, or prefers to control -resetting explicitly in the program. +resetting. Knowing these rules is useful, irrespective of whether one makes the +MLKit decide on region resetting, or prefers to control resetting explicitly in +the program. -Resetting only makes sense for infinite regions. Resetting a region -is a constant-time operation. Because the same region variable can be -bound sometimes to a finite region and sometimes to an infinite region -at runtime, resetting a region can involve a test at runtime. +Resetting only makes sense for infinite regions. Resetting a region is a +constant-time operation. Because the same region variable can be bound +sometimes to a finite region and sometimes to an infinite region at runtime, +resetting a region can involve a test at runtime. -The MLKit contains an analysis, called the {\em storage mode analysis}, -which has two purposes: +The MLKit contains an analysis, called the {\em storage mode analysis}, which +has two purposes: \begin{enumerate} -\item inserting automatic resetting of infinite regions, when possible -\item checking applications of $\resetr$ (and +\item Inserting automatic resetting of infinite regions, when possible. +\item Checking applications of $\resetr$ (and + % \index{forceResetting@$\resetf$}% - $\resetf$) so as to report on the safety of the resetting requested - by the programmer + % + $\resetf$) so as to report on the safety of the resetting requested by the + programmer. \end{enumerate} -As a matter of design, one might wonder whether it would not be -sufficient to rely on the user to indicate where resetting should be -done. However, checking whether resetting is safe at a particular -point chosen by the user is of course no easier than checking whether -resetting is safe at an arbitrary point in the program, so one might -as well let the compiler insert region resetting whenever it can prove -that it is safe. - -In this chapter, we describe the principles that underlie the storage -mode analysis. Even if one is willing to insert $\resetr$ and -$\resetf$ instructions in the program, one still needs to understand -these principles, so as to be able to act upon the messages that are -generated by the system in response to explicit $\resetr$ and -$\resetf$ instructions. +As a matter of design, one might wonder whether it would not be sufficient to +rely on the user to indicate where resetting should be done. However, checking +whether resetting is safe at a particular point chosen by the user is of course +no easier than checking whether resetting is safe at an arbitrary point in the +program, so one might as well let the compiler insert region resetting whenever +it can prove that it is safe. + +In this chapter, we describe the principles that underlie the storage mode +analysis. Even if one is willing to insert $\resetr$ and $\resetf$ instructions +in the program, one still needs to understand these principles, so as to be able +to act upon the messages that are generated by the system in response to +explicit $\resetr$ and $\resetf$ instructions. \section{Storage Modes} + As we have seen in previous chapters, region inference decorates every +% \index{allocation point}% \index{at@\texttt{at}}% -allocation point with an annotation of the form $\at\,\rho$, -indicating into what region the value should be stored. +% +allocation point with an annotation of the form $\fw{at}\,\rho$, indicating into +what region the value should be stored. -Now the basic idea is that storing a value into a region can be done -in one of two ways, at runtime. One either stores the value at the +Now the basic idea is that storing a value into a region can be done in one of +two ways, at runtime. One either stores the value at the +% \index{top of region}% -{\em top\/} of the region, thereby increasing the size of the region; -or one stores the value into the +% +{\em top\/} of the region, thereby increasing the size of the region; or one +stores the value into the +% \index{bottom of region}% -{\em bottom\/} of the region, by first resetting the region (so that -it contains no values) and then storing the value into the region. -%Pure resetting of a region can be accomplished by storing a value of size zero -%at the bottom of the region. +% +{\em bottom\/} of the region, by first resetting the region (so that it contains +no values) and then storing the value into the region. -The storage mode analysis transforms an allocation point $\at\,\rho$ +The storage mode analysis transforms an allocation point $\fw{at}\,\rho$ into +% \index{attop@\texttt{attop}}% -$\attop\,\rho$ when it estimates that $\rho$ contains live values at +% +$\fw{attop}\,\rho$ when it estimates that $\rho$ contains live values at the allocation point, whereas it transforms it into +% \index{atbot@\texttt{atbot}}% -$\atbot\,\rho$ if it can prove that the region will contain no live -values at that allocation point. The tokens $\attop$ and $\atbot$ are -called +% +$\fw{atbot}\,\rho$ if it can prove that the region will contain no live values +at that allocation point. The tokens $\fw{attop}$ and $\fw{atbot}$ are called +% \index{storage mode}% +% {\em storage modes}. \index{region polymorphism}% -Region polymorphism introduces several interesting problems. Let $f$ -be a region-polymorphic function with formal region parameter $\rho$ -and consider an allocation point $\at\,\rho$ in the body of $f$. -Whether it is safe for $f$ to store the value at bottom in the region -depends not only on the body of $f$ but also on the context in which -$f$ is called. +% +Region polymorphism introduces several interesting problems. Let $f$ be a +region-polymorphic function with formal region parameter $\rho$ and consider an +allocation point $\fw{at}\,\rho$ in the body of $f$. Whether it is safe for $f$ +to store the value at bottom in the region depends not only on the body of $f$ +but also on the context in which $f$ is called. For example, consider the compilation unit -\begin{verbatim} +\begin{smlcode} fun f [] = [] | f (x::xs) = x+1 :: f xs val ll = [1,2,3] val l2 = if true then f l1 else l1 val x::_ = l1 -\end{verbatim} -When {\tt f} creates the empty list, it can potentially reset the +\end{smlcode} + +\noindent +When \kw{f} creates the empty list, it can potentially reset the +% \index{region!auxiliary}% +% auxiliary region intended for the +% \index{pair!auxiliary}% -auxiliary pairs of the list. In the above program, however, the -conditional forces \boxml{f l1} and \boxml{l2} to be in the same -region as {\tt l1}. Because \boxml{l1} is live after the application -of {\tt f}, this application must not use $\atbot$ as storage mode. -Indeed, even if we removed the last line of the program, the -application could still not use $\atbot$, for \boxml{l1} is exported -from the compilation unit and thus potentially used by subsequent +% +auxiliary pairs of the list. In the above program, however, the conditional +forces \kw{f l1} and \kw{l2} to be in the same region as \kw{l1}. Because +\kw{l1} is live after the application of \kw{f}, this application must not use +\fw{atbot} as storage mode. Indeed, even if we removed the last line of the +program, the application could still not use \fw{atbot}, because \kw{l1} is +exported from the compilation unit and thus potentially used by subsequent compilation units. By contrast, consider\footnote{Program \boxml{kitdemo/sma1.sml}.} -\begin{verbatim} +\begin{smlcode} fun f [] = [] | f (x::xs) = x+1 :: f xs val n = length(let val l1 = [1,2,3] in if true then f l1 else l1 end) -\end{verbatim} -When {\tt f} creates the empty list, it is welcome to reset the region -that holds \boxml{l1}, for by that time, \boxml{l1} is no longer -needed! ({\tt f} traverses {\tt l1}, but when it reaches the end of -the list, {\tt l1} is no longer used.) Indeed, the MLKit will replace -the list \boxml{[1,2,3]} by \boxml{[2,3,4]}. The ability to replace -data in regions is crucial in many situations (as we illustrated with -the game of Life in Section~\ref{life.sec}). - -Because the MLKit allows for separate compilation, it cannot know all -the call sites of a region-polymorphic function, when it is declared. -Therefore, when considering an allocation point $\at\,\rho$ inside the -body of some region-polymorphic function $f$ that has $\rho$ as a -formal region parameter, one cannot know at compile time whether to -use $\attop$ or $\atbot$ as storage mode. Instead, the storage mode -analysis operates with a third kind of storage mode named $\sat$, -read: ``somewhere at''. Consider an application of $f$ for which -$\rho$ is instantiated to some region variable $\rho'$, say. At -runtime, $\rho'$ is bound to some region name -(Section~\ref{fininf.sec}) $r'$. Then $r'$ is combined with a -definite storage mode (i.e., $\attop$ or $\atbot$), to yield $r$, say, -which is then bound to $\rho$. When $r'$ was originally created (by a -{\tt let region} expression), $r'$ was also made to contain an -indication of whether it is an infinite region or a finite -region.\footnote{On machines\label{atbit.lab} that have at least four - bytes per word, the two least significant bits of a pointer to a - word will always be 00. These two bits hold extra information in the - \index{region name}% - region name. One bit, called the ``atbot bit'', holds the current - storage mode of the region. Another bit, called the ``infinity - bit'', indicates whether the region is finite or infinite.} At -runtime, an allocation point $\sat\,\rho$ in the body of $f$ will test -$r$ to see whether the region is infinite and whether the value should -be stored at the top or at the bottom.\footnote{When $\rho$ has - multiplicity infinity, $r'$ must be the name of an infinite region, - so the runtime check on whether $r$ has its infinity bit set is - omitted.} - -The relevant parts of the result of compiling the last example are -shown in Figure~\ref{sma1.fig}. To see the storage modes, pass the option -\index{print drop regions expression with storage modes@\texttt{-print\_drop\_regions\_expression\_with\_storage\_modes}}% -$$\boxml{-print\_drop\_regions\_expression\_with\_storage\_modes}$$ -to the MLKit compiler. - -%The intermediate form obtained by enabling this flag is from before -%the optimisation that drops non-put regions (page -%\pageref{bother-to-distinguish-get-n-put}) and may therefore have more -%region variables than the intermediate form obtained by enabling the -%flag \boxml{print drop regions expression}. +\end{smlcode} + +\noindent +When \kw{f} creates the empty list, it is welcome to reset the region that holds +\kw{l1}, because by that time, \kw{l1} is no longer needed! (\kw{f} traverses +\kw{l1}, but when it reaches the end of the list, \kw{l1} is no longer used.) +Indeed, the MLKit will replace the list \kw{[1,2,3]} by \kw{[2,3,4]}. The +ability to replace data in regions is crucial in many situations (as we +illustrated with the game of Life in Section~\ref{life.sec}). + +Because the MLKit allows for separate compilation, it cannot know all the call +sites of a region-polymorphic function, when it is declared. Therefore, when +considering an allocation point $\fw{at}\,\rho$ inside the body of some +region-polymorphic function $f$ that has $\rho$ as a formal region parameter, +one cannot know at compile time whether to use \fw{attop} or \fw{atbot} as +storage mode. Instead, the storage mode analysis operates with a third kind of +storage mode named \fw{sat}, read: ``somewhere at''. Consider an application of +$f$ for which $\rho$ is instantiated to some region variable $\rho'$, say. At +runtime, $\rho'$ is bound to some region name (Section~\ref{fininf.sec}) $r'$. +Then $r'$ is combined with a definite storage mode (i.e., \fw{attop} or +\fw{atbot}), to yield $r$, say, which is then bound to $\rho$. When $r'$ was +originally created (by a +% +\lstinline{let region}% +% +expression), $r'$ was also made to contain an indication of whether it is an +infinite region or a finite region.\footnote{On machines\label{atbit.lab} that +have at least four bytes per word, the two least significant bits of a pointer +to a word will always be 00. These two bits hold extra information in the +% +\index{region name}% +% +region name. One bit, called the ``atbot bit'', holds the current storage mode +of the region. Another bit, called the ``infinity bit'', indicates whether the +region is finite or infinite.} At runtime, an allocation point +% +\lstinline!sat $\rho$!% +% +in the body of $f$ will test $r$ to see whether the region is infinite and +whether the value should be stored at the top or at the bottom.\footnote{When +$\rho$ has multiplicity infinity, $r'$ must be the name of an infinite region, +so the runtime check on whether $r$ has its infinity bit set is omitted.} + +The relevant parts of the result of compiling the last example are shown in +Figure~\ref{sma1.fig}. To see the storage modes, pass the option +% +\index{print drop regions expression with storage modes@\texttt{-Pdresm}}% +% +$$\kw{-print\_drop\_regions\_expression\_with\_storage\_modes}$$ to the MLKit + compiler (or \kw{-Pdresm}). \begin{figure} \hrule \medskip -\begin{verbatim} - let fun f attop r1 [r14:INF] (var1) = +\begin{smlcode} + let fun f [r17:INF] var1 = case var1 of nil => nil - | _ => - let val v94 = decon_:: var1; - val v95 = #0 v94; - val v96 = #1 v94 - in :: (v95 + 1, f[sat r14] v96)attop r14 + | :: v94 => + let val v95 = #0 v94; val v96 = #1 v94 + in :: (v95 + 1, f[sat r17] v96)attop r17 end; val n = - let region r38:INF; - val a = let region r27:INF; - val l1 = [1,2,3] attop r27 - (*1*) in f[atbot r38] l1 - end; - region r40:1; - fun acc atbot r40 [] (var11, var12) = - case var11 of - nil => var12 - | _ => let val v261 = decon_:: var11; - val v263 = #1 v261 - in acc[] - end - in acc[] + let region r31:INF + in length + let region r33:INF + (*1*) in f[atbot r31] [1,2,3] attop r33 + end end in {|f: (_,r1), n: _|} end -\end{verbatim} -\caption{Storage modes inferred by the storage mode analysis. Notice - that the MLKit has inlined the call to the function - \texttt{length}.} +\end{smlcode} +\caption{Storage modes inferred by the storage mode analysis for the program + \kw{kitdemo/sma1.sml}. Use the flag \kw{-max\_inl\_sz 0} to avoid inlining of + the small function \kw{length}.} \label{sma1.fig} \medskip \hrule @@ -3780,55 +4268,58 @@ \section{Storage Modes} \section{Storage Mode Analysis} \label{sma.sec} -For the purpose of the storage mode analysis, actual region parameters -to region-polymorphic functions are considered allocation points. -Passing a region as an actual argument to a region-polymorphic -function involves neither resetting the region nor storing any value -in it, but a storage mode has to be determined at that point -nonetheless, because it has to be passed into the function together -with the region. The storage mode expresses whether, at the call site, -there may be any live values in the region after the call. For -example, in Figure~\ref{sma1.fig}, the call to {\tt f} at {\tt (*1*)} -passes {\tt r16} with storage mode {\tt atbot} because the only value -that exists before the call of {\tt f} and is needed after the call of -{\tt f} is {\tt length}, which is declared in a different compilation -unit and therefore obviously does not reside in {\tt r16}. - -Within every lambda abstraction, the MLKit performs a backwards flow -analysis that determines, for every allocation point, a set of + +For the purpose of the storage mode analysis, actual region parameters to +region-polymorphic functions are considered allocation points. Passing a region +as an actual argument to a region-polymorphic function involves neither +resetting the region nor storing any value in it, but a storage mode has to be +determined at that point nonetheless, because it has to be passed into the +function together with the region. The storage mode expresses whether, at the +call site, there may be any live values in the region after the call. For +example, in Figure~\ref{sma1.fig}, the call to \kw{f} at \lstinline{(*1*)} +passes \kw{r31} with storage mode \fw{atbot} because the only value that exists +before the call of \kw{f} and is needed after the call of \kw{f} is +\kw{length}, which is declared in a different compilation unit and therefore +obviously does not reside in \kw{r31}. + +Within every lambda abstraction, the MLKit performs a backwards flow analysis +that determines, for every allocation point, a set of +% \index{variable!locally live}% -{\em locally live variables}, that is, a set of variables used by the -remainder of the computation in the function up to the syntactic end -of the function. (This includes variables that appear in function -application expressions.) Prior to the computation of locally live -variables, a program transformation, called +% +{\em locally live variables}, that is, a set of variables used by the remainder +of the computation in the function up to the syntactic end of the +function. (This includes variables that appear in function application +expressions.) Prior to the computation of locally live variables, a program +transformation, called +% \index{K-normalisation}% \label{K-normal-form}% -{\em K-normalisation}, has made sure that every intermediate result -that arises during computation becomes bound to a variable. (This -happens by introducing extra {\tt let} bindings, when -necessary.)\footnote{K-normalisation is transparent to users: although - the storage mode analysis and all subsequent phases up to code - generation operate on K-normal forms, programs are always simplified - to eliminate the extra {\tt let} bindings before they are presented - to the user.} - -The MLKit also computes a set of locally live variables for those -allocation points that do not occur inside functions. - -We now give an informal explanation of the rules that assign storage -modes to allocation points. Let an allocation point +% +{\em K-normalisation}, has made sure that every intermediate result that arises +during computation becomes bound to a variable. (This happens by introducing +extra \lstinline{let} bindings, when necessary.)\footnote{K-normalisation is +transparent to users: although the storage mode analysis and all subsequent +phases up to code generation operate on K-normal forms, programs are always +simplified to eliminate the extra \boxml{let}-bindings before they are presented +to the user.} + +The MLKit also computes a set of locally live variables for those allocation +points that do not occur inside functions. + +We now give an informal explanation of the rules that assign storage modes to +allocation points. Let an allocation point \begin{equation} -\label{allocpoint}\at\,\rho +\label{allocpoint}\fw{at}\,\rho \end{equation} be given. \bigskip -\noindent{\bf CASE A:} $\rho$ is a global region. Then $\attop$ is used. -There is a deficiency we have to admit here. The MLKit only puts {\tt - region} bindings around expressions, not around declarations. Thus, if one -writes -\begin{verbatim} +\noindent{\bf CASE A:} $\rho$ is a global region. Then \fw{attop} is used. +There is a deficiency we have to admit here. The MLKit only puts +\lstinline{region} bindings around expressions, not around declarations. Thus, +if one writes +\begin{smlcode} local fun f [] = [] | f (x::xs) = x+1 :: f xs @@ -3836,412 +4327,410 @@ \section{Storage Mode Analysis} in val n = length(if true then f l1 else l1) end -\end{verbatim} +\end{smlcode} \noindent -at top level, then \boxml{l1} is put into a global region, although -this is really unnecessary. As a consequence, {\tt f} would be called -with storage mode {\tt attop} and thus {\tt l1} would not be -overwritten. \bigskip +at top level, then \kw{l1} is put into a global region, although this decision +is really unnecessary. As a consequence, \kw{f} would be called with storage +mode \fw{attop} and thus \kw{l1} would not be overwritten. \bigskip \noindent{\bf CASE B:} The region variable $\rho$ is not a global region and the allocation point (\ref{allocpoint}) occurs inside a lambda abstraction, that is, -inside an expression of the form \boxml{fn {\it pat} => $e$}. Here we +inside an expression of the form \lstinline!fn $\mathit{pat}$ => $e$!. Here we regard every expression of the form -$$\boxml{let fun f(x) = $e$ in $e'$ end}$$ as an abbreviation for -$$\boxml{let val rec f = fn(x) => $e$ in $e'$ end}$$ -Then it makes -sense to talk about {\em the smallest enclosing lambda abstraction (of - the allocation point)}. +\begin{center} + \lstinline!let fun f x = $e$ in $e'$ end! +\end{center} +as an abbreviation for +\begin{center} + \lstinline!let val rec f = fn x => $e$ in $e'$ end! +\end{center} +Then it makes sense to talk about {\em the smallest enclosing lambda abstraction + (of the allocation point)}. Now there are the following cases: \begin{description} -\item[B1] {\it $\rho$ is bound outside the smallest enclosing lambda - abstraction (and this lambda abstraction is not the right-hand - side of a declaration of a region-polymorphic function that has - $\rho$ as formal parameter):} use {\tt attop} - \index{attop@\texttt{attop}}% - (see Figure~\ref{b1.fig}) - \item[B2] {\it $\rho$ is bound by a {\tt let region} expression - inside the smallest enclosing function:} use {\tt atbot} if no - locally live variable at the allocation point has $\rho$ free in - its region-annotated type scheme with place - (Section~\ref{regtych.sec}), and use {\tt attop} otherwise - \index{let region@\texttt{let region}}% - (see Figure~\ref{b2.fig}) - \item[B3 (first attempt)]{\it $\rho$ is a formal parameter of a - region-polymorphic function whose right-hand side is the - smallest enclosing lambda abstraction:} use - \index{sat@\texttt{sat}}% - {\tt sat}, if no locally live variable at the allocation point has - $\rho$ free in its region-annotated type scheme with place, and - use {\tt attop} otherwise (see Figure~\ref{b3.fig}). +\item[B1] {\it $\rho$ is bound outside the smallest enclosing lambda abstraction + (and this lambda abstraction is not the right-hand side of a declaration of a + region-polymorphic function that has $\rho$ as formal parameter):} Use + \fw{attop} + % + \index{attop@\texttt{attop}}% + % + (see Figure~\ref{b1.fig}). +\item[B2] {\it $\rho$ is bound by a {\rm \fw{let region}} expression inside the + smallest enclosing function:} Use \fw{atbot} if no locally live variable at + the allocation point has $\rho$ free in its region-annotated type scheme with + place (Section~\ref{regtych.sec}), and use \fw{attop} otherwise + % + \index{let region@\texttt{let region}}% + % + (see Figure~\ref{b2.fig}). +\item[B3 (first attempt)]{\it $\rho$ is a formal parameter of a + region-polymorphic function whose right-hand side is the smallest enclosing + lambda abstraction:} Use + % + \index{sat@\texttt{sat}}% + % + \fw{sat}, if no locally live variable at the allocation point has $\rho$ free + in its region-annotated type scheme with place, and use \fw{attop} otherwise + (see Figure~\ref{b3.fig}). \end{description} + \begin{figure}[htb] \hrule -\begin{center} -\begin{tabbing} -\\ -\hskip3cm\=\tt let region $\rho$\\ - \>\tt in $\ldots$ (fn {\it pat} => $\ldots\at\,\rho\ldots$)\\ - \>\tt end\\ -\\ - \>\tt fun f at$\,\rho_1$ [$\rho$] =\\ - \>\tt\ \ \ (fn x => (fn y => $\ldots$ $\at\,\rho$ $\ldots$)at$\,\rho_2$)at$\,\rho_1$\\ -\end{tabbing} -\end{center} -\caption{Two typical situations where $\at\,\rho$ is turned into $\attop\,\rho$ - by +\medskip +\begin{smlcode} + let region $\rho$ + in $\ldots$ (fn $\mathit{pat}$ => $\ldots$ at $\rho$ $\ldots$) + end + + fun f at $\rho_1$ [$\rho$] x = + (fn y => $\ldots$ at $\rho$ $\ldots$)at $\rho_2$ +\end{smlcode} +\caption{Two typical situations where $\fw{at}\,\rho$ is turned into + $\fw{attop}\,\rho$ by + % \index{function!Curried}% + % rule~B1.} \medskip \hrule \label{b1.fig} \end{figure} \begin{figure}[htb] \hrule -\begin{center} -\begin{tabbing} -\\ -\hskip3cm\=\tt (fn ${\it pat}$ => $\ldots$\\ - \>\ \ \=\tt let region $\rho$ \\ - \> \>\tt in $\ldots\at\,\rho\ldots l \ldots$\\ - \> \>\tt end $\ldots$\\ - \>\tt ) -\end{tabbing} -\end{center} -\caption{The situation considered in B2. If no locally live variable - $l$ has $\rho$ occurring in its region-annotated type scheme with - place, replace $\at\,\rho$ by $\atbot\,\rho$, otherwise by - $\attop\,\rho$.} \medskip \hrule +\medskip +\begin{smlcode} + (fn $\mathit{pat}$ => $\ldots$ + let region $\rho$ + in $\ldots$ at $\rho$ $\ldots$ + end) +\end{smlcode} +\caption{The situation considered in B2. If no locally live variable $l$ has + $\rho$ occurring in its region-annotated type scheme with place, replace + $\fw{at}\,\rho$ by $\fw{atbot}\,\rho$, otherwise by + $\fw{attop}\,\rho$.} \medskip \hrule \label{b2.fig} \end{figure} \begin{figure}[htb] \hrule -\begin{center} -\begin{tabbing} -\\ -\hskip3cm\=\tt fun f $\at\,\rho_0$ [$\rho$, $\ldots$] = \\ - \>\tt \ \ \=\tt (fn ${\it pat}$ => $\ldots\at\rho\ldots l\ldots$) -\end{tabbing} -\end{center} -\caption{The situation considered in B3. If no locally live variable - $l$ has in its region-annotated type scheme with place a region - variable that may be aliased with $\rho$, replace $\at\,\rho$ by - $\sat\,\rho$, otherwise by $\attop\,\rho$.} \medskip \hrule +\medskip +\begin{smlcode} + fun f at $\rho_0$ [$\rho$, $\ldots$] $\mathit{pat}$ = + $\ldots$ at $\rho$ $\ldots$ l $\ldots$ +\end{smlcode} +\caption{The situation considered in B3. If no locally live variable $l$ has in + its region-annotated type scheme with place a region variable that may be + aliased with $\rho$, replace $\fw{at}\,\rho$ by $\fw{sat}\,\rho$, otherwise by + $\fw{attop}\,\rho$.} \medskip \hrule \label{b3.fig} \end{figure} -The motivation for (B1) is that if $\rho$ is declared non-locally, -then we do not attempt to find out whether $\rho$ contains live data -(this would require a more sophisticated analysis.) - -The intuition behind (B2) is as follows. Region inference makes sure -that the region-annotated type of a variable always contains free in -it region variables for all the regions that the value bound to the -variable needs when used. The lifetime of the region bound to $\rho$ -is given by the {\tt let region} expression, which is in the same -function as the allocation point. Thus, if no locally live variable at -the allocation point has $\rho$ free in its region-annotated type -scheme with place, then $\rho$ really does not contain any live value -at that allocation point. - -The intuition behind (B3) is the same as behind (B2), but in this case -there is a complication: $\rho$ is only a formal parameter so it may -be instantiated to different regions; in particular it may be -instantiated to a region variable that does occur free in the -region-annotated type scheme with place of a locally live variable at -the allocation point. If that happens, rule (B3), as stated, is not -sound! + +The motivation for (B1) is that if $\rho$ is declared non-locally, then we do +not attempt to find out whether $\rho$ contains live data (this would require a +more sophisticated analysis.) + +The intuition behind (B2) is as follows. Region inference makes sure that the +region-annotated type of a variable always contains free in it region variables +for all the regions that the value bound to the variable needs when used. The +lifetime of the region bound to $\rho$ is given by the \fw{let region} +expression, which is in the same function as the allocation point. Thus, if no +locally live variable at the allocation point has $\rho$ free in its +region-annotated type scheme with place, then $\rho$ really does not contain any +live value at that allocation point. + +The intuition behind (B3) is the same as behind (B2), but in this case there is +a complication: $\rho$ is only a formal parameter so it may be instantiated to +different regions; in particular it may be instantiated to a region variable +that does occur free in the region-annotated type scheme with place of a locally +live variable at the allocation point. If that happens, rule (B3), as stated, is +not sound! We refer to the phenomenon that two different region variables in the program may denote the same region at runtime as +% \index{region aliasing}% -{\em region aliasing}. To determine whether to use {\tt sat} or {\tt - attop} in case (B3), the MLKit builds a +% +{\em region aliasing}. To determine whether to use \fw{sat} or \fw{attop} in +case (B3), the MLKit builds a +% \index{region flow graph}% \label{region flow graph}% -{\em region flow graph\/} for the entire compilation unit. (This -construction happens in a phase prior to the storage mode analysis -proper.) The nodes of the region flow graph are region variables and -arrow effects that appear in the region-annotated compilation unit. -Whenever $\rho_1$ is a formal region parameter of some function -declared in the unit and $\rho_2$ is a corresponding actual region -parameter in the same unit, a directed edge from $\rho_1$ to $\rho_2$ -is created. Similarly for arrow effects: if $\epsilon_1.\rea_1$ is a -bound arrow effect of a region-polymorphic function declared in the -compilation unit and $\epsilon_2.\rea_2$ is a corresponding actual -arrow effect then an edge from $\epsilon_1$ to $\epsilon_2$ is -inserted into the graph. Also, edges from $\epsilon_2$ to every -region and effect variable occurring in $\rea_2$ are inserted. -Finally, for every region-polymorphic function $f$ declared in the -program and for every formal region parameter $\rho$ of $f$, if $f$ is -exported from the compilation unit, then an edge from $\rho$ to the -global region of the same runtime type as $\rho$ is inserted into the -graph. (This is necessary, so as to cater for applications of $f$ in -subsequent compilation units.) - -Let $G$ be the graph thus constructed. For every node $\rho$ in the -graph, we write $\langle\rho\rangle$ to denote the set of region -variables that can be reached from $\rho$, including $\rho$ itself. -The rule that replaces (B3) is: +% +{\em region flow graph\/} for the entire compilation unit. (This construction +happens in a phase prior to the storage mode analysis proper.) The nodes of the +region flow graph are region variables and arrow effects that appear in the +region-annotated compilation unit. Whenever $\rho_1$ is a formal region +parameter of some function declared in the unit and $\rho_2$ is a corresponding +actual region parameter in the same unit, a directed edge from $\rho_1$ to +$\rho_2$ is created. Similarly for arrow effects: if $\epsilon_1.\rea_1$ is a +bound arrow effect of a region-polymorphic function declared in the compilation +unit and $\epsilon_2.\rea_2$ is a corresponding actual arrow effect then an edge +from $\epsilon_1$ to $\epsilon_2$ is inserted into the graph. Also, edges from +$\epsilon_2$ to every region and effect variable occurring in $\rea_2$ are +inserted. Finally, for every region-polymorphic function $f$ declared in the +program and for every formal region parameter $\rho$ of $f$, if $f$ is exported +from the compilation unit, then an edge from $\rho$ to the global region of the +same runtime type as $\rho$ is inserted into the graph. (This is necessary, so +as to cater for applications of $f$ in subsequent compilation units.) + +Let $G$ be the graph thus constructed. For every node $\rho$ in the graph, we +write $\langle\rho\rangle$ to denote the set of region variables that can be +reached from $\rho$, including $\rho$ itself. The rule that replaces (B3) is: +% \index{region parameter!formal}% +% \begin{description} -\item[B3]{\it $\rho$ is a formal parameter of a region-polymorphic - function whose right-hand side is the smallest enclosing lambda - abstraction:} use {\tt sat}, if, for every variable $l$ that is - locally live at the allocation point and for every region variable - $\rho'$ that occurs free in the region-annotated type scheme with - place of $l$, it is the case that - $\langle\rho\rangle\cap\langle\rho'\rangle =\emptyset$; use {\tt - attop} otherwise. +\item[B3]{\it $\rho$ is a formal parameter of a region-polymorphic function + whose right-hand side is the smallest enclosing lambda abstraction:} Use + \fw{sat}, if, for every variable $l$ that is locally live at the allocation + point and for every region variable $\rho'$ that occurs free in the + region-annotated type scheme with place of $l$, it is the case that + $\langle\rho\rangle\cap\langle\rho'\rangle =\emptyset$; use \fw{attop} + otherwise. \end{description} \medskip -\noindent{\bf CASE C:} $\rho$ is bound by a {\tt let region} expression -and the allocation point (\ref{allocpoint}) does not occur inside any -function abstraction. As in (B2), use {\tt atbot} if no locally live -variable at the allocation point has $\rho$ free in its -region-annotated type scheme with place, and use {\tt attop} -otherwise. +\noindent{\bf CASE C:} $\rho$ is bound by a \fw{let region} expression and the +allocation point (\ref{allocpoint}) does not occur inside any function +abstraction. As in (B2), use \fw{atbot} if no locally live variable at the +allocation point has $\rho$ free in its region-annotated type scheme with place, +and use \fw{attop} otherwise. \section{Example: Computing the Length of Lists} \label{length.sec} -We shall now illustrate the storage mode rules of -Section~\ref{sma.sec} with some small examples, which also allow us to -discuss benefits and drawbacks associated with region resetting. - -Consider the functions declared in -Figure~\ref{length.fig};\footnote{Program \boxml{kitdemo/length.sml}.} -they implement five different ways of finding the length of a list! -The first, {\tt nlength}, is the most straightforward one. It is not -tail recursive. Textbooks in functional programming often recommend -that functions are written iteratively (i.e., using tail calls) -whenever possible. This we have done with {\tt tlength}. Next, {\tt - klength} is a version that contains a local +We shall now illustrate the storage mode rules of Section~\ref{sma.sec} with +some small examples, which also allow us to discuss benefits and drawbacks +associated with region resetting. + +Consider the functions declared in Figure~\ref{length.fig};\footnote{Program +\boxml{kitdemo/length.sml}.} they implement five different ways of finding the +length of a list! The first, \kw{nlength}, is the most straightforward one. It +is not tail recursive. Textbooks in functional programming often recommend that +functions are written iteratively (i.e., using tail calls) whenever +possible. This we have done with \kw{tlength}. Next, \kw{klength} is a version +that contains a local +% \index{region endomorphism}% -region endomorphism {\tt loop} to perform the iteration; {\tt llength} -is similar to {\tt klength}, except that the region endomorphism is -declared outside {\tt llength}, using +% +region endomorphism \kw{loop} to perform the iteration; \kw{llength} +is similar to \kw{klength}, except that the region endomorphism is +declared outside \kw{llength}, using +% \index{local@\texttt{local}}% -{\tt local}. +% +a \fw{local} declaration. \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{smlcode} fun upto n = - let fun loop(n,acc) = if n=0 then acc - else loop(n-1, n::acc) - in loop(n,[]) - end + let fun loop (n,acc) = if n=0 then acc + else loop(n-1, n::acc) + in loop(n,[]) + end fun nlength [] = 0 | nlength (_::xs) = 1 + nlength xs fun tlength l = - let fun tlength'(nil, acc) = acc - | tlength'(_::xs, acc) = tlength'(xs,acc+1) - in tlength'(l,0) - end + let fun tlength' (nil, acc) = acc + | tlength' (_::xs, acc) = tlength'(xs,acc+1) + in tlength'(l,0) + end fun klength l = - let fun loop(p as ([], acc)) = p - | loop(_::xs, acc) = loop(xs,acc+1) - in #2(loop(l,0)) - end + let fun loop (p as ([], acc)) = p + | loop (_::xs, acc) = loop(xs,acc+1) + in #2(loop(l,0)) + end - local fun llength'(p as ([], acc)) = p - | llength'(_::xs, acc) = llength'(xs,acc+1) - in fun llength l = #2(llength'(l, 0)) + local + fun llength' (p as ([], acc)) = p + | llength' (_::xs, acc) = llength'(xs,acc+1) + in + fun llength l = #2(llength'(l, 0)) end - fun global(p as ([], acc)) = p - | global(_::xs, acc) = global(xs, acc+1) + fun global (p as ([], acc)) = p + | global (_::xs, acc) = global(xs, acc+1) + fun glength l = #2(global(l, 0)) val k = 5000000 - val run = - nlength(upto k) + tlength(upto k) + klength(upto k) - + llength(upto k) + glength(upto k) -\end{verbatim} + val run = nlength(upto k) + tlength(upto k) + klength(upto k) + + llength(upto k) + glength(upto k) +\end{smlcode} \caption{Five different ways of computing the length of lists.} \bigskip \label{length.fig} \hrule \end{figure} A region profile resulting from running the program is shown in -Figure~\ref{length.region.fig}. The diagram shows how much space is -used in regions (both finite and infinite regions) and on the stack. -The +Figure~\ref{length.region.fig}. The diagram shows how much space is used in +regions (both finite and infinite regions) and on the stack. The +% \index{region descriptor}% -{\tt rDesc} band shows how much space is used on the stack for holding +% +\kw{rDesc} band shows how much space is used on the stack for holding region descriptors. The +% \index{stack band@\texttt{stack} band}% -{\tt stack} band shows how much space is used on the stack, including -neither finite regions nor region descriptors; the {\tt stack} band -mainly consists of registers and return addresses that have been -pushed onto the stack. -%mael +% +\kw{stack} band shows how much space is used on the stack, including neither +finite regions nor region descriptors; the \kw{stack} band mainly consists of +registers and return addresses that have been pushed onto the stack. + \begin{figure} \includerp{length_region.pdf} -\caption{Region profiling of five different - ways of computing the length of a list, namely, from left to right: - {\tt nlength}, {\tt tlength}, {\tt klength}, {\tt llength}, and {\tt - glength}.} +\caption{Region profiling of five different ways of computing the length of a + list, namely, from left to right: \kw{nlength}, \kw{tlength}, \kw{klength}, + \kw{llength}, and \kw{glength}.} \label{length.region.fig} \end{figure} -In Figure~\ref{length.region.fig}, we clearly see the five phases. In -each phase, first a list is built---seen as an almost linear growth in -a region; then follows a computation of the length of the list. The -space behavior of the five ways of computing the length vary. We shall -have more to say about the time behavior in what follows. - -As one would expect, {\tt nlength} leads to a peak in stack size; it -does not use regions. The peak in stack size is caused by the stacking -of a return address. - -Next, we see that {\tt tlength} is an improvement over {\tt nlength}, -the main reason being that the MLKit has figured out that the argument -to {\tt tlength} can be passed unboxed; thus no regions are used to -hold the argument pair. However, if we chose to disable the unboxing -of arguments that the MLKit performs,\footnote{Unboxing of function - arguments can be disabled by passing the option - \texttt{-no\_unbox\_function\_arguments} to the MLKit compiler.} the -function would become region-polymorphic and the polymorphic recursion -in regions would allow the pair \boxml{(xs, acc+1)} to be stored in a -region different from the argument pair to {\tt tlength'}. In this -case, what appeared to be a tail call would in fact not be a tail -call, for it would automatically be enclosed in a {\tt let region} -construct, introducing a fresh region for each argument pair -\boxml{(xs, acc+1)}. This region would be finite, so it would be -allocated on the stack. Thus, with unboxing of function arguments -disabled, we would see a sharp increase in stack size for {\tt - tlength'}. Although unboxing of function arguments saves us in this -situation, we cannot always expect it to do so; if we were to collect -boxed data in accumulating parameters to the function and this data is -not to be returned by the function, there is a danger that the -recursive call would not become a tail call due to the introduction of -a {\tt let region} construct being wrapped around the recursive -call.\footnote{The MLKit features an option - \texttt{--preserve\_tail\_calls}, which ensures that no - \texttt{region} binding is wrapped around a tail-call. This - option is enabled by default when garbage collection is enabled.} - -The next function, {\tt klength}, deserves careful study, because it +In Figure~\ref{length.region.fig}, we clearly see the five phases. In each +phase, first a list is built---seen as an almost linear growth in a region; then +follows a computation of the length of the list. The space behavior of the five +ways of computing the length vary. We shall have more to say about the time +behavior in what follows. + +As one would expect, \kw{nlength} leads to a peak in stack size; it does not use +regions. The peak in stack size is caused by the stacking of a return address. + +Next, we see that \kw{tlength} is an improvement over \kw{nlength}, the main +reason being that the MLKit has figured out that the argument to \kw{tlength} +can be passed unboxed; thus no regions are used to hold the argument +pair. However, if we chose to disable the unboxing of arguments that the MLKit +performs,\footnote{Unboxing of function arguments can be disabled by passing the +option \inline{-no_unbox_funargs} to the MLKit compiler.} the function would +become region-polymorphic and the polymorphic recursion in regions would allow +the pair \kw{(xs, acc+1)} to be stored in a region different from the +argument pair to \kw{tlength'}. In this case, what appeared to be a tail call +would in fact not be a tail call, for it would automatically be enclosed in a +\fw{let region} construct, introducing a fresh region for each argument pair +\kw{(xs, acc+1)}. This region would be finite, so it would be allocated on the +stack. Thus, with unboxing of function arguments disabled, we would see a sharp +increase in stack size for \kw{tlength'}. Although unboxing of function +arguments saves us in this situation, we cannot always expect it to do so; if we +were to collect boxed data in accumulating parameters to the function and this +data is not to be returned by the function, there is a danger that the recursive +call would not become a tail call due to the introduction of a \fw{let region} +construct being wrapped around the recursive call.\footnote{The MLKit features +an option \inline{-preserve_tail_calls}, which ensures that no \fw{region} +binding is wrapped around a tail-call. This option is enabled by default when +garbage collection is enabled.} + +The next function, \fw{klength}, deserves careful study, because it is a prototype of a particular schema that can be used again and again when programming with regions. Iteration is done by a +% \index{region endomorphism}% -region endomorphism, {\tt loop}, which is declared as a local function -to the main function. The use of the same variable {\tt p} on both the -left-hand side and the right-hand side of the declaration of {\tt - loop} forces {\tt loop} to be a region endomorphism. Because the -result of \boxml{loop(xs,acc+1)} is also the result of {\tt loop}, the -result of \boxml{loop(xs,acc+1)} therefore has to be in the same -region as {\tt p}; but because {\tt loop} is an endomorphism, -\boxml{(xs, acc+1)} is forced to be in the same region as {\tt p}. -Thus, what appears to be a tail call ({\tt loop(xs,acc+1)}) really -will be a tail call; in particular, there will be no fresh region for -the argument and no growth of the stack. - -Better still, we have carefully arranged that memory consumption will -be constant throughout the computation of the length of the list. -First, the argument to the initial call of {\tt loop} is a pair -\boxml{(l, 0)} constructed at that point. Because {\tt loop} is a -region endomorphism, the result of \boxml{loop(l, 0)} will be in the -same region as \boxml{(l, 0)}. Moreover, because we then immediately -take the second projection of that pair, that region is clearly local -to the body of {\tt klength}. Call the region $\rho$. Because there -can be an unbounded number of stores into this region, $\rho$ is -classified as infinite by multiplicity inference. - -The storage mode passed along with $\rho$ in the initial call -\boxml{loop(l,0)} is {\tt atbot}, by rule (B2) of -Section~\ref{sma.sec}. Inside {\tt loop}, the storage mode given to -the allocation of \boxml{(xs, acc+1)} is {\tt sat}, by rule (B3) of -Section~\ref{sma.sec}: the only locally live variable at the point -where the allocation takes place is {\tt loop}, which we must not -destroy before calling! The region that {\tt loop} lies in is clearly -different from $\rho$. - -Therefore, every iteration of {\tt loop} resets the infinite region -$\rho$ so that it will contain at most one pair. This is seen very -clearly in the third hump of Figure~\ref{length.region.fig}. - -Next consider {\tt llength}. The difference from {\tt klength} is that -{\tt llength'} is now declared outside {\tt llength}. Although the -use of {\tt local} makes it clear that {\tt llength'} is not exported -from the compilation unit, {\tt llength'} must in fact reside in a -global region, because {\tt llength}, which is exported, calls {\tt - llength'}. Nonetheless, the storage mode analysis still achieves -constant memory usage. As before, we have arranged that iteration is -done by a region endomorphism that is initially applied to a freshly -constructed pair. This pair can reside in a region that is local to -the body of {\tt llength} (once again, the projection -\verb+#2(llength'(l, 0))+ makes sure that the pair does not escape the -body of {\tt llength}). The crucial bit is now what storage mode {\tt - llength'} uses when it stores \boxml{(xs, acc+1)}. The only locally -live variable at that point is {\tt llength'} itself and, as we noted -earlier, {\tt length'} lives in a global region, which is clearly -different from the region inside {\tt llength} that contains all the -pairs. Thus, storage mode {\tt sat} will be used, as desired. - -Finally, consider {\tt glength}, which is similar to {\tt llength}, -but with the crucial difference that {\tt global} is exported from the -compilation unit. Because {\tt global} may be called from a different -compilation unit, then, for all we know, {\tt global} may be applied -to a pair that resides in the same (global) region as {\tt global} -itself. Using {\tt sat} when storing {\tt (xs, acc+1)} would then be a -big mistake: it would destroy the very function that we are trying to -call! Therefore, the storage mode analysis assigns {\tt attop} to that -storage operation.\footnote{To be precise, {\tt attop} comes about by - using rule (B3) of Section~\ref{sma.sec}. This example illustrates - why we put edges from formal region parameters to global regions for - exported functions when constructing the region flow graph. Notice - also that storage mode analysis does not take region runtime types - into account.} Consequently, we get a memory leak, as shown in the -final hump of Figure~\ref{length.region.fig}. +% +region endomorphism, \kw{loop}, which is declared as a local function to the +main function. The use of the same variable \kw{p} on both the left-hand side +and the right-hand side of the declaration of \kw{loop} forces \kw{loop} to be a +region endomorphism. Because the result of \kw{loop(xs,acc+1)} is also the +result of \kw{loop}, the result of \kw{loop(xs,acc+1)} therefore has to be in +the same region as \kw{p}; but because \kw{loop} is an endomorphism, \kw{(xs, + acc+1)} is forced to be in the same region as \kw{p}. Thus, what appears to +be a tail call (\kw{loop(xs,acc+1)}) really will be a tail call; in particular, +there will be no fresh region for the argument and no growth of the stack. + +Better still, we have carefully arranged that memory consumption will be +constant throughout the computation of the length of the list. First, the +argument to the initial call of \kw{loop} is a pair \kw{(l, 0)} constructed at +that point. Because \kw{loop} is a region endomorphism, the result of +\kw{loop(l, 0)} will be in the same region as \kw{(l, 0)}. Moreover, because we +then immediately take the second projection of that pair, that region is clearly +local to the body of \kw{klength}. Call the region $\rho$. Because there can be +an unbounded number of stores into this region, $\rho$ is classified as infinite +by multiplicity inference. + +The storage mode passed along with $\rho$ in the initial call \kw{loop(l,0)} is +\fw{atbot}, by rule (B2) of Section~\ref{sma.sec}. Inside \kw{loop}, the storage +mode given to the allocation of \kw{(xs, acc+1)} is \fw{sat}, by rule (B3) of +Section~\ref{sma.sec}: the only locally live variable at the point where the +allocation takes place is \kw{loop}, which we must not destroy before calling! +The region that \kw{loop} lies in is clearly different from $\rho$. + +Therefore, every iteration of \kw{loop} resets the infinite region $\rho$ so +that it will contain at most one pair. This is seen very clearly in the third +hump of Figure~\ref{length.region.fig}. + +Next consider \kw{llength}. The difference from \kw{klength} is that +\kw{llength'} is now declared outside \kw{llength}. Although the use of +\fw{local} makes it clear that \kw{llength'} is not exported from the +compilation unit, \kw{llength'} must in fact reside in a global region, because +\kw{llength}, which is exported, calls \kw{llength'}. Nonetheless, the storage +mode analysis still achieves constant memory usage. As before, we have arranged +that iteration is done by a region endomorphism that is initially applied to a +freshly constructed pair. This pair can reside in a region that is local to the +body of \kw{llength} (once again, the projection \kw{\#2(llength'(l, 0))} makes +sure that the pair does not escape the body of \kw{llength}). The crucial bit +is now what storage mode \kw{llength'} uses when it stores \kw{(xs, acc+1)}. +The only locally live variable at that point is \kw{llength'} itself and, as we +noted earlier, \kw{length'} lives in a global region, which is clearly different +from the region inside \kw{llength} that contains all the pairs. Thus, storage +mode \fw{sat} will be used, as desired. + +Finally, consider \kw{glength}, which is similar to \kw{llength}, but with the +crucial difference that \kw{global} is exported from the compilation +unit. Because \kw{global} may be called from a different compilation unit, then, +for all we know, \kw{global} may be applied to a pair that resides in the same +(global) region as \kw{global} itself. Using \fw{sat} when storing \kw{(xs, + acc+1)} would then be a big mistake: it would destroy the very function that +we are trying to call! Therefore, the storage mode analysis assigns \fw{attop} +to that storage operation.\footnote{To be precise, \boxml{attop} comes about by +using rule (B3) of Section~\ref{sma.sec}. This example illustrates why we put +edges from formal region parameters to global regions for exported functions +when constructing the region flow graph. Notice also that storage mode analysis +does not take region runtime types into account.} Consequently, we get a memory +leak, as shown in the final hump of Figure~\ref{length.region.fig}. To sum up, here is how one writes a loop without using space proportional to the number of iterations: \index{length of list}% \begin{enumerate} -\item The iteration should be done by an auxiliary, uncurried function - that is declared as local to the function that uses it; we refer - (informally) to this auxiliary function as the +\item The iteration should be done by an auxiliary, uncurried function that is + declared as local to the function that uses it; we refer (informally) to this + auxiliary function as the + % \index{iterator}% + % {\em iterator}. \item The iterator should be a + % \index{region endomorphism}% + % region endomorphism and should be tail recursive. -\item Iteration should start from a suitably fresh initial argument; - the result of the iteration should be kept clearly separate from the - region where the iterator function lies. +\item Iteration should start from a suitably fresh initial argument; the result + of the iteration should be kept clearly separate from the region where the + iterator function lies. \end{enumerate} -Mutual recursion poses no additional complications. All functions in a -block of mutually recursive functions are put in the same region. - -Finally, the reader may be concerned that the two recommended -solutions, {\tt klength} and {\tt llength}, are much slower than the -other versions. This is partly an artifact of the profiling -software.\footnote{When profiling is turned on, every resetting of a - region involves resetting of values in the first region page of the - region.} To get a better picture of the actual cost of the different -versions, we compiled the five programs separately (using lists of -length 10 million instead of 5 million) and then ran the programs on a -Mac Book Pro with 16Gb RAM and a 2,7 GHz Quad-Core Intel Core i7 -processor.\footnote{For larger lists, the \texttt{nlength} program may - cause stack overflow.} The results are shown in -Figure~\ref{length.timing.fig}. Because {\tt upto} alone takes 0.12 -seconds to build the list, the differences in times are clear: the -version of the length function that does not use the stack and that -takes its argument in registers (i.e., \texttt{tlength}) is the -fastest. The recommended versions of the length function (i.e., -\texttt{klength} and \texttt{llength}) run as well as the versions -that make use of the runtime stack (i.e., \texttt{nlength} and -\texttt{glength}), but are scalable and follow general useful -approaches to writing recursive functions. +Mutual recursion poses no additional complications. All functions in a block of +mutually recursive functions are put in the same region. + +Finally, the reader may be concerned that the two recommended solutions, +\kw{klength} and \kw{llength}, are much slower than the other versions. This is +partly an artifact of the profiling software.\footnote{When profiling is turned +on, every resetting of a region involves resetting of values in the first region +page of the region.} To get a better picture of the actual cost of the different +versions, we ran the five programs separately (using lists of length 10 million +instead of 5 million) on a Mac Book Pro with 16Gb RAM and a 2,7 GHz Quad-Core +Intel Core i7 processor.\footnote{Program \boxml{kitdemo/length-cmd.sml}. For +larger lists, the \boxml{nlength} program may cause stack overflow.} The +results are shown in Figure~\ref{length.timing.fig}. Because \kw{upto} alone +takes 0.12 seconds to build the list, the differences in times are clear: the +version of the length function that does not use the stack and that takes its +argument in registers (i.e., \kw{tlength}) is the fastest. The recommended +versions of the length function (i.e., \kw{klength} and \kw{llength}) run as +well as the versions that make use of the runtime stack (i.e., \kw{nlength} and +\kw{glength}), but are scalable and follow general useful approaches to writing +recursive functions. \begin{figure} \hrule @@ -4254,39 +4743,44 @@ \section{Example: Computing the Length of Lists} \end{tabular} \end{center} \caption{User time in seconds for building a list of 10 million elements and -computing its length, using five different length functions. {\tt upto} builds -the list, but does not compute a length. Times are average -over three runs.} + computing its length, using five different length functions. The function + \kw{upto} builds the list, but does not compute a length. Times are average + over three runs.} \label{length.timing.fig} \medskip \hrule \end{figure} -\section{\texttt{resetRegions} and \texttt{forceResetting}} -It is often the case that there are only a few places in the program -where resetting is really essential, for example in some main loop. -Therefore, the MLKit provides two operations that the programmer can use -to encourage (or force) the MLKit to perform resetting at particular -places in the program. The two operations are -\index{resetRegions@\texttt{resetRegions}} +\section{Resetting Regions} + +It is often the case that there are only a few places in the program where +resetting is really essential, for example in some main loop. Therefore, the +MLKit provides two operations that the programmer can use to encourage (or +force) the MLKit to perform resetting at particular places in the program. The +two operations are +% +\index{resetRegions@\texttt{resetRegions}}% +% $$\resetr\; {\it vid}$$ -and \index{forceResetting@$\resetf$} -$$\resetf\; {\it vid}$$ -In both cases, the argument has to be a value -identifier. To port programs that contain {\tt resetRegions} and {\tt - forceResetting} to other ML systems, simply declare -\begin{verbatim} +and +% +\index{forceResetting@$\resetf$}% +% +$$\resetf\; {\it vid}$$ In both cases, the argument has to be a value +identifier. To port programs that contain \kw{resetRegions} and +\kw{forceResetting} to other ML systems, simply declare +\begin{smlcode} fun resetRegions _ = () fun forceResetting _ = () -\end{verbatim} +\end{smlcode} before compiling the program developed using the MLKit. -Let $\rho$ be a region variable that occurs free in the -region-annotated type scheme with place of {\it vid}. Let $m$ be the -storage mode determined for $\rho$ at a program point according to the -rules of the previous section. Whether resetting of {\it vid\/} at that -program point actually takes place at runtime, depends on $m$ and on -whether resetting is forced, see Figure~\ref{smamodes.fig}. +Let $\rho$ be a region variable that occurs free in the region-annotated type +scheme with place of {\it vid}. Let $m$ be the storage mode determined for +$\rho$ at a program point according to the rules of the previous section. +Whether resetting of {\it vid\/} at that program point actually takes place at +runtime, depends on $m$ and on whether resetting is forced, see +Figure~\ref{smamodes.fig}. \begin{figure} \hrule @@ -4304,10 +4798,10 @@ \section{\texttt{resetRegions} and \texttt{forceResetting}} ($\ast$): A compile-time warning is printed in this case. \end{center} -\caption{The storage modes that will be used when resetting a region -depending on $m$, the storage mode inferred by the storage mode analysis, -and depending on whether the resetting is safe ($\resetr$) or potentially -unsafe ($\resetf$).} +\caption{The storage modes that will be used when resetting a region depending + on $m$, the storage mode inferred by the storage mode analysis, and depending + on whether the resetting is safe ($\resetr$) or potentially unsafe + ($\resetf$).} \label{smamodes.fig} \medskip \hrule @@ -4316,38 +4810,39 @@ \section{\texttt{resetRegions} and \texttt{forceResetting}} \section{Example: Improved Mergesort} \label{improvedmerge.sec} We can now improve on the +% \index{merge sort}% \index{msort@\texttt{msort}}% -mergesort algorithm (Section~\ref{polyrec.sec}) by taking storage -modes into account. Splitting a list can be done by an iterative -region endomorphism that is made local to the sorting function. Also, -when the input list has been split, it is no longer needed, so the -region it resides in can be reset. Similarly, when the two smaller -lists have been sorted (into new regions) the regions of the smaller -lists can be reset. These three simple observations lead to the -variant of {\tt msort} listed in +% +mergesort algorithm (Section~\ref{polyrec.sec}) by taking storage modes into +account. Splitting a list can be done by an iterative region endomorphism that +is made local to the sorting function. Also, when the input list has been +split, it is no longer needed, so the region it resides in can be +reset. Similarly, when the two smaller lists have been sorted (into new regions) +the regions of the smaller lists can be reset. These three simple observations +lead to the variant of \kw{msort} listed in Figure~\ref{msortreset1.fig}.\footnote{MLB-file: - \boxml{kitdemo/msortreset1.mlb}, file - \boxml{kitdemo/msortreset1.sml}.} +\boxml{kitdemo/msortreset1.mlb}, file \boxml{kitdemo/msortreset1.sml}.} + \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{smlcode} local fun cp [] = [] | cp (x::xs) = x :: cp xs - (* exormorphic merge *) - fun merge(xs, []) : int list = cp xs - | merge([], ys) = cp ys - | merge(l1 as x::xs, l2 as y::ys) = + (* exomorphic merge *) + fun merge (xs, []) : int list = cp xs + | merge ([], ys) = cp ys + | merge (l1 as x::xs, l2 as y::ys) = if x count(n+1,up(lev,ins),lev,next()) val (n,ins,lev,_) = count(0,0,0,next()) - in if lev=0 then (n,ins) else raise NotBalanced end fun report_file (filename, n, ins) = writeln (filename ^ ": size = " ^ Int.toString n - ^ " comments: " ^ Int.toString ins ^ " (" - ^ (Int.toString(percent(ins, n)) - handle _ => "") ^ "%)"); + ^ " comments: " ^ Int.toString ins ^ " (" + ^ (Int.toString(percent(ins, n)) + handle _ => "") ^ "%)"); (* scan_file(filename) scans through the file named filename returning either SOME(size_in_bytes, size_of_comments) @@ -4590,9 +5078,9 @@ \section{Example: Scanning Text Files} fun report_totals (n, ins) = writeln ("\nTotal sizes: " ^ Int.toString n - ^ " comments: " ^ Int.toString ins - ^ " (" ^ (Int.toString (percent (ins, n)) - handle _ => "") ^ "%)") + ^ " comments: " ^ Int.toString ins + ^ " (" ^ (Int.toString (percent (ins, n)) + handle _ => "") ^ "%)") (* main(fd) reads a sequence of filenames from fd, one file name pr line (leading spaces are skipped; no spaces @@ -4617,45 +5105,44 @@ \section{Example: Scanning Text Files} in val result = main F.stdin end -\end{verbatim} +\end{smlcode} \hrule \bigskip -The program was compiled both with and without profiling turned on. -The output from running the program on 14 of the source files for the -MLKit is shown here: -\begin{verbatim} -Parsing/Infixing.sml: size = 32156 comments: 5294 (16%) -Parsing/Parse.sml: size = 4537 comments: 726 (16%) -Parsing/Topdec.grm.sml: size = 195869 comments: 4698 (2%) -Parsing/GRAMMAR_UTILS.sml: size = 4818 comments: 701 (14%) -Parsing/INFIX_STACK.sml: size = 487 comments: 321 (65%) -Parsing/Topdec.lex.sml: size = 49968 comments: 1023 (2%) -Parsing/LEX_BASICS.sml: size = 2046 comments: 1289 (63%) -Parsing/LEX_UTILS.sml: size = 1575 comments: 383 (24%) -Parsing/GrammarUtils.sml: size = 17002 comments: 1820 (10%) -Parsing/LexBasics.sml: size = 12649 comments: 3987 (31%) -Parsing/MyBase.sml: size = 33803 comments: 11124 (32%) -Parsing/HOOKS.sml: size = 312 comments: 170 (54%) -Parsing/InfixStack.sml: size = 7404 comments: 2972 (40%) -Parsing/LexUtils.sml: size = 8305 comments: 487 (5%) - -Total sizes: 370931 comments: 34995 (9%) -\end{verbatim} +The program was compiled both with and without profiling turned on. The output +from running the program on 14 of the source files for the MLKit is shown here: +\begin{scriptcode} +../src/Parsing/Infixing.sml: size = 32153 comments: 5294 (16%) +../src/Parsing/Parse.sml: size = 5498 comments: 673 (12%) +../src/Parsing/Topdec.grm.sml: size = 212870 comments: 4698 (2%) +../src/Parsing/GRAMMAR_UTILS.sml: size = 5534 comments: 787 (14%) +../src/Parsing/INFIX_STACK.sml: size = 487 comments: 321 (65%) +../src/Parsing/Topdec.lex.sml: size = 49968 comments: 1023 (2%) +../src/Parsing/LEX_BASICS.sml: size = 2048 comments: 1242 (60%) +../src/Parsing/LEX_UTILS.sml: size = 1444 comments: 291 (20%) +../src/Parsing/GrammarUtils.sml: size = 17262 comments: 1820 (10%) +../src/Parsing/LexBasics.sml: size = 12636 comments: 3079 (24%) +../src/Parsing/MyBase.sml: size = 33725 comments: 11104 (32%) +../src/Parsing/HOOKS.sml: size = 312 comments: 170 (54%) +../src/Parsing/InfixStack.sml: size = 7404 comments: 2972 (40%) +../src/Parsing/LexUtils.sml: size = 8708 comments: 487 (5%) + +Total sizes: 390049 comments: 33961 (8%) +\end{scriptcode} A region profile for that run is shown in Figure~\ref{scan.fig}. The -almost-constant space usage is evident. The occasional disturbances -are due to the non-iterative functions that read a file name from -input by first reading one line and then extracting the name. +almost-constant space usage is evident. The occasional disturbances are due to +the non-iterative functions that read a file name from input by first reading +one line and then extracting the name. + \begin{figure} \includerp{scan.pdf} -\caption{Region profile of the comment scanner. The occasional - increases in memory use is due to the functions that read a file - name from a file descriptor. The program was compiled with - profiling enabled, then run with the command \texttt{run -notimer - 1000 < ../kitdemo/scanfiles}. A PostScript file \texttt{region.ps} - can be generated with the command \texttt{rp2ps -region -sampleMax - 200} and converted to \texttt{region.pdf} using \texttt{ps2pdf - region.ps region.pdf}. } +\caption{Region profile of the comment scanner. The occasional increases in + memory use is due to the functions that read a file name from a file + descriptor. The program was compiled with profiling enabled, then run with + the command \inline{run -notimer 1000 < ../kitdemo/scanfiles}. A Postscript + file \inline{region.ps} can be generated with the command \inline{rp2ps + -region -sampleMax 200} and converted to \inline{region.pdf} using + \inline{ps2pdf region.ps region.pdf}. } \label{scan.fig} \end{figure} @@ -4665,895 +5152,992 @@ \chapter{Higher-Order Functions} \label{hof.sec} %--------------------------------------------------------- -\section{Lambda Abstractions (\texttt{fn})} -A {\em lambda abstraction\/} +\section{Lambda Abstractions} + +A \emph{lambda abstraction} +% \index{lambda abstraction}% \index{function!higher-order}% +% in Standard ML is an expression of the form -$$\boxml{fn {\it pat} => {\it exp}}$$ -where {\it pat\/} is a pattern -and {\it exp\/} an expression. Lambda abstractions denote functions. -We refer to the {\it exp\/} as the {\em body\/} of the function; -variable occurrences in {\it pat\/} are binding occurrences; -informally, the variables that occur in {\it pat\/} are said to be -\index{variable!lambda-bound}% -{\em lambda-bound\/} with scope {\it exp}. - -Lambda abstractions are represented by closures, both in the language -definition and in the MLKit. In the MLKit, a closure for a lambda -abstraction consists of a code pointer plus one word for each free -variable of the lambda abstraction. Closures are not tagged except -when garbage collection is enabled, in which case a closure contains -one or more words to hold the tag. - -At this stage, it will hardly come as a surprise to the reader that -closures are stored in regions. Sometimes they reside in finite -regions on the stack, other times they live in infinite regions, just -like all other boxed values. - -Every occurrence of {\tt fn} -\index{fn@\texttt{fn}}% -in the program is considered an allocation point; the region-annotated -version of the lambda abstraction is -$$\boxml{fn $\at\,\rho$ {\it pat} => {\it exp}}$$ -Standard ML allows -functions to be declared using {\tt val} rather than {\tt fun}, for -example, -\begin{verbatim} +\begin{center} + \lstinline!fn $\id{pat}$ => $\id{exp}$! +\end{center} +where \id{pat} is a pattern and \id{exp} an expression. Lambda abstractions +denote functions. We refer to the \id{exp} as the \emph{body} of the function; +variable occurrences in \id{pat} are binding occurrences; informally, the +variables that occur in \id{pat} are said to be +% +\index{variable!lambda-bound} +% +\emph{lambda-bound} with scope \id{exp}. + +Lambda abstractions are represented by closures, both in the language definition +and in the MLKit. In the MLKit, a closure for a lambda abstraction consists of a +code pointer plus one word for each free variable of the lambda +abstraction. Closures are not tagged except when garbage collection is enabled, +in which case a closure contains one or more words to hold the tag. + +At this stage, it will hardly come as a surprise to the reader that closures are +stored in regions. Sometimes they reside in finite regions on the stack, other +times they live in infinite regions, just like all other boxed values. + +Every occurrence of \lstinline{fn} +% +\index{fn@\texttt{fn}} +% +in the program is considered an allocation point; the region-annotated version +of the lambda abstraction is +\begin{center} + \lstinline!fn at $\rho$ $\id{pat}$ => $\id{exp}$! +\end{center} +Standard ML allows functions to be declared using \lstinline{val} rather than +\lstinline{fun}, for example, +\begin{smlcode} val h = g o f -\end{verbatim} -declares the value identifier {\tt h} to be the composition of {\tt g} -and {\tt f}. Whereas functions declared with -\index{fun@\texttt{fun}}% -{\tt fun} automatically become region-polymorphic, functions +\end{smlcode} +declares the value identifier \lstinline{h} to be the composition of \lstinline{g} +and \lstinline{f}. Whereas functions declared with +% +\index{fun@\texttt{fun}} +% +\lstinline{fun} automatically become region-polymorphic, functions declared with -\index{val@\texttt{val}}% -{\tt val} do not in general become -\index{region polymorphism}% -region-polymorphic.\footnote{The reason for this is that the - expression on the right-hand side of the value declaration might - have an effect (e.g, print something) before returning the function. - It would not be correct to suspend this effect by introducing formal - region parameters.} However, in the special case where the -right-hand side of the value declaration is a -\index{lambda abstraction}% -lambda abstraction, the MLKit automatically converts the declaration -into a {\tt fun} declaration, thereby making the function -region-polymorphic after all. +% +\index{val@\texttt{val}} +% +\lstinline{val} do not in general become +% +\index{region polymorphism} +% +region-polymorphic.\footnote{The reason for this is that the expression on the +right-hand side of the value declaration might have an effect (e.g, print +something) before returning the function. It would not be correct to suspend +this effect by introducing formal region parameters.} However, in the special +case where the right-hand side of the value declaration is a +% +\index{lambda abstraction} +% +lambda abstraction, the MLKit automatically converts the declaration into a +\lstinline{fun} declaration, thereby making the function region-polymorphic +after all. ML allows declarations of the form +% \index{fun@\texttt{fun}}% -$$\boxml{fun $f$ $\atpat_1\,\atpat_2 \cdots \atpat_n$ = $\exp$}$$ +% +\begin{center} + \lstinline!fun $f$ $\mathit{atpat}_1$ $\mathit{atpat}_2$ $\cdots$ $\mathit{atpat}_n$ = $\mathit{exp}$! +\end{center} as a shorthand for -$$\boxml{fun $f$ $\atpat_1$ = fn $\atpat_2$ => $\cdots$ fn $\atpat_n$ - => $\exp$}$$ -where $\atpat$ ranges over atomic patterns. Functions -declared using this abbreviation are said to be +\begin{center} + \lstinline!fun $f$ $\atpat_1$ = fn $\atpat_2$ => $\cdots$ fn $\atpat_n$ => $\exp$! +\end{center} +where $\atpat$ ranges over atomic patterns. Functions declared using this +abbreviation are said to be +% \index{function!Curried}% +% {\em Curried}. \section{Region-Annotated Function Types} -\label{functiontypes.sec} +% +\label{functiontypes.sec}% +% The general form of a region-annotated +% \index{function type!region-annotated}% \index{type!region-annotated}% +% function type is -$$([\mu_1,\cdots,\mu_n] \ar{\epsilon.\rea} \mu', \rho)$$ -where -$\mu_1,\cdots\mu_n$ are the type with places of the arguments, $\mu'$ -is the type with place of the result, and $\rho$ is the region -containing the closure for the function. When a function type has only -one argument type, we shall often write it on the form $(\mu -\ar{\epsilon.\rea} \mu', \rho)$, and so shall the MLKit. - -As mentioned in Section~\ref{listtypes.sec}, the unusual looking -object $\epsilon.\rea$ is called an +$$([\mu_1,\cdots,\mu_n] \ar{\epsilon.\rea} \mu', \rho)$$ where +$\mu_1,\cdots\mu_n$ are the type with places of the arguments, $\mu'$ is the +type with place of the result, and $\rho$ is the region containing the closure +for the function. When a function type has only one argument type, we shall +often write it on the form $(\mu \ar{\epsilon.\rea} \mu', \rho)$, and so shall +the MLKit. + +As mentioned in Section~\ref{listtypes.sec}, the unusual looking object +$\epsilon.\rea$ is called an +% \index{arrow effect}% +% {\em arrow effect}. Its first component is an +% \index{effect variable}% -effect variable, whose purpose will be explained shortly. The second -component is called the +% +effect variable, whose purpose will be explained shortly. The second component +is called the +% \index{effect!latent}% -{\em latent effect}, and describes the effect of evaluating the body -of the function. +% +{\em latent effect}, and describes the effect of evaluating the body of the +function. -The following example illustrates why latent effects are crucial for -knowing the lifetimes of closures.\footnote{Program - \boxml{kitdemo/lambda.sml}.} Consider -\begin{verbatim} +The following example illustrates why latent effects are crucial for knowing the +lifetimes of closures.\footnote{Program \boxml{kitdemo/lambda.sml}.} Consider +\begin{smlcode} val n = let val f = let val xs = [1,2] in fn ys => length xs + length ys end in f [7] end -\end{verbatim} -Notice that {\tt xs} has to be kept alive for as long as the function -\boxml{(fn ys => $\cdots$)} may be called, for this function will -access {\tt xs}, when called. The region-annotated version of the -example appears in Figure~\ref{lambda1.fig}.\footnote{To see the - output programs discussed in this section, enable the flag - \texttt{-print\_drop\_regions\_expression}.} +\end{smlcode} +Notice that \kw{xs} has to be kept alive for as long as the function +% +\lstinline!(fn ys => $\cdots$)!% +%may be called, for this function will +access \kw{xs}, when called. The region-annotated version of the example +appears in Figure~\ref{lambda1.fig}.\footnote{To see the output programs +discussed in this section, enable the flag +\boxml{-print\_drop\_regions\_expression}.} + \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{smlcode} let val n = - let region r134:INF, r141:INF, r150:1; + let region r9:INF, r19:INF, r25:1; val f = - let val xs = [1,2] attop r134 - in fn atbot r150 ys => - length[] xs + length[] ys + let val xs = [1,2] at r9 + in fn at r25 ys => length xs + length ys end - in f [7] attop r141 + in f [7] at r19 end in {|n: _|} end -\end{verbatim} -\caption{Region-annotated program illustrating that the lifetime of - a closure is at least as long as the lifetime of the values that - evaluation of the function body will require.} \medskip \hrule +\end{smlcode} +\caption{Region-annotated program illustrating that the lifetime of a closure is + at least as long as the lifetime of the values that evaluation of the function + body will require.} \medskip \hrule \label{lambda1.fig} \end{figure} -We see that {\tt xs} is put in {\tt r134}, that the function closure -for \boxml{(fn ys => $\cdots$)} is put in {\tt r150} and indeed, {\tt - r134} and {\tt r150} have the same lifetime. To understand how the -region inference system figured that out, let us consider the effect -and the region-annotated types of particular sub-expressions. Looking -at the lambda abstraction, it must have a functional type of the form -$(\tau\ar{\epsilon.\rea}\tau', {\tt r150})$ where $\rea$ is the effect -$$\{\Get(\boxml{r1}), \Get(\boxml{r134}), \Get(\boxml{r141})\}$$ -Notice -that \boxml{r134} occurs free in the type of the lambda abstraction. -But, as pointed out in Section~\ref{effects.sec}, the criterion + +We see that \kw{xs} is put in \kw{r9}, that the function closure for +\lstinline!(fn ys => $\cdots$)! is put in \kw{r25} and indeed, \kw{r9} and +\kw{r25} have the same lifetime. To understand how the region inference system +figured that out, let us consider the effect and the region-annotated types of +particular sub-expressions. Looking at the lambda abstraction, it must have a +functional type of the form $(\tau\ar{\epsilon.\rea}\tau', \kw{r25})$ where +$\rea$ is the effect +$$\{\Get(\kw{r1}), \Get(\kw{r9}), \Get(\kw{r19})\}$$ Notice that \kw{r9} +occurs free in the type of the lambda abstraction. But, as pointed out in +Section~\ref{effects.sec}, the criterion +% \index{region!de-allocation}% -for putting a {\tt region} binding of $\rho$ around an expression -$e$ is that $\rho$ occurs free neither in the type with place of $e$ -nor in the type scheme with place of any variable in the domain of the -type environment. The smallest sub-expression of the program for which -{\tt r134} does not occur free in the type with place of the expression -is the right-hand side of the {\tt val} binding of {\tt n}, for that -expression simply has type with place $\boxml{int}$. And at that -point, the only region variables that occur free in the type -environment are global region variables. Hence the placement of the -{\tt region} binding of {\tt r134}. +% +for putting a \fw{region} binding of $\rho$ around an expression $e$ is that +$\rho$ occurs free neither in the type with place of $e$ nor in the type scheme +with place of any variable in the domain of the type environment. The smallest +sub-expression of the program for which \kw{r9} does not occur free in the +type with place of the expression is the right-hand side of the \fw{val} binding +of \kw{n}, for that expression simply has type with place \kw{int}. And at that +point, the only region variables that occur free in the type environment are +global region variables. Hence the placement of the \fw{region} binding of +\kw{r9}. \section{Arrow Effects} -In a first-order language, effect variables might not be particularly -important. But in a higher-order language like ML, effect variables -are useful for tracking dependencies between functions. The following -example illustrates the point:\footnote{Program - \boxml{kitdemo/apply.sml}.} -\begin{verbatim} + +In a first-order language, effect variables might not be particularly important. +But in a higher-order language like ML, effect variables are useful for tracking +dependencies between functions. The following example illustrates the +point:\footnote{Program \boxml{kitdemo/apply.sml}.} +\begin{smlcode} fun apply f x = f x val y = apply (fn n => n + 1.0) 5.0 val z = apply (fn m => m) 6 -\end{verbatim} -Here is the region-annotated type scheme of {\tt apply}: +\end{smlcode} +Here is the region-annotated type scheme of \kw{apply}: \begin{tabbing} -\qquad$\forall\alpha_0\alpha_2\rho_7\rho_8\epsilon_{11}\epsilon_{12}\epsilon_{13}.$\=$(\alpha_0 - \ar{\epsilon_{11}.\emptyset}\alpha_2,\rho_8)\ar{\epsilon_{12}.\{\Put(\rho_7)\}}$\\ - \>$(\alpha_0\ar{\epsilon_{13}.\{\Get(\rho_8), \epsilon_{11}\}}\alpha_2,\rho_7)$ +\qquad$\forall\alpha_0\alpha_2\rho_{17}\rho_{15}\epsilon_{16}\epsilon_{20}\epsilon_{18}.$\=$(\alpha_0 + \ar{\epsilon_{16}.\emptyset}\alpha_2,\rho_{15})\ar{\epsilon_{20}.\{\Put(\rho_{17})\}}$\\ + \>$(\alpha_0\ar{\epsilon_{18}.\{\Get(\rho_{15}), \epsilon_{16}\}}\alpha_2,\rho_{17})$ \end{tabbing} -The latent effect associated with $\epsilon_{12}$ shows that when {\tt - apply} is applied to a function, it may create (in fact: will -create) a function closure in $\rho_7$. The latent effect associated -with $\epsilon_{11}$ is empty, because the declaration of {\tt apply} -does not tell us anything about what effect its formal parameter {\tt - f} must have. Crucially, however, $\epsilon_{11}$ is included as an -atomic effect in the latent effect associated with $\epsilon_{13}$; -whenever the body of {\tt apply f} is evaluated, the body of {\tt f} -may be (in fact: will be) evaluated. - -The polymorphism in effects makes it possible to distinguish between -the latent effects of different actual arguments to {\tt apply}. For -example, the functions {\tt (fn n => n + 1.0)} and {\tt (fn m => m)} -have different latent effects. Let us take the function {\tt (fn n => - n + 1.0)} as an example. It has region-annotated type with place +The latent effect associated with $\epsilon_{20}$ shows that when \kw{apply} is +applied to a function, it may create (in fact: will create) a function closure +in $\rho_{17}$. The latent effect associated with $\epsilon_{16}$ is empty, +because the declaration of \kw{apply} does not tell us anything about what +effect its formal parameter \kw{f} must have. Crucially, however, +$\epsilon_{16}$ is included as an atomic effect in the latent effect associated +with $\epsilon_{18}$; whenever the body of \kw{apply f} is evaluated, the body +of \kw{f} may be (in fact: will be) evaluated. + +The polymorphism in effects makes it possible to distinguish between the latent +effects of different actual arguments to \kw{apply}. For example, the functions +\lstinline!(fn n => n + 1.0)! and \lstinline!(fn m => m)! have different latent +effects. Let us take the function \lstinline!(fn n => n + 1.0)! as an +example. It has region-annotated type with place \begin{equation} \label{suc.lab} -((\boxml{real},\rho_{18})\ar{\epsilon_{14}.\{\Get(\rho_{18}),\Put(\rho_5)\}}(\boxml{real}, \rho_5), \rho_{17}) +((\kw{real},\rho_{21})\ar{\epsilon_{26}.\{\Get(\rho_{21}),\Put(\rho_1)\}}(\kw{real}, \rho_1), \rho_{25}) \end{equation} -Here, the effect variable $\epsilon_{14}$ and the region variables -$\rho_{18}$ and $\rho_5$ were chosen arbitrarily. (Actually, the -region variable $\rho_5$ denotes the global region for reals.) The -region inference algorithm discovers that (\ref{suc.lab}) can be -derived from the argument type -$$(\alpha_0\ar{\epsilon_{11}.\emptyset}\alpha_2,\rho_8)$$ -of the type scheme for {\tt apply} by the instantiating substitution -$$S =(\!\!\begin{array}[t]{l}\{\alpha_0\mapsto(\boxml{real},\rho_{18}),\alpha_2\mapsto(\boxml{real}, \rho_5)\},\{ - \rho_8\mapsto\rho_{17}\},\\ - \{\epsilon_{11}\mapsto\epsilon_{14}.\{\Get(\rho_{18}),\Put(\rho_5)\}) +Here, the effect variable $\epsilon_{26}$ and the region variables $\rho_{25}$ +and $\rho_1$ were chosen arbitrarily. (Actually, the region variable $\rho_1$ +denotes the global region for reals.) The region inference algorithm discovers +that (\ref{suc.lab}) can be derived from the argument type +$$(\alpha_0\ar{\epsilon_{16}.\emptyset}\alpha_2,\rho_{15})$$ +of the type scheme for \kw{apply} by the instantiating substitution +$$S =(\!\!\begin{array}[t]{l}\{\alpha_0\mapsto(\kw{real},\rho_{21}),\alpha_2\mapsto(\kw{real}, \rho_1)\}, \\\{ + \rho_{17}\mapsto\rho_{27},\rho_{15}\mapsto\rho_{25}\},\\ + \{\!\!\begin{array}[t]{l}\epsilon_{16}\mapsto\epsilon_{26}.\{\Get(\rho_{21}),\Put(\rho_1)\},\\ + \epsilon_{20}\mapsto\epsilon_{24}.\{\Put(\rho_{27})\}, \\ + \epsilon_{18}\mapsto\epsilon_{22}.\{\epsilon_{26},\Put(\rho_1),\Get(\rho_{25})\} + \end{array}\\ + \} + ) \end{array}$$ Formally, a +% \index{substitution}% -{\em substitution\/} is a triple $(\St,\Sr,\Se)$, where $\St$ is a -finite map from type variables to region-annotated types, $\Sr$ is a -finite map from region variables to region variables, and $\Se$ is a -finite map from effect variables to arrow effects. Let us explain why -substitutions map effect variables to arrow effects. One alternative, -one might consider, is to let substitutions map effect variables to -effect variables. But then substitutions would not be able to account -for the idea that effects can grow, when instantiated. In the {\tt - apply} example, for instance, the empty effect associated with -$\epsilon_{11}$ has to grow to $\{\Get(\rho_{18}),\Put(\rho_5)\}$ at -the concrete application of {\tt apply}. Otherwise, as it is easy to -demonstrate, the region inference system would become unsound. - -Another alternative would be to let substitutions map effect variables -to effects. But nor that would work well together with the idea of -using substitutions to express growth of effects. For example, -when applying the map $\{\epsilon\mapsto\{\Get(\rho_0),\Put(\rho_2)\}\}$ to -the effect $\{\Get(\rho_9),\epsilon\}$, say, we would presumably yield -the effect $\{\Get(\rho_9),\Get(\rho_0),\Put(\rho_2)\}$ in which the -fact that the original effect had to be at least as large as whatever -$\epsilon$ stands for, is lost. Instead, we define substitution so -that applying the effect substitution +% +{\em substitution\/} is a triple $(\St,\Sr,\Se)$, where $\St$ is a finite map +from type variables to region-annotated types, $\Sr$ is a finite map from region +variables to region variables, and $\Se$ is a finite map from effect variables +to arrow effects. Let us explain why substitutions map effect variables to +arrow effects. One alternative, one might consider, is to let substitutions map +effect variables to effect variables. But then substitutions would not be able +to account for the idea that effects can grow, when instantiated. In the +\kw{apply} example, for instance, the empty effect associated with +$\epsilon_{16}$ has to grow to $\{\Get(\rho_{21}),\Put(\rho_1)\}$ at the +concrete application of \kw{apply}. Otherwise, as it is easy to demonstrate, the +region inference system would become unsound. + +Another alternative would be to let substitutions map effect variables to +effects. But nor that would work well together with the idea of using +substitutions to express growth of effects. For example, when applying the map +$\{\epsilon\mapsto\{\Get(\rho_0),\Put(\rho_2)\}\}$ to the effect +$\{\Get(\rho_9),\epsilon\}$, say, we would presumably yield the effect +$\{\Get(\rho_9),\Get(\rho_0),\Put(\rho_2)\}$ in which the fact that the original +effect had to be at least as large as whatever $\epsilon$ stands for, is lost. +Instead, we define substitution so that applying the effect substitution $\{\epsilon\mapsto\epsilon.\{\Get(\rho_2),\Put(\rho)\}\}$ to $\{\Get(\rho_9),\epsilon\}$ yields $\{\Get(\rho_9),\epsilon,\Get(\rho_2),\Put(\rho)\}$. We can now give a complete definition of atomic effects. An +% \index{effect!atomic, definition}% -{\em atomic effect\/} is either an effect variable or a term of the -form $\Get(\rho)$ or $\Put(\rho)$, where $\rho$ as usual ranges over -region variables. An +% +{\em atomic effect\/} is either an effect variable or a term of the form +$\Get(\rho)$ or $\Put(\rho)$, where $\rho$ as usual ranges over region +variables. An +% \index{effect!definition}% +% {\em effect\/} is a finite set of atomic effects. One can get the MLKit to print region-annotated +% \index{type!region-annotated}% \index{region-annotated type scheme!printing of}% -type schemes with places of all binding occurrences of value -variables. Also, one can choose to have arrow effects included in the -printout by passing the options \texttt{print\_types} and -\texttt{print\_effects} to the MLKit compiler. Although passing these -options gives very verbose output, it is instructive to look at such a -term at least once, to see how arrow effects are instantiated. We show -the full output for the {\tt apply} example in Figure~\ref{apply.fig}. +% +type schemes with places of all binding occurrences of value variables. Also, +one can choose to have arrow effects included in the printout by passing the +options \kw{print\_types} and \kw{print\_effects} to the MLKit +compiler. Although passing these options gives very verbose output, it is +instructive to look at such a term at least once, to see how arrow effects are +instantiated. We show the full output for the \kw{apply} example in +Figure~\ref{apply.fig}. \begin{figure} \hrule \medskip -\begin{verbatim} - fun apply - :all - r18,r16,e15,e19,e17,'a0,'a2. - ('a0-e15->'a2,r16) - -e19(put(r18))-> - ('a0-e17(U(U,get(r16),e15))->'a2,r18) - attop r1 - [r18:1] - [r16:0] - (f) = - fn attop r18 x:'a0 => f x; +\begin{smlcode} + fun apply :all r17,r15,e16,e20,e18,'a0,'a2. + ('a0-e16->'a2,r15) -e20(put(r17))-> + ('a0-e18(U(U,get(r15),e16))->'a2,r17) + at r1 [r15:0|r17:1] f = fn at r17 x:'a0 => f x; val y:(real,r1) = - let region r21:1, r23:1, r24:1 - in apply - [atbot r24] - [(real,r21),(real,r1)] - [r24,r23] - [e27(get(r21),put(r1)), - e26(put(r24)), - e25(e27(get(r21),put(r1)),get(r23))] - (fn atbot r23 n:(real,r21) => - f64_to_real(attop r1, real_to_f64(n) + 1.0f64)) - 5.0attop r21 + let region r21:1, r25:1, r27:1, e26, e22 + in let region e24 + in apply [r27] + [(real,r21),(real,r1)] + [r27,r25] + [e26(get(r21),put(r1)), + e24(put(r27)), + e22(e26(get(r21),put(r1)),get(r25)) + ] + (fn at r25 n:(real,r21) => + R64.fromF64 [at r1] (F64.fromR64 n:f64 + 1.0f64) + :(real,r1) + ) + end + 5.0 end; val z:int = - let region r42:1, r43:1 - in apply - [atbot r43] - [int,int] - [r43,r42] - [e46,e45(put(r43)),e44(e46,get(r42))] - (fn atbot r42 m:int => m) + let region r43:1, r45:1, e46, e42 + in let region e44 + in apply [r45] + [int,int] + [r45,r43] + [e46,e44(put(r45)),e42(e46,get(r43))] + (fn at r43 m:int => m) + end 6 end -\end{verbatim} -\caption{The instantiation of arrow effects keeps different applications of - the same function (here {\tt apply}) apart. The output was obtained - by compiling the program \boxml{kitdemo/apply.sml} with options - \texttt{-print\_types}, \texttt{-print\_effects}, \texttt{-no\_uncurry} and - \texttt{-maximum\_inline\_size 0}.} \medskip \hrule +\end{smlcode} +\caption{The instantiation of arrow effects keeps different applications of the + same function (here \kw{apply}) apart. The output was obtained by compiling + the program \kw{kitdemo/apply.sml} with options \kw{-print\_types}, + \kw{-print\_effects}, \kw{-no\_uncurry} and \kw{-max\_inl\_sz 0}.} \medskip +\hrule \label{apply.fig} \end{figure} -In reading the output, it is useful to know that the MLKit represents -effects and arrow effects as graphs, the nodes of which are region -variables, effect variables, $\Put$, $\Get$, or \boxml{U} (for -``union''; \boxml{U} by itself means the empty set). Region variables -are leaf nodes. A $\Put$ or $\Get$ node has emanating from it -precisely one edge; it leads to the region variable in question. An -effect variable node (written {\tt e} followed by a sequence number) -is always the handle of an arrow effect; there are edges from the -effect variable to the atomic effects of that arrow effect, either -directly, or via union nodes or other effect variable nodes. For -instance, \boxml{e13(U(U,get(r8),e11))} in the figure denotes an -effect variable with an edge to a union node that has edges to an -empty union node, a $\Get$ node, and an effect variable node. - -When a term containing arrow effects is printed, shared nodes that -have already been printed are marked with a \boxml{@}; their children -are not printed again. +In reading the output, it is useful to know that the MLKit represents effects +and arrow effects as graphs, the nodes of which are region variables, effect +variables, $\Put$, $\Get$, or \kw{U} (for ``union''; \kw{U} by itself means the +empty set). Region variables are leaf nodes. A $\Put$ or $\Get$ node has +emanating from it precisely one edge; it leads to the region variable in +question. An effect variable node (written \kw{e} followed by a sequence +number) is always the handle of an arrow effect; there are edges from the effect +variable to the atomic effects of that arrow effect, either directly, or via +union nodes or other effect variable nodes. For instance, +\kw{e18(U(U,get(r15),e16))} in Figure~\ref{apply.fig} denotes an effect variable with an edge +to a union node that has edges to an empty union node, a $\Get$ node, and an +effect variable node. + +When a term containing arrow effects is printed, shared nodes that have already +been printed are marked with a \kw{@}; their children are not printed again. %For instance, in the figure, the second %occurence of \texttt{r2} is printed as \boxml{@r2}. -In the figure, the binding occurrence of {\tt apply} has been printed -with its region-annotated type scheme. Each non-binding occurrence of {\tt - apply} has been printed with four square-bracketed lists. The first -list is the actual region arguments; the following three are -instantiation lists that show the range of the substitution by -which the bound variables of the type scheme was instantiated, in the -same order as the bound variables occurred. For example, in the -second use of {\tt apply}, \boxml{r8} was instantiated to {\tt r25}. +In the figure, the binding occurrence of \kw{apply} has been printed with its +region-annotated type scheme. Each non-binding occurrence of \kw{apply} has been +printed with four square-bracketed lists. The first list is the actual region +arguments; the following three are instantiation lists that show the range of +the substitution by which the bound variables of the type scheme was +instantiated, in the same order as the bound variables occurred. For example, +in the second use of \kw{apply}, \kw{r17} was instantiated to \kw{r45}. \section{On the Lack of Region Polymorphism} -Unlike identifiers bound by {\tt fun}, lambda-bound function -identifiers are never region-polymorphic. So in an expression of the -form -$$\boxml{fn f => $\cdots$ f $\cdots$ f $\cdots$}$$ -all the uses of -$\boxml{f}$ use the same regions. Indeed, because \boxml{f} occurs -free in the type environment while region inference analyses the body -of the lambda abstraction, none of the regions that appear in the type -of \boxml{f} will be de-allocated inside the body of the lambda -abstraction. Also, such a region must be bound outside the lambda -abstraction, so any attempt to reset such a region inside the body of -the abstraction will cause the storage mode analysis to complain (by -Rule (B1) of Section~\ref{sma.sec}). - -Therefore, when a function $f$ is passed as argument to another -function $g$, as in the expression \boxml{$g$($f$)}, first regions are -allocated for the use of $f$, then $g$ is called, and finally, the -regions are de-allocated (provided they are not global regions). -Whether the {\tt let region} construct thus introduced encloses the -call site immediately, as in -$$\boxml{let region $\rho_1,\ldots,\rho_n$ in $g$($f$) end}$$ + +Unlike identifiers bound by \fw{fun}, lambda-bound function identifiers are +never region-polymorphic. So in an expression of the form +\begin{center} + \lstinline!fn f => $\cdots$ f $\cdots$ f $\cdots$! +\end{center} +all the uses of $\kw{f}$ use the same regions. Indeed, because \kw{f} occurs +free in the type environment while region inference analyses the body of the +lambda abstraction, none of the regions that appear in the type of \kw{f} will +be de-allocated inside the body of the lambda abstraction. Also, such a region +must be bound outside the lambda abstraction, so any attempt to reset such a +region inside the body of the abstraction will cause the storage mode analysis +to complain (by Rule (B1) of Section~\ref{sma.sec}). + +Therefore, when a function $f$ is passed as argument to another function $g$, as +in the expression \kw{$g$($f$)}, first regions are allocated for the use of $f$, +then $g$ is called, and finally, the regions are de-allocated (provided they are +not global regions). Whether the \fw{let region} construct thus introduced +encloses the call site immediately, as in +\begin{center} + \lstinline!let region $\rho_1,\ldots,\rho_n$ in $g$($f$) end! +\end{center} or further out, as in -$$\boxml{let region $\rho_1,\ldots,\rho_n$ in $\ldots$ $g$($f$) - $\ldots$ end}$$ -depends on the type and effect of the expression -\boxml{$g$($f$)} in the usual way: regions can be de-allocated when -they occur free neither in the type with place of the expression -nor in the type environment. +\begin{center} + \lstinline!let region $\rho_1,\ldots,\rho_n$ in $\ldots$ $g$($f$) $\ldots$ end! +\end{center} +depends on the type and effect of the expression \kw{$g$($f$)} in the usual way: +regions can be de-allocated when they occur free neither in the type with place +of the expression nor in the type environment. \section{Examples: \texttt{map} and \texttt{foldl}} Consider the program\footnote{Program \boxml{kitdemo/map.sml}.} -\begin{verbatim} +\begin{smlcode} fun map f [] = [] - | map f (x::xs) = f(x) :: map f xs + | map f (x::xs) = f x :: map f xs val x = map (fn x => x+1) [7,11] -\end{verbatim} -This formulation of {\tt map} is not the most efficient one in the -MLKit, because it will create one closure for each element in the -list, due to currying.\footnote{When {\tt map} and the application of - {\tt map} appear in the same compilation unit, the MLKit will - automatically specialise {\tt map} to a recursive function that does - not have this defect. This specialisation is the result of a general - optimisation of curried functions that are invariant in their first - argument. The output we present in this section was obtained by - passing to the MLKit compiler the options - \texttt{-maximum\_specialise\_size 0} and \texttt{-no\_uncurry}.} However it serves to -illustrate the point made in the previous section about allocating -regions in connection with higher-order functions. The -region-annotated version is listed in Figure~\ref{map.fig}. +\end{smlcode} +This formulation of \kw{map} is not the most efficient one in the MLKit if it +was not because the MLKit optimiser would uncurry the function and furthermore +specialise the function for each application point.\footnote{The output we +present in this section was obtained by passing to the MLKit compiler the +options \boxml{-maximum\_specialise\_size 0} and \boxml{-no\_uncurry}.} However +it serves to illustrate the point made in the previous section about allocating +regions in connection with higher-order functions. The region-annotated version +is listed in Figure~\ref{map.fig}. \begin{figure} \hrule \medskip -\begin{verbatim} - let fun map attop r1 [r34:1, r20:0] (var1) = - fn attop r34 var2 => - (case var2 of - nil => nil - | _ => - let val v102 = decon_:: var2; - val v103 = #0 v102; - val v104 = #1 v102 - in :: (var1 v103, let region r28:1 - in map[atbot r28,attop r20] - var1 v104 - end)attop r20 - end - ); +\begin{smlcode} + let fun map at r1 [r39:1, r23:0] var1 = + fn at r39 var2 => + case var2 of + nil => nil + | :: v102 => + let val v103 = #0 v102; val v104 = #1 v102 + in :: + (var1 v103, + let region r35:1 in map[r35,r23] var1 v104 end + )at r23 + end; val x = - let region r37:1, r38:INF, r40:1 - in map[atbot r40,attop r4] - (fn atbot r37 x => x + 1) [7,11] attop r38 + let region r43:1, r45:INF, r49:1 + in map[r49,r4] (fn at r43 x => x + 1) [7,11] at r45 end in {|map: (_,r1), x: _|} end -\end{verbatim} -\caption{Although this version of {\tt map} creates a closure for - each list element, the region-polymorphic recursion (of {\tt map}) - ensures that that closure is put in a region local to {\tt map}. - Thus, these closures do not pile up in {\tt r37}, the region of the - initial argument.} +\end{smlcode} +\caption{Although this version of \kw{map} creates a closure for each list + element, the region-polymorphic recursion (of \kw{map}) ensures that that + closure is put in a region local to \kw{map}. Thus, these closures do not + pile up in \kw{r39}, the region of the initial argument.} \medskip \hrule \label{map.fig} \end{figure} -We see that the region that appears free in the type with place of the -successor function (i.e., \boxml{r37}) is allocated prior to the call -of {\tt map} and that it stays alive throughout the evaluation of the -body of {\tt map}. Notice, however, that the closures that are created -when {\tt map} is applied do not pile up in {\tt r37}, the region of -the successor function. Instead, they are put in local regions bound -to {\tt r28}, one closure in each region. Also, if we had given some -more complicated argument to {\tt map}, the body of that function -could include local {\tt region} declarations. For each list element, -regions would then be allocated, used, and then de-allocated before -proceeding to the next list element. - -So it might appear that higher-order functions are nothing to worry -about when programming with regions. That is not so, however. The -limitation that lambda-bound functions are never region-polymorphic -can lead to space leaks. Here is an example: -\begin{verbatim} +We see that the region that appears free in the type with place of the successor +function (i.e., \kw{r43}) is allocated prior to the call of \kw{map} and that +it stays alive throughout the evaluation of the body of \kw{map}. Notice, +however, that the closures that are created when \kw{map} is applied do not pile +up in \kw{r43}, the region of the successor function. Instead, they are put in +local regions bound to \kw{r35}, one closure in each region. Also, if we had +given some more complicated argument to \kw{map}, the body of that function +could include local \fw{region} declarations. For each list element, regions +would then be allocated, used, and then de-allocated before proceeding to the +next list element. + +So it might appear that higher-order functions are nothing to worry about when +programming with regions. That is not so, however. The limitation that +lambda-bound functions are never region-polymorphic can lead to space +leaks. Here is an example: +\begin{smlcode} fun foldl f acc [] = acc | foldl f acc (x::xs) = foldl f (f(x,acc)) xs val x = foldl (fn (x,acc) => 10*acc+x) 0 [7,2] -\end{verbatim} -Because {\tt f} is lambda-bound, all the pairs created by the -expression \boxml{(x,acc)} will pile up in the same region. The -storage mode analysis will infer storage mode {\tt attop} for the -allocation of the pair, by rule (B1) of Section~\ref{sma.sec}; because -{\tt foldl} is curried, there are several lambdas between the formal -region parameter of {\tt foldl} that indicates where the pair should -be put and the allocation point of the pair. - -It does not help to uncurry {\tt foldl} and turn {\tt foldl} into a +\end{smlcode} +Because \kw{f} is lambda-bound, all the pairs created by the expression +\kw{(x,acc)} will pile up in the same region. The storage mode analysis will +infer storage mode \fw{attop} for the allocation of the pair, by rule (B1) of +Section~\ref{sma.sec}; because \kw{foldl} is curried, there are several lambdas +between the formal region parameter of \kw{foldl} that indicates where the pair +should be put and the allocation point of the pair. + +It does not help to uncurry \kw{foldl} and turn \kw{foldl} into a region endomorphism: -\begin{verbatim} +\begin{smlcode} fun foldl(p as (f,[],_)) = p | foldl(f,x::xs,acc) = foldl(f,xs,f(x,acc)) val x = #3(foldl(fn(x,acc) => 10*acc+x,[7,2],0)) -\end{verbatim} -The storage mode analysis will still give {\tt attop} for the -allocation of the pair \boxml{(x,acc)}, because the region of the pair -is free in the region-annotated type of \boxml{f}, which is locally -live at that point. - -What if we require that {\tt f} be curried, so as to avoid the -creation of the pair altogether?\footnote{Program - \boxml{kitdemo/fold2.sml}.} -\begin{verbatim} +\end{smlcode} +The storage mode analysis will still give \fw{attop} for the allocation of the +pair \kw{(x,acc)}, because the region of the pair is free in the +region-annotated type of \kw{f}, which is locally live at that point. + +What if we require that \kw{f} be curried, so as to avoid the creation of the +pair altogether?\footnote{Program \boxml{kitdemo/fold2.sml}.} +\begin{smlcode} fun foldl f b xs = let fun loop(p as ([], b)) = p | loop(x::xs, b) = loop(xs,f x b) in #2(loop(xs,b)) end -\end{verbatim} -The region-annotated version of this program appears in -Figure~\ref{fold2.fig} on page~\pageref{fold2.fig}. This saves the -allocation of a pair inside loop, although the saving is lost if the -evaluation of {\tt f x} creates a closure. +\end{smlcode} +The region-annotated version of this program appears in Figure~\ref{fold2.fig} +on page~\pageref{fold2.fig}. This saves the allocation of a pair inside loop, +although the saving is lost if the evaluation of \kw{f x} creates a closure. -In short, folding a function over a list may leak two words of memory -for each list element. +In short, folding a function over a list may leak two words of memory for each +list element. %--------------------------------------------------------- \chapter{The Function Call} %--------------------------------------------------------- + Standard ML allows function applications of the form -$$\exp_1 \exp_2$$ -where $\exp_1$ is the operator and $\exp_2$ is the -operand. The syntax for function application is overloaded, in that -it is used for three different purposes in ML: +$$\exp_1 \exp_2$$ where $\exp_1$ is the operator and $\exp_2$ is the operand. +The syntax for function application is overloaded, in that it is used for three +different purposes in ML: \begin{enumerate} -\item applications of built-in operations such as \boxml{+}, - \boxml{=}, and \boxml{:=} -\item applications of unary value constructors (including {\tt ref}) - and unary exception constructors -\item applications of user-defined functions, that is, functions - introduced by {\tt fn} or {\tt fun} +\item Applications of built-in operations such as \kw{+}, + \kw{=}, and \kw{:=}. +\item Applications of unary value constructors (including \kw{ref}) and unary + exception constructors. +\item Applications of user-defined functions, that is, functions introduced by + \fw{fn} or \fw{fun}. \end{enumerate} -This chapter is about the last kind of function applications; in the -following, we use the term function application to stand for -applications of user-defined functions only. - -Function applications are ubiquitous in Standard ML programs; in -particular, iteration is often achieved by function calls. Not -surprisingly, careful compilation of function calls is essential for -obtaining good performance. - -The MLKit partitions function calls into four kinds, which are -implemented in different ways. At best, a function call is simply -realised by a jump in the target code. The resource conscious -programmer will want to know the special cases; for example, when -doing an iterative computation, it is important to know whether the -space usage is going to be independent of the number of iterations. +This chapter is about the last kind of function applications; in the following, +we use the term function application to stand for applications of user-defined +functions only. + +Function applications are ubiquitous in Standard ML programs; in particular, +iteration is often achieved by function calls. Not surprisingly, careful +compilation of function calls is essential for obtaining good performance. + +The MLKit partitions function calls into four kinds, which are implemented in +different ways. At best, a function call is simply realised by a jump in the +target code. The resource conscious programmer will want to know the special +cases; for example, when doing an iterative computation, it is important to know +whether the space usage is going to be independent of the number of iterations. The MLKit performs a backwards flow analysis, called +% \index{call conversion}% -{\em call conversion}, to determine what function calls are tail calls -and, more generally, what function calls fall into the four special -cases. We say that expressions produced by this analysis are +% +{\em call conversion}, to determine what function calls are tail calls and, more +generally, what function calls fall into the four special cases. We say that +expressions produced by this analysis are +% \index{function call!call-explicit}% \label{call-explicit}% +% {\em call-explicit}. One can inspect call-explicit programs by passing the option +% \index{print call-explicit expression@\texttt{-print\_call\_explicit\_expression}}% -$$\boxml{-print\_call\_explicit\_expression}$$ -to the MLKit compiler, -and thus check whether specific function calls in the code turn out as -intended. Call-explicit expressions are produced after regions have -been dropped (page~\pageref{bother-to-distinguish-get-n-put}) but -before native code generation. - -We shall first give a brief description of the parameter passing -mechanism in general and then discuss the different kinds of function -calls provided, working our way from the most specialised (and most -efficient) cases towards the default cases. +% +$$\kw{-print\_call\_explicit\_expression}$$ to the MLKit compiler, and thus +check whether specific function calls in the code turn out as intended. +Call-explicit expressions are produced after regions have been dropped +(page~\pageref{bother-to-distinguish-get-n-put}) but before native code +generation. + +We shall first give a brief description of the parameter passing mechanism in +general and then discuss the different kinds of function calls provided, working +our way from the most specialised (and most efficient) cases towards the default +cases. \section{Parameter Passing} + Parameters to functions are passed either on the runtime +% \index{stack}% +% stack or, if possible, in +% \index{register}% -registers. Also region parameters to region-polymorphic functions are -passed on the runtime stack or in registers. +% +registers. Also region parameters to region-polymorphic functions are passed on +the runtime stack or in registers. \section{Tail Calls and Non-Tail Calls} \label{tailcall.sec} -A call that is the last action of a function is referred to as a {\em - tail call}. After region inference, the MLKit performs a tail call -analysis (in one backwards scan through the program). It is -significant that the tail call analysis happens after region -inference; as we saw in Section~\ref{length.sec}, a function call that -looks like a tail call in the source program may end up as a non-tail -call in the region-annotated program, because the function has to -return to free memory. The tail call analysis divides function calls -into four different kinds of calls: + +A call that is the last action of a function is referred to as a {\em tail + call}. After region inference, the MLKit performs a tail call analysis (in one +backwards scan through the program). It is significant that the tail call +analysis happens after region inference; as we saw in Section~\ref{length.sec}, +a function call that looks like a tail call in the source program may end up as +a non-tail call in the region-annotated program, because the function has to +return to free memory. The tail call analysis divides function calls into four +different kinds of calls: \begin{quote} \begin{description} -\item[{\tt jmp}:] tail calls to known functions -\item[{\tt funcall}:] non-tail calls to known functions -\item[{\tt fnjmp}:] tail calls to unknown functions -\item[{\tt fncall}:] non-tail calls to unknown functions +\item[\kw{jmp}:] Tail calls to known functions. +\item[\kw{funcall}:] Non-tail calls to known functions. +\item[\kw{fnjmp}:] Tail calls to unknown functions. +\item[\kw{fncall}:] Non-tail calls to unknown functions. \end{description} \end{quote} -In the sections to follow, we describe each of these kinds of calls in -detail. +In the sections to follow, we describe each of these kinds of calls in detail. \section{Tail Call to Known Function (\texttt{jmp})} \label{simplejump.sec} + A call to a +% \index{region polymorphism}% +% region-polymorphic function (i.e., a known function) takes the form -$$\boxml{$f$ [$\rho_1$, $\ldots$, $\rho_n$] <$e_1,\ldots,e_m$>}$$ -where $\rho_1$, $\ldots$, $\rho_n$ are actual region parameters to the -function, $f$ is the name of a region-polymorphic function, and -$e_1 \cdots e_m$, $m \geq 1$ are value arguments to the function (we -often omit the brackets $\verb+<+ \cdots \verb+>+$ when $m = 1$.) The MLKit -turns such a function call into the form -$$\boxml{jmp $f$ [$\rho_1$, $\ldots$, $\rho_n$] <$e_1,\ldots,e_m$>}$$ -if the call -appears in a tail-call position, that is, if the call is the last -thing the current function needs to do. Because the start address of -$f$ is known during compilation (because $f$ is region-polymorphic), -such a call is as efficient as an assembly language jump to a constant -label (not taking into account the shuffling of arguments needed to -match the calling convention for $f$. - -The way to avoid that a {\tt region} binding is wrapped around -the function call (and thus causes the call not to be recognized as a -tail call) is to turn the calling function into a region endomorphism, -when possible. +\begin{center} + \lstinline!$f$ [$\rho_1$, $\ldots$, $\rho_n$] ($e_1,\ldots,e_m$)! +\end{center} +where $\rho_1$, $\ldots$, $\rho_n$ are actual region parameters to the function, +$f$ is the name of a region-polymorphic function, and $e_1 \cdots e_m$, $m \geq +1$ are value arguments to the function (we often omit the brackets $\kw{(} +\cdots \kw{)}$ when $m = 1$.) The MLKit turns such a function call into the form +\begin{center} + \lstinline!jmp $f$ [$\rho_1$, $\ldots$, $\rho_n$] ($e_1,\ldots,e_m$)! +\end{center} +if the call appears in a tail-call position, that is, if the call is the last +thing the current function needs to do. Because the start address of $f$ is +known during compilation (because $f$ is region-polymorphic), such a call is as +efficient as an assembly language jump to a constant label (not taking into +account the shuffling of arguments needed to match the calling convention for +$f$. + +The way to avoid that a \fw{region} binding is wrapped around the function call +(and thus causes the call not to be recognised as a tail call) is to turn the +calling function into a region endomorphism, when possible. The following is an example of how one obtains a tail call to a known function:\footnote{Program \boxml{kitdemo/tail.sml}.} -\begin{verbatim} +\begin{smlcode} local fun f'(p as (0,b)) = p | f'(n,b) = f'(n-1,n*b) in fun f(a,b) = #2(f'(a,b)) end -\end{verbatim} -The call-explicit version of {\tt f'} appears in -Figure~\ref{tail.fig}. +\end{smlcode} +The call-explicit version of \kw{f'} appears in Figure~\ref{tail.fig}. \begin{figure} \hrule \medskip -\begin{verbatim} - fun f' attop r1 [r13:inf] (var2) = - let val v96 = #0 var2 - in case v96 of - 0 => var2 - | _ => let val v98 = #1 var2 - in jmp f'[sat r13] (v96 - 1, v96 * v98)sat r13 - end - end -\end{verbatim} -\caption{An example where a function call turns into a tail call to a known function.} +\begin{smlcode} + fun f' [r15:inf] var2 = + let val v96 = #0 var2 + in case v96 of + 0 => var2 + | _ => let val v98 = #1 var2 + in jmp f'[sat r15] (v96 - 1, v96 * v98)sat r15 + end + end +\end{smlcode} +\caption{An example where a function call turns into a tail call to a known + function.} \medskip \hrule \label{tail.fig} \end{figure} -There is a more efficient version of the function {\tt f} that -exploits the MLKit's unboxing of function arguments, but in general, one -can rely on unboxing to ensure tail-calls only when the elements of -the argument tuple themselves are unboxed; otherwise there is a risk -that, for each invocation, fresh regions are introduced to hold the -arguments to the call, and the call would need to return to -de-allocate these regions. - -The MLKit can transform a call into a \boxml{jmp} tail call even in the -case that the call appears in the body of a \boxml{fn} expression. -Consider the following two mutually recursive functions {\tt g} and -{\tt h}:\footnote{Program {\tt kitdemo/tail2.sml}.} -\begin{verbatim} +There is a more efficient version of the function \kw{f} that exploits the +MLKit's unboxing of function arguments, but in general, one can rely on unboxing +to ensure tail-calls only when the elements of the argument tuple themselves are +unboxed; otherwise there is a risk that, for each invocation, fresh regions are +introduced to hold the arguments to the call, and the call would need to return +to de-allocate these regions. + +The MLKit can transform a call into a \kw{jmp} tail call even in the case that +the call appears in the body of a \fw{fn} expression. Consider the following +two mutually recursive functions \kw{g} and \kw{h}:\footnote{Program +\boxml{kitdemo/tail2.sml} compiled with the flags \boxml{-no\_uncurry} and +\boxml{-no\_abbrev}.} +\begin{smlcode} fun g (n,b) = h (n-1) b and h 0 b = b | h n b = g(n,n*b) -\end{verbatim} -Here {\tt h} calls {\tt g} in a tail position. The call explicit -version of the program is listed in Figure~\ref{tail2.fig}, and -indeed, the call to {\tt g} is recognized as a tail call. +\end{smlcode} +Here \kw{h} calls \kw{g} in a tail position. The call explicit version of the +program is listed in Figure~\ref{tail2.fig}, and indeed, the call to \kw{g} is +recognised as a tail call. \begin{figure} \hrule \medskip -\begin{verbatim} - let fun h attop r1 [r18:3] (var1) = - fn attop r18 var2 => - (case var1 of - 0 => var2 - | _ => jmp g[] ) - and g attop r1 [] (v90, v91) = - let region r21:3 - in fncall funcall h[atbot r21] (v90 - 1) v91 - end +\begin{smlcode} + let fun g attop r1 (v134, v135) = + let region r13:3 + in fncall funcall h[atbot r13] (v134 - 1) v135 + end + and h attop r1 [r17:3] var1 = + fn attop r17 var2 => + case var1 of 0 => var2 | _ => jmp g[] (var1, var1 * var2) in {|h: (_,r1), g: (_,r1)|} end -\end{verbatim} +\end{smlcode} \caption{A function call can turn into a tail call even - in the case that the call appears in the body of a {\tt fn} expression.} + in the case that the call appears in the body of a \fw{fn} expression.} \medskip \hrule \label{tail2.fig} \end{figure} -Also notice that the MLKit does not try to in-line {\tt g} in {\tt h} -(or vice-versa), although such an optimisation would certainly improve -on the efficiency of the generated code. Another example of a {\tt - jmp} tail call is shown in Section~\ref{foldl.sec}. +Also notice that the MLKit does not try to in-line \kw{g} in \kw{h} (or +vice-versa), although such an optimisation would certainly improve on the +efficiency of the generated code. Another example of a \kw{jmp} tail call is +shown in Section~\ref{foldl.sec}. + +The call-explicit program shown in Figure~\ref{tail2.fig} was compiled with the +flag \kw{-no\_abbrev}. Without this flag, the output is abbreviated in several +ways. First, \kw{fncall} and \kw{funcall} annotations are not shown and neither +are the \fw{attop} \kw{r1} annotations on top-level functions. \section{Non-Tail Call to Known Function \index{funcall@\texttt{funcall}}(\texttt{funcall})} + In the case that a call to a known function cannot be turned into a tail call, because the call needs to return to do more work, the call is transformed into -$$\boxml{funcall $f$ [$\rho_1, \ldots, \rho_n$] $\exp$}$$ -where {\tt - funcall} is the mnemonic used for non-tail calls to -region-polymorphic functions. One example is the call to {\tt h} in -Figure~\ref{tail2.fig}. Here the call to {\tt h} takes a region -argument {\tt r21} and an ordinary argument {\tt (v90-1)}; the call to -{\tt h} returns a closure, which needs to be applied to {\tt v91} -before the function {\tt g} can de-allocate the region {\tt r21} and +\begin{center} + \lstinline!funcall $f$ [$\rho_1, \ldots, \rho_n$] $\exp$! +\end{center} +where \kw{funcall} is the mnemonic used for non-tail calls to region-polymorphic +functions. One example is the call to \kw{h} in Figure~\ref{tail2.fig}. Here the +call to \kw{h} takes a region argument \kw{r13} and an ordinary argument +\kw{(v134 - 1)}; the call to \kw{h} returns a closure, which needs to be applied +to \kw{v135} before the function \kw{g} can de-allocate the region \kw{r13} and return. -This case completes all possible cases of applications of -region-polymorphic functions. We now turn to function applications -where the operator is not the name of a region-polymorphic function. +This case completes all possible cases of applications of region-polymorphic +functions. We now turn to function applications where the operator is not the +name of a region-polymorphic function. \section{Tail Call to Unknown Function (\texttt{fnjmp})} -Consider the case\index{fnjmp@\texttt{fnjmp}} -$$\exp_1\,\exp_2$$ -where (a) the call is a tail call and (b) $\exp_1$ -is not the name of a region-polymorphic function. + +Consider the case +% +\index{fnjmp@\texttt{fnjmp}}% +% +$$\exp_1\,\exp_2$$ where (a) the call is a tail call and (b) $\exp_1$ is not the +name of a region-polymorphic function. Here $\exp_1$ is evaluated to a closure in memory, pointed to by a +% \index{standard closure register}% \index{register!standard closure}% -{\em standard closure register}. Then $\exp_2$ is evaluated and the result -put in a +% +{\em standard closure register}. Then $\exp_2$ is evaluated and the result put +in a +% \index{standard argument register}% \index{register!standard argument}% -{\em standard argument register}. The first word in the closure -contains the address of the code of the function. This address is -fetched into a third register and a jump to the address is made. -Because the call is a tail call, it induces no allocation, neither on -the stack nor in regions. It is thus as efficient as an indirect jump -in assembly language. +% +{\em standard argument register}. The first word in the closure contains the +address of the code of the function. This address is fetched into a third +register and a jump to the address is made. Because the call is a tail call, it +induces no allocation, neither on the stack nor in regions. It is thus as +efficient as an indirect jump in assembly language. %To avoid that $\exp_2$ puts values %in fresh regions (which would make the call a non-tail call) one %can ``disable'' region polymorphism of $f$ as explained in Section~\ref{tailcall.sec}. The mnemonic used in call-explicit expressions for this special case is -$$\boxml{fnjmp $\exp_1$ $\exp_2$}$$ +\begin{center} + \lstinline!fnjmp $\exp_1$ $\exp_2$! +\end{center} \section{Non-Tail Call to Unknown Function (\texttt{fncall})} + Consider the case -$$\exp_1\,\exp_2$$ -where (a) the call is not a tail call and (b) -$\exp_1$ is not the name of a region-polymorphic function. +$$\exp_1\,\exp_2$$ where (a) the call is not a tail call and (b) $\exp_1$ is not +the name of a region-polymorphic function. -Applications of this form are implemented as follows. First $\exp_1$ -is evaluated and the result, a pointer to a closure, is stored in the +Applications of this form are implemented as follows. First $\exp_1$ is +evaluated and the result, a pointer to a closure, is stored in the +% \index{standard closure register}% \index{register!standard closure}% -standard closure register. Then $\exp_2$ is evaluated and stored in -the +% +standard closure register. Then $\exp_2$ is evaluated and stored in the +% \index{standard argument register}% \index{register!standard argument}% -standard argument register. Then live registers and a return -address are pushed onto the stack and a jump is made to the code -address that is stored in the first word of the closure pointed to by -the standard closure register. Upon return, registers are restored -from the stack. +% +standard argument register. Then live registers and a return address are pushed +onto the stack and a jump is made to the code address that is stored in the +first word of the closure pointed to by the standard closure register. Upon +return, registers are restored from the stack. The mnemonic used in call-explicit expressions for this special case is -$$\boxml{fncall $\exp_1$ $\exp_2$}$$ +\begin{center} + \lstinline!fncall $\exp_1$ $\exp_2$! +\end{center} \section{Example: Function Composition} + The Standard ML Basis Library declares function composition as follows\footnote{Program \boxml{kitdemo/compose.sml}.} -\begin{verbatim} +\begin{smlcode} fun (f o g) x = f(g x) -\end{verbatim} -The resulting call-explicit expression produced by the MLKit is -\begin{verbatim} - fun o attop r1 [r22:3] (v92, v93) = - fn attop r22 x => fnjmp v92 (fncall v93 x) -\end{verbatim} +\end{smlcode} +The resulting call-explicit expression produced by the MLKit when compiled with +the flags \kw{-no\_uncurry} and \kw{-no\_abbrev} is +\begin{smlcode} + fun o attop r1 [r21:3] (v120, v121) = + fn attop r21 x => fnjmp v120 (fncall v121 x) +\end{smlcode} Notice that +% \index{o@\texttt{o}}% -\boxml{f o g} first creates a closure in \boxml{r22} and then returns. -The closure is of size three words and contains a pointer to the code -for the function and pointers to the closures for \boxml{f} and -\boxml{g}. When called, the created function first performs a non-tail -call of \boxml{g} and then a tail call to \boxml{f}. +% +\boxml{f o g} first creates a closure in \boxml{r21} and then returns. The +closure is of size three words and contains a pointer to the code for the +function and pointers to the closures for \kw{f} and \kw{g}. When called, the +created function first performs a non-tail call of \kw{g} and then a tail call +to \kw{f}. \section{Example: \texttt{foldl} Revisited} \label{foldl.sec} -Consider the following declaration of folding over -lists:\footnote{Program \boxml{kitdemo/fold1.sml}.} -\begin{verbatim} + +Consider the following declaration of folding over lists:\footnote{Program +\boxml{kitdemo/fold1.sml}.} +\begin{smlcode} fun foldl f b xs = case xs of [] => b | x::xs' => foldl f (f x b) xs' -\end{verbatim} +\end{smlcode} The recursive call of +% \index{foldl@\texttt{foldl}}% -{\tt foldl} is a call of a known function, but not a tail call; {\tt - foldl} returns a closure, which is subsequently applied to the value -of {\tt (f x b)}. This too returns a closure, which in turn is applied -to {\tt xs'}. The resulting call-explicit expression is shown in -Figure~\ref{fold1.fig}. +% +\kw{foldl} is a call of a known function, but not a tail call; \kw{foldl} +returns a closure, which is subsequently applied to the value of \kw{(f x + b)}. This too returns a closure, which in turn is applied to \kw{xs'}. The +resulting call-explicit expression is shown in Figure~\ref{fold1.fig}. \begin{figure} \hrule \medskip -\begin{verbatim} - fun foldl attop r1 [r40:4, r38:4] (f) = - fn attop r40 b => - fn attop r38 xs => - (case xs of - nil => b - | _ => - let val v100 = decon_:: xs; - val v101 = #0 v100; - val v102 = #1 v100; - region r30:4 - in fncall - let region r31:4 - in fncall - funcall foldl[atbot r31,atbot r30] f - (fncall fncall f v101 b) - end - v102 - end) -\end{verbatim} -\caption{The straightforward implementation of {\tt foldl} uses space - linear in the length of the list. (Program {\tt - kitdemo/fold1.sml}.)} +\begin{smlcode} + fun foldl attop r1 [r41:4, r39:4] f = + fn attop r41 b => + fn attop r39 xs => + case xs of + nil => b + | :: v100 => + let val v101 = #0 v100; val v102 = #1 v100; region r35:4 + in fncall + let region r37:4 + in fncall + funcall foldl[atbot r37,atbot r35] f + (fncall fncall f v101 b) + end + v102 + end +\end{smlcode} +\caption{The straightforward implementation of \kw{foldl} uses space linear in + the length of the list. (Program \kw{kitdemo/fold1.sml} compiled with the + flags \kw{-no\_uncurry} and \kw{-no\_abbrev}.)} \medskip \hrule \label{fold1.fig} \end{figure} -Notice that upon each iteration, fresh regions for holding two -closures are being allocated for the duration of the recursive call. -Thus, space usage is linear in the length of the list (4 words for -each list cell, to be precise). +Notice that upon each iteration, fresh regions for holding two closures are +being allocated for the duration of the recursive call. Thus, space usage is +linear in the length of the list (4 words for each list cell, to be precise). -An alternative version of {\tt foldl} assumes that \boxml{f} -is curried:\footnote{Program \boxml{kitdemo/fold2.sml}.} -\begin{verbatim} +An alternative version of \kw{foldl} assumes that \kw{f} is +curried:\footnote{Program \boxml{kitdemo/fold2.sml}.} +\begin{smlcode} fun foldl f b xs = let fun loop(p as ([], b)) = p | loop(x::xs, b) = loop(xs,f x b) in #2(loop(xs,b)) end -\end{verbatim} +\end{smlcode} It is compiled into the call-explicit expression in Figure~\ref{fold2.fig}. \begin{figure} \hrule \medskip -\begin{verbatim} - fun foldl attop r1 [r50:3, r48:3] (f) = - fn attop r50 b => - fn attop r48 xs => - let region r25:1; - fun loop atbot r25 [r32:inf] (var2) = +\begin{smlcode} + fun foldl attop r1 [r63:3, r61:3] f = + fn attop r63 b => + fn attop r61 xs => + let region r27:1; + fun loop atbot r27 [r39:inf] var2 = let val v107 = #0 var2 in case v107 of - nil => var2 - | _ => - let val v109 = decon_:: v107; - val v110 = #0 v109; - val v111 = #1 v109; - val v112 = #1 var2 - in jmp loop[sat r32] - (v111, - fncall fncall f v110 v112 - )sat r32 - end + nil => var2 + | :: v109 => + let val v110 = #0 v109; + val v111 = #1 v109; + val v112 = #1 var2 + in jmp loop[sat r39] + (v111, + fncall fncall f v110 v112 + )sat r39 + end end; - region r44:inf - in #1 funcall loop[atbot r44] (xs, b)atbot r44 - end -\end{verbatim} -\caption{The result of compiling the efficient version of {\tt foldl} - ({\tt kitdemo/fold2.sml}) is an iterative function that avoids - argument pairs piling up in one region.} \medskip \hrule + region r57:inf + in #1 (funcall loop[atbot r57] (xs, b)atbot r57) + end +\end{smlcode} +\caption{The result of compiling the efficient version of \kw{foldl} + (\kw{kitdemo/fold2.sml}) is an iterative function that avoids argument pairs + piling up in one region.} \medskip \hrule \label{fold2.fig} \end{figure} -Here the loop is implemented as a jump and there is no new allocation -in each iteration, except, of course, for the allocation that {\tt f} -might make.\footnote{All the allocations made by the calls to {\tt f} - (one call for each element of the list) are put in the same regions. - If the list is very long or the values produced large, it may be a - good idea to copy the final result to separate regions.} - -As an exercise, consider the following variant of {\tt foldl}, which -assumes that {\tt f} takes a pair as an argument:\footnote{Program - \boxml{kitdemo/fold3.sml}.} -\begin{verbatim} +Here the loop is implemented as a jump and there is no new allocation in each +iteration, except, of course, for the allocation that \kw{f} might +make.\footnote{All the allocations made by the calls to \boxml{f} (one call for +each element of the list) are put in the same regions. If the list is very long +or the values produced large, it may be a good idea to copy the final result to +separate regions.} + +As an exercise, consider the following variant of \kw{foldl}, which assumes that +\kw{f} takes a pair as an argument:\footnote{Program \boxml{kitdemo/fold3.sml}.} +\begin{smlcode} fun foldl' f b xs = let fun loop(p as ([], b)) = p | loop(x::xs, b) = loop(xs,f(x,b))) in #2(loop(xs,b)) end -\end{verbatim} -Interestingly, this program contains a potential space leak. Can you -detect it? If not, the MLKit will tell you when you compile the -program if you pass the compiler the option -\texttt{-warn\_on\_escaping\_puts}. +\end{smlcode} +Interestingly, this program contains a potential space leak. Can you detect it? +If not, the MLKit will tell you when you compile the program if you pass the +compiler the option \kw{-warn\_on\_escaping\_puts}. + +Finally, we consider the following version of \kw{foldl}, which resembles the +implementation of the \kw{List.foldl} function:\footnote{Program \boxml{kitdemo/fold4.sml}.} +\begin{smlcode} + local + fun foldl f e [] = e + | foldl f e (x::xs) = foldl f (f(x,e)) xs + in + val a = foldl (op +) 0 [0,1,2] + end +\end{smlcode} +Figure~\ref{fold4.fig} shows the call-explicit version of the program. We see +that the function \kw{foldl} is specialised to the supplied function. Notice +that MLKit will specialise small functions, such as \kw{List.foldl}, across +compilation unit boundaries, which means that MLKit in general generates very +efficient code for calls to such functions. + +\begin{figure} +\hrule \medskip +\begin{smlcode} + let val a = + let region r9:0; + fun foldl atbot r9 (var2, var3) = + case var3 of + nil => var2 + | :: v109 => + let val v110 = #0 v109; val v111 = #1 v109 + in jmp foldl (v110 + var2, v111) + end; + region r21:inf + in foldl (0, [0,1,2] attop r21) + end + in {|a: _|} + end +\end{smlcode} +\caption{The result of applying and specialising the Basis Library version of + \kw{List.foldl}.} \medskip \hrule +\label{fold4.fig} +\end{figure} + %--------------------------------------------- \chapter{ML Basis Files and Modules} \label{mlb_and_modules.chap} %--------------------------------------------- -In Section \ref{tryit.sec} we described how to compile and run -single-file programs. In this chapter, we describe how to program in -the large with the MLKit, using +In Section \ref{tryit.sec} we described how to compile and run single-file +programs. In this chapter, we describe how to program in the large with the +MLKit, using +% \index{Standard ML!Modules}% -Standard ML Modules and the possibility of organising source files -in ML Basis Files. The MLKit fully supports Standard ML Modules and it -has a sophisticated system for avoiding unnecessary recompilation. In -the following section, we describe the notion of ML Basis Files. We then -turn to show how to program with structures, signatures, and functors. -To enable the programmer to write efficient programs using the Modules -language, we shall also explain how the MLKit compiles Modules language -constructs. +% +Standard ML Modules and the possibility of organising source files in ML Basis +Files. The MLKit fully supports Standard ML Modules and it has a sophisticated +system for avoiding unnecessary recompilation. In the following section, we +describe the notion of ML Basis Files. We then turn to show how to program with +structures, signatures, and functors. To enable the programmer to write +efficient programs using the Modules language, we shall also explain how the +MLKit compiles Modules language constructs. \section{ML Basis Files} An ML Basis File, in short MLB-file, +% \index{ML Basis File}% \index{{MLB}-file}% -is a file that lists the SML source files -that make up a project or a library. An MLB-file can also +% +is a file that lists the SML source files that make up a project or a +library. An MLB-file can also +% \index{referencing an MLB-file}% -\emph{reference} other MLB-files, so one can organise projects in a -hierarchical manner. MLB-files are enforced not to be cyclic. +% +\emph{reference} other MLB-files, so one can organise projects in a hierarchical +manner. MLB-files are enforced not to be cyclic. -MLB-files have file extension \index{.mlb@\texttt{.mlb}}{\tt .mlb}. -The content of an MLB-file is a \emph{basis declaration}, for which +MLB-files have file extension +% +\index{.mlb@\texttt{.mlb}}% +% +\kw{.mlb}. The content of an MLB-file is a \emph{basis declaration}, for which the +% \index{MLB-file!grammar}% -grammar is given in Figure~\ref{mlb_grammar.fig}. We assume a -denumerable infinite set of \emph{basis identifiers} Bid, ranged over -by \emph{bid}. We use \emph{longbid} to range over \emph{long basis - identifiers}, that is, non-empty lists of basis identifiers -separated by a punctuation letter (\texttt{.}). Basis identifiers can -be used for giving a name to a group of compilation units and allow -for expressing source dependencies, exactly, as a directed acyclic -graph, within one MLB-file. +% +grammar is given in Figure~\ref{mlb_grammar.fig}. We assume a denumerable +infinite set of \emph{basis identifiers} Bid, ranged over by \emph{bid}. We use +\emph{longbid} to range over \emph{long basis identifiers}, that is, non-empty +lists of basis identifiers separated by a punctuation letter (\kw{.}). Basis +identifiers can be used for giving a name to a group of compilation units and +allow for expressing source dependencies, exactly, as a directed acyclic graph, +within one MLB-file. \begin{figure} \hrule\medskip @@ -5573,157 +6157,164 @@ \section{ML Basis Files} & | & \emph{longbid} \end{array} \] -\caption{Grammar for MLB-files, i.e., files with extension {\tt .mlb}. - For some file extension {\tt .}\emph{ext}, {\it path}{\tt - .}\emph{ext} denotes either an absolute path or a relative path - (relative to the directory in which the MLB-file is located) to a - file on the underlying file system.} +\caption{Grammar for MLB-files, i.e., files with extension \kw{.mlb}. For some + file extension \kw{.}\emph{ext}, {\it path}\kw{.}\emph{ext} denotes either an + absolute path or a relative path (relative to the directory in which the + MLB-file is located) to a file on the underlying file system.} \label{mlb_grammar.fig} \medskip \hrule \end{figure} -In an MLB-file, one can reference source files and other MLB-files -using absolute or relative +In an MLB-file, one can reference source files and other MLB-files using +absolute or relative +% \index{path!absolute}% \index{path!relative}% -paths. Relative paths are relative to the location of the MLB-file. -Paths can reference environment variables using the -\texttt{\$(ENVVAR)} notation, where \texttt{ENVVAR} is an environment -variable. - -Until now, we have seen a few examples of MLB-files that reference the -Basis Library, using the \texttt{\$(SML\_LIB)} environment variable -(see Section~\ref{polyrec.sec} for such an example). In -Section~\ref{functors.sec}, we present an example of an MLB-file that -reference other MLB-files. In Section~\ref{comp_and_link_with_C.sec}, -we shall see an example of how an MLB-file can be compiled and linked -with external object files, produced with a C compiler, for instance. -MLB-files may contain Standard ML style +% +paths. Relative paths are relative to the location of the MLB-file. Paths can +reference environment variables using the \kw{\$(ENVVAR)} notation, where +\kw{ENVVAR} is an environment variable. + +Until now, we have seen a few examples of MLB-files that reference the Basis +Library, using the \kw{\$(SML\_LIB)} environment variable (see +Section~\ref{polyrec.sec} for such an example). In Section~\ref{functors.sec}, +we present an example of an MLB-file that reference other MLB-files. In +Section~\ref{comp_and_link_with_C.sec}, we shall see an example of how an +MLB-file can be compiled and linked with external object files, produced with a +C compiler, for instance. MLB-files may contain Standard ML style +% \index{MLB-file!comments in}% \index{comments!in MLB-file}% +% comments. The declared identifiers of an MLB-file is the union of the -identifiers being declared by source files in the MLB-file, excluding -source files that are included using {\tt local}. As an example of the -use of basis identifiers and {\tt local} to limit what identifiers are -declared by an MLB-file, consult the MLB-file {\tt basis/basis.mlb}. - -Every source file must contain a Standard ML top-level declaration; -the scope of the declaration is all the subsequent source files -mentioned in the MLB-file and all other MLB-files that reference this -MLB-file. Thus, a source file may depend on source files mentioned -earlier in the MLB-file and on other referenced MLB-files. The -meaning of an entire MLB-file is the meaning of the top-level -declaration that would arise by expanding all referenced MLB-files and -then concatenating all the source files listed in the MLB-file (with -appropriate renaming of declared identifiers of source files that are -included using {\tt local}), in the order they are listed, except that -each MLB-file is executed only the first time it is imported. +identifiers being declared by source files in the MLB-file, excluding source +files that are included using \kw{local}. As an example of the use of basis +identifiers and \kw{local} to limit what identifiers are declared by an +MLB-file, consult the MLB-file \kw{basis/basis.mlb}. + +Every source file must contain a Standard ML top-level declaration; the scope of +the declaration is all the subsequent source files mentioned in the MLB-file and +all other MLB-files that reference this MLB-file. Thus, a source file may depend +on source files mentioned earlier in the MLB-file and on other referenced +MLB-files. The meaning of an entire MLB-file is the meaning of the top-level +declaration that would arise by expanding all referenced MLB-files and then +concatenating all the source files listed in the MLB-file (with appropriate +renaming of declared identifiers of source files that are included using +\kw{local}), in the order they are listed, except that each MLB-file is executed +only the first time it is imported. The MLKit has a system for managing compilation and recompilation of +% \index{MLB-files}% -MLB-files. The system guarantees that the result of first modifying -one or more source files and then using the separate -compilation system to rebuild the executable is the same as if all +% +MLB-files. The system guarantees that the result of first modifying one or more +source files and then using the separate compilation system to rebuild the +executable is the same as if all +% \index{source file}% +% source files were +% \index{recompilation}% +% recompiled. -Thus, the separate compilation system is a way of avoiding recompiling -parts of a (possibly) long sequence of declarations, while ensuring -that the result is always the same as if one had compiled the entire -program from scratch. As an example, consider the MLB-file -(\boxml{kitdemo/scan.mlb}) for the text scanning example of -Section~\ref{scan.sec}. It contains the following three lines: -\begin{verbatim} +Thus, the separate compilation system is a way of avoiding recompiling parts of +a (possibly) long sequence of declarations, while ensuring that the result is +always the same as if one had compiled the entire program from scratch. As an +example, consider the MLB-file \kw{kitdemo/scan.mlb} for the text scanning +example of Section~\ref{scan.sec}. It contains the following three lines: +\begin{scriptcode} $(SML_LIB)/basis/basis.mlb lib.sml scan.sml -\end{verbatim} +\end{scriptcode} \noindent -The source files for the project are {\tt lib\_posix.sml} and {\tt scan.sml}, -which are both located in the directory where {\tt scan.mlb} is -located. Whereas each of the source files {\tt lib.sml} and {\tt - scan.sml} depends on the Basis Library, the source file {\tt - scan.sml} also depends on {\tt lib.sml}. - -Compiling an MLB-file is easy; simply give it as an argument to the -MLKit executable. When the MLB-file is first compiled, the MLKit -detects automatically when a source file has been modified (by -checking file modification dates). After a project has been -successfully compiled and linked, it can be executed by running the -command +The source files for the project are \kw{lib\_posix.sml} and \kw{scan.sml}, +which are both located in the directory where \kw{scan.mlb} is located. Whereas +each of the source files \kw{lib.sml} and \kw{scan.sml} depends on the Basis +Library, the source file \kw{scan.sml} also depends on \kw{lib.sml}. + +Compiling an MLB-file is easy; simply give it as an argument to the MLKit +executable. When the MLB-file is first compiled, the MLKit detects automatically +when a source file has been modified (by checking file modification +dates). After a project has been successfully compiled and linked, it can be +executed by running the command +% \index{run@\texttt{run}}% -\begin{verbatim} +% +\begin{scriptcode} ./run -\end{verbatim} +\end{scriptcode} in the working directory. -The MLKit compiles each source file of an MLB-file one at a time, in -the order mentioned. A source file is compiled under a given set of -assumptions, which provides, for instance, region-annotated type -schemes with places for free variables of the source file. Also, -compilation of a source file gives rise to exported information about -declared identifiers. Exported information may occur in assumptions -for source files mentioned later in the MLB-file. - -There are two rules that govern when a source file is recompiled. A -source file is recompiled if either (1) the user has modified the -source file or (2) the assumptions under which the source file was -previously compiled have changed. To avoid unnecessary recompilation, -assumptions for a source file depend on only its free identifiers. -Moreover, if a source file has been compiled earlier, the MLKit seeks to +The MLKit compiles each source file of an MLB-file one at a time, in the order +mentioned. A source file is compiled under a given set of assumptions, which +provides, for instance, region-annotated type schemes with places for free +variables of the source file. Also, compilation of a source file gives rise to +exported information about declared identifiers. Exported information may occur +in assumptions for source files mentioned later in the MLB-file. + +There are two rules that govern when a source file is recompiled. A source file +is recompiled if either (1) the user has modified the source file or (2) the +assumptions under which the source file was previously compiled have changed. To +avoid unnecessary recompilation, assumptions for a source file depend on only +its free identifiers. Moreover, if a source file has been compiled earlier, the +MLKit seeks to +% \index{matching}% -{\em match\/} the new exported information to the old exported -information by renaming generated names to names generated when the -source file was first compiled. Matching allows the compiler to use -fresh names (stamps) for implementing generative data types, for -instance, and still achieve that a source file is not necessarily +% +{\em match\/} the new exported information to the old exported information by +renaming generated names to names generated when the source file was first +compiled. Matching allows the compiler to use fresh names (stamps) for +implementing generative data types, for instance, and still achieve that a +source file is not necessarily +% \index{recompilation!cut-off}% -recompiled even though source files, on which it depends, are -modified. - -Let us assume that we modify the source file {\tt lib.sml} of the text -scanning example, after having compiled the MLB-file -\texttt{kitdemo/scan.mlb} once. When compiling the MLB-file again, the -MLKit checks whether the assumptions under which the source file {\tt - scan.sml} was compiled have changed, and if so, recompiles {\tt - scan.sml}. Modifying only comments or string constants inside {\tt - lib.sml} or extending its set of declared identifiers does not -trigger recompilation of {\tt scan.sml}. - -Some of the information a source file depends on is the ML type -schemes of its free variables. It also depends on, for example, the -region-annotated type schemes with places of its free variables. Thus -it can happen that a source file is recompiled even though the ML type -assumptions for free variables are unchanged. For instance, the -region-annotated type scheme with place for a free variable may have -changed, even though the underlying ML type scheme has not. - -As an example, consider what happens if we modify the function {\tt - readWord} in the source file {\tt lib.sml} so that it puts its -result in a global region. This modification will trigger -recompilation of the source file {\tt scan.sml}, because the -assumptions under which it was previously compiled have changed. -Besides changes in region-annotated type schemes with places, changes -in multiplicities and in physical sizes of formal region variables of -functions may also trigger recompilation. +% +recompiled even though source files, on which it depends, are modified. + +Let us assume that we modify the source file \kw{lib.sml} of the text scanning +example, after having compiled the MLB-file \kw{kitdemo/scan.mlb} once. When +compiling the MLB-file again, the MLKit checks whether the assumptions under +which the source file \kw{scan.sml} was compiled have changed, and if so, +recompiles \kw{scan.sml}. Modifying only comments or string constants inside +\kw{lib.sml} or extending its set of declared identifiers does not trigger +recompilation of \kw{scan.sml}. + +Some of the information a source file depends on is the ML type schemes of its +free variables. It also depends on, for example, the region-annotated type +schemes with places of its free variables. Thus it can happen that a source +file is recompiled even though the ML type assumptions for free variables are +unchanged. For instance, the region-annotated type scheme with place for a free +variable may have changed, even though the underlying ML type scheme has not. + +As an example, consider what happens if we modify the function \kw{readWord} in +the source file \kw{lib.sml} so that it puts its result in a global region. This +modification will trigger recompilation of the source file \kw{scan.sml}, +because the assumptions under which it was previously compiled have changed. +Besides changes in region-annotated type schemes with places, changes in +multiplicities and in physical sizes of formal region variables of functions may +also trigger recompilation. \section{Structures} -The support for Modules together with the possibility of dividing -top-level declarations into different source files provide a mechanism -for programming in the large. In the MLKit, structures exist only at -compile time. Thus one need not worry where + +The support for Modules together with the possibility of dividing top-level +declarations into different source files provide a mechanism for programming in +the large. In the MLKit, structures exist only at compile time. Thus one need +not worry where +% \index{structure declaration}% +% structures live at runtime. We illustrate the compile-time nature of structures with the following -example. Consider the MLB-file {\tt PolySet.mlb},\footnote{MLB-file: - \boxml{kitdemo/PolySet.mlb}.} which mentions the source files {\tt - PolySet.sml}, {\tt INT\_SET.sml}, and {\tt IntSet.sml}. The source -file {\tt PolySet.sml} contains the following top-level declaration: -\begin{verbatim} +example. Consider the MLB-file \kw{PolySet.mlb},\footnote{MLB-file: +\boxml{kitdemo/PolySet.mlb}.} which mentions the source files \kw{PolySet.sml}, +\kw{INT\_SET.sml}, and \kw{IntSet.sml}. The source file \kw{PolySet.sml} +contains the following top-level declaration: +\begin{smlcode} structure PolySet = struct type 'a set = 'a list @@ -5735,24 +6326,27 @@ \section{Structures} | union(s1,x::s2) = if mem(x,s1) then union(s1,s2) else x::union(s1,s2) end -\end{verbatim} -The code generated by the MLKit for the {\tt PolySet} structure is -exactly as if the declarations were written outside of a structure. -As a consequence, when you refer to a component of a structure using -qualified identifiers (e.g., {\tt PolySet.mem}), no code is generated -for fetching the component from the structure. Moreover, when opening -a structure, using the +\end{smlcode} +The code generated by the MLKit for the \kw{PolySet} structure is exactly as if +the declarations were written outside of a structure. As a consequence, when +you refer to a component of a structure using qualified identifiers (e.g., +\kw{PolySet.mem}), no code is generated for fetching the component from the +structure. Moreover, when opening a structure, using the +% \index{open declaration}% -{\tt open} declaration, no code is generated for rebinding the -identifiers that become visible. +% +\lstinline{open} declaration, no code is generated for rebinding the identifiers +that become visible. \section{Signatures} + \index{signature declaration}% -In the MLKit, signature declarations exist only at compile time. That -is, a signature declaration does not result in any code being -generated. The source file {\tt INT\_SET.sml} in the MLB-file {\tt - PolySet.mlb}, mentioned earlier, contains the signature declaration -\begin{verbatim} +% +In the MLKit, signature declarations exist only at compile time. That is, a +signature declaration does not result in any code being generated. The source +file \kw{INT\_SET.sml} in the MLB-file \kw{PolySet.mlb}, mentioned earlier, +contains the signature declaration +\begin{smlcode} signature INT_SET = sig type 'a set @@ -5761,78 +6355,81 @@ \section{Signatures} val mem : int * int set -> bool val union : int set * int set -> int set end -\end{verbatim} +\end{smlcode} -Signatures are used in two contexts; for specifying arguments to -functors and for providing restricted views of structures using +Signatures are used in two contexts; for specifying arguments to functors and +for providing restricted views of structures using +% \index{signature constraint!transparent}% +% transparent and +% \index{signature constraint!opaque}% -opaque signature constraints. We defer the discussion of the use of -signatures for specifying arguments to functors to -Section~\ref{functors.sec}. - -Transparent signature constraints may both restrict components from a -structure and make polymorphic components less polymorphic. Moreover, -opaque signature constraints may also make type components of -structures abstract. Consider the structure declarations -\begin{verbatim} +% +opaque signature constraints. We defer the discussion of the use of signatures +for specifying arguments to functors to Section~\ref{functors.sec}. + +Transparent signature constraints may both restrict components from a structure +and make polymorphic components less polymorphic. Moreover, opaque signature +constraints may also make type components of structures abstract. Consider the +structure declarations located in the source file \kw{kitdemo/IntSet.sml}: +\begin{smlcode} structure IntSet1 : INT_SET = PolySet structure IntSet2 :> INT_SET = PolySet -\end{verbatim} +\end{smlcode} \noindent -located in the source file {\tt kitdemo/IntSet.sml}. No code is -generated for the structure declarations. Instead, the compiler -memorises that if you refer to the long identifier {\tt IntSet1.mem}, -for instance, then it is actually {\tt PolySet.mem} that is applied -with type instance {\tt int}. +No code is generated for the structure declarations. Instead, the compiler +memorises that if you refer to the long identifier \kw{IntSet1.mem}, for +instance, then it is actually \kw{PolySet.mem} that is applied with type +instance \kw{int}. -As for the second declaration, opaque signature constraints are -eliminated at compile time (after elaboration) and transformed into -transparent signature constraints. +As for the second declaration, opaque signature constraints are eliminated at +compile time (after elaboration) and transformed into transparent signature +constraints. \section{Functors \label{functors.sec}} + \index{functor}% \index{specialisation!functor}% -Functors map structures to structures. The MLKit specialises a functor -every time it is applied. Thus, types that are abstract for the -programmer (inside a functor body) become visible to the compiler. -Region-annotated type schemes and other information about identifiers -in the actual functor argument are available when the MLKit compiles the -functor body. - -For practical reasons, it is important that not all functor -applications are expanded at once, since this could cause intermediate -representations of programs to become as large as (or even much larger -than) the entire program. Further, non-restricted in-lining could lead -to unnecessary recompilation upon modification of source files. -Instead, the largest structure declarations not containing functor -applications are compiled into separate chunks of machine object code. -Assumptions for compiling these structure declarations are memorised, -so that the generated code can be reused upon modification of source -files if the assumptions do not change. - -Consider the following MLB-file:\footnote{MLB-file: - \boxml{kitdemo/Set.mlb}.} -\begin{verbatim} +% +Functors map structures to structures. The MLKit specialises a functor every +time it is applied. Thus, types that are abstract for the programmer (inside a +functor body) become visible to the compiler. Region-annotated type schemes and +other information about identifiers in the actual functor argument are available +when the MLKit compiles the functor body. + +For practical reasons, it is important that not all functor applications are +expanded at once, since this could cause intermediate representations of +programs to become as large as (or even much larger than) the entire +program. Further, non-restricted in-lining could lead to unnecessary +recompilation upon modification of source files. Instead, the largest structure +declarations not containing functor applications are compiled into separate +chunks of machine object code. Assumptions for compiling these structure +declarations are memorised, so that the generated code can be reused upon +modification of source files if the assumptions do not change. + +Consider the following MLB-file:\footnote{MLB-file: \boxml{kitdemo/Set.mlb}.} +\begin{scriptcode} $(SML_LIB)/basis/basis.mlb local utils/utils.mlb in SET.sml Set.sml SetApp.sml end -\end{verbatim} -The MLB-file reference the MLB-file {\tt utils.mlb} from the {\tt utils} -directory.\footnote{MLB-file: \boxml{kitdemo/utils/utils.mlb}.} This -MLB-file provides a structure {\tt ListUtils} that contains the -function {\tt pr\_list} with type scheme {\tt ('a -> string) -> 'a - list -> string}. The content of the file {\tt Set.sml} is listed in -Figure~\ref{Set.fig}. It declares the functor {\tt Set}, which takes -as arguments the element type for the set, an ordering function on -elements, and a function for providing a string representation of -elements. +\end{scriptcode} +The MLB-file reference the MLB-file \kw{utils.mlb} from the \kw{utils} +directory.\footnote{MLB-file: \boxml{kitdemo/utils/utils.mlb}.} This MLB-file +provides a structure \kw{ListUtils} that contains the function \kw{pr\_list} +with type scheme +% +\lstinline!('a -> string) -> 'a list -> string!. +% +The content of the file \kw{Set.sml} is listed in Figure~\ref{Set.fig}. It +declares the functor \kw{Set}, which takes as arguments the element type for the +set, an ordering function on elements, and a function for providing a string +representation of elements. \begin{figure}[ht] \hrule \medskip -\begin{verbatim} +\begin{smlcode} functor Set (eqtype elem (*total order*) val lt : elem * elem -> bool val pr : elem -> string) @@ -5860,203 +6457,190 @@ \section{Functors \label{functors.sec}} end val pr = fn s => ListUtils.pr_list pr s end -\end{verbatim} -\caption{The source file \boxml{kitdemo/Set.sml}.} +\end{smlcode} +\caption{The source file \kw{kitdemo/Set.sml}.} \medskip \hrule \label{Set.fig} \end{figure} -The source file {\tt SetApp.sml} is listed in -Figure~\ref{SetApp.fig}. It constructs a structure {\tt IntSet} by -applying the functor {\tt Set} to appropriate arguments including an -ordering operation on integers and an operation for giving the string -representation of an integer. The {\tt IntSet} structure is used for -constructing a set \verb+{2,5}+, which the program prints using the -built-in {\tt print} function. +The source file \kw{SetApp.sml} is listed in Figure~\ref{SetApp.fig}. It +constructs a structure \kw{IntSet} by applying the functor \kw{Set} to +appropriate arguments including an ordering operation on integers and an +operation for giving the string representation of an integer. The \kw{IntSet} +structure is used for constructing a set \kw{{2,5}}, which the program prints +using the built-in \kw{print} function. \begin{figure}[ht] \hrule \medskip -\begin{verbatim} +\begin{smlcode} structure IntSet = Set(type elem = int val lt = op < fun pr a = Int.toString a) open IntSet val _ = print (pr (union(singleton 2, singleton 5))) -\end{verbatim} -\caption{The source file \boxml{kitdemo/SetApp.sml}.} +\end{smlcode} +\caption{The source file \kw{kitdemo/SetApp.sml}.} \medskip \hrule \label{SetApp.fig} \end{figure} -The body of the {\tt Set} functor is instantiated to form the code for -the {\tt IntSet} structure. The result of instantiating the {\tt Set} -functor is first translated into a $\Lam$ program and then translated -into a $\MulExp$ program. The $\MulExp$ call-explicit code for the -{\tt mem} function is shown in Figure~\ref{set_inst_mulexp.fig}. +The body of the \kw{Set} functor is instantiated to form the code for the +\kw{IntSet} structure. The result of instantiating the \kw{Set} functor is first +translated into a $\Lam$ program and then translated into a $\MulExp$ +program. The $\MulExp$ call-explicit code for the \kw{mem} function is shown in +Figure~\ref{set_inst_mulexp.fig}. \begin{figure}[ht] \hrule \medskip -\begin{verbatim} - fun mem attop r1 [] (x, l) = - let region r53:1; - fun mem' atbot r53 [] (var2) = - case var2 of - nil => false - | _ => - let val v193 = decon_:: var2; - val v194 = #0 v193; - val v195 = #1 v193 - in case v194 < x of - true => jmp mem'[] v195 - | _ => (case x < v194 of - true => false - | _ => true) - end - in funcall mem'[] l - end -\end{verbatim} -\caption{The $\MulExp$ call-explicit code for the {\tt mem} - function resulting from instantiating the {\tt Set} functor.} +\begin{smlcode} + fun mem (x, l) = + let region r55:1; + fun mem' atbot r55 var2 = + case var2 of + nil => false + | :: v191 => + let val v192 = #0 v191; val v193 = #1 v191 + in case v192 < x of + true => jmp mem' v193 + | _ => + case x < v192 of true => false | _ => true + end + in mem' l + end +\end{smlcode} +\caption{The $\MulExp$ call-explicit code for the \kw{mem} function resulting + from instantiating the \kw{Set} functor.} \medskip \hrule \label{set_inst_mulexp.fig} \end{figure} -Notice that the code for the {\tt mem}~function holds inlined code for -the {\tt lt}~function; because the function is sufficiently small, the MLKit propagates its intermediate representation - across module boundaries. +Notice that the code for the \kw{mem}~function holds inlined code for the +\kw{lt}~function; because the function is sufficiently small, the MLKit +propagates its intermediate representation across module boundaries. %--------------------------------------------------------- \chapter{Garbage Collection} \label{gc.chap} %--------------------------------------------------------- -The MLKit supports reference tracing garbage collection in -combination with the region memory model \cite{hallenberg99,het02}. -Garbage collection is also possible with region profiling enabled. - -The reference-tracing garbage collector is enabled by default and, as -we have seen earlier, garbage collection can be disabled by passing -the \texttt{-no\_gc} option to the MLKit compiler at compile time. As -we shall see, it is also possible to disable garbage collection at -runtime for a program that has been compiled with garbage collection -enabled. - -The MLKit also features generational reference-tracing garbage -collection (option \texttt{-gengc}), which in some cases is superior -to ordinary reference-tracing garbage collection, but which may also -cause additional fragmentation \cite{elshaljfp21}. +The MLKit supports reference tracing garbage collection in combination with the +region memory model \cite{hallenberg99,het02}. Garbage collection is also +possible with region profiling enabled. + +The reference-tracing garbage collector is enabled by default and, as we have +seen earlier, garbage collection can be disabled by passing the \kw{-no\_gc} +option to the MLKit compiler at compile time. As we shall see, it is also +possible to disable garbage collection at runtime for a program that has been +compiled with garbage collection enabled. + +The MLKit also features generational reference-tracing garbage collection +(option \kw{-gengc}), which in some cases is superior to ordinary +reference-tracing garbage collection, but which may also cause additional +fragmentation \cite{elshaljfp21}. \section{Dangling Pointers} -The region type system supports deallocation of memory that is not -accessed in the remainder of the execution of the program. Because of -this principle, the execution model may lead to {\em dangling - pointers}, that is, pointers that point into memory that has been -discharged. When garbage collection is enabled, the region type system -is modified slightly so as to guarantee that no dangling pointers -occur during execution \cite{elsman:tldi03}. The following example -illustrates how the enabling of garbage collection changes the way -programs are compiled: -\begin{verbatim} +The region type system supports deallocation of memory that is not accessed in +the remainder of the execution of the program. Because of this principle, the +execution model may lead to {\em dangling pointers}, that is, pointers that +point into memory that has been discharged. When garbage collection is enabled, +the region type system is modified slightly so as to guarantee that no dangling +pointers occur during execution \cite{elsman:tldi03,10.1145/3591229}. The +following example illustrates how the enabling of garbage collection changes the +way programs are compiled: +\begin{smlcode} val f = let val x = ref (2, [1]) in fn y => (#1 (!x), y) end val r = f 5 -\end{verbatim} -When garbage collection is disabled, the program is compiled into the -following MulExp program:\footnote{Compiled with {\tt mlkit -no\_gc - -maximum\_inline\_size 0 -Ppse -w 40 dangling.sml} from within the - {\tt kitdemo} directory.} -\begin{verbatim} +\end{smlcode} +When garbage collection is disabled, the program is compiled into the following +MulExp program:\footnote{Compiled with \boxml{mlkit -no\_gc + -maximum\_inline\_size 0 -Ppse -w 40 dangling.sml} from within the +\boxml{kitdemo} directory.} +\begin{smlcode} val f = let region r9:inf; val x = ref attop r6 (2, [1] attop r9)attop r4 in fn attop r1 y => (#0 (!x), y)attop r4 end val r = fncall f 5 -\end{verbatim} -Notice here that region {\tt r9}, which contains the list {\tt [1]}, -is de-allocated before the function {\tt f} is applied to the value -{\tt 5}. If we chose to run this program together with a reference -tracing garbage collector, a fatal error could occur: The memory that -contains the list {\tt [1]} could be reused for other purposes at the -time the garbage collector tries to trace the dangling pointer. - -Figure~\ref{dangling_gc.fig} shows the MulExp program produced when -garbage collection is enabled.\footnote{Compiled with {\tt mlkit -gc - -maximum\_inline\_size 0 -Ppse -w 50 dangling.sml} from within the - {\tt kitdemo} directory.} +\end{smlcode} +Notice here that region \kw{r9}, which contains the list \kw{[1]}, is +de-allocated before the function \kw{f} is applied to the value \kw{5}. If we +chose to run this program together with a reference tracing garbage collector, a +fatal error could occur: The memory that contains the list \kw{[1]} could be +reused for other purposes at the time the garbage collector tries to trace the +dangling pointer. + +Figure~\ref{dangling_gc.fig} shows the MulExp program produced when garbage +collection is enabled.\footnote{Compiled with \boxml{mlkit -gc + -maximum\_inline\_size 0 -Ppse -w 50 dangling.sml} from within the +\boxml{kitdemo} directory.} \begin{figure}[ht] \hrule \medskip -\begin{verbatim} +\begin{smlcode} val f = let val x = ref attop r6 (2, [1] attop r4)attop r4 in fn attop r1 y => (#0 (!x), y)attop r4 end val r = fncall f 5 -\end{verbatim} +\end{smlcode} \caption{The $\MulExp$ program produced when compiling the program - {\tt kitdemo/dangling.sml} with garbage collection enabled. To avoid - dangling pointers when garbage collection is enabled, all values in - the closure for {\tt f} are kept alive as long as the closure - itself.} \medskip \hrule + \kw{kitdemo/dangling.sml} with garbage collection enabled. To avoid dangling + pointers when garbage collection is enabled, all values in the closure for + \kw{f} are kept alive as long as the closure itself.} \medskip \hrule \label{dangling_gc.fig} \end{figure} -When garbage collection is enabled, the MLKit makes sure that whenever -a closure is live all values stored in the closure are kept live as -long as the closure is live. Assume that the type with place $\mu$ of -the function associated with the closure is on the form $(\mu_1 -\ar{\epsilon.\varphi} \mu_2, \rho_0)$. The MLKit enforces the -restriction by requiring that for each region variable $\rho$ that -occur free in the type of free variables of the function (those -variables for which values are stored in the closure at runtime), -$\rho$ occur free in $\mu$. In the implementation, the requirement may -lead to extra $\Get$ effects being added to $\epsilon.\varphi$ when -garbage collection is enabled. In the example, an imposed $\Get$ -effect on the arrow effect in the type for {\tt f} makes it impossible -to wrap a {\tt region} binding around the binding for {\tt f}. (See +When garbage collection is enabled, the MLKit makes sure that all values stored +in a closure are kept live as long as the closure is live. Assume that the type +with place $\mu$ of the function associated with the closure is on the form +$(\mu_1 \ar{\epsilon.\varphi} \mu_2, \rho_0)$. The MLKit enforces the +restriction by requiring that for each region variable $\rho$ that occur free in +the type of free variables of the function (those variables for which values are +stored in the closure at runtime), $\rho$ occur free in $\mu$. In the +implementation, the requirement may lead to extra $\Get$ effects being added to +$\epsilon.\varphi$ when garbage collection is enabled. In the example, an +imposed $\Get$ effect on the arrow effect in the type for \kw{f} makes it +impossible to wrap a {\tt region} binding around the binding for \kw{f}. (See \cite[page 50]{total93}, \cite{elsman:tldi03}, and -\cite{gcsafety-revisited-tr-2022} for more information about this -requirement.) +\cite{gcsafety-revisited-tr-2022,10.1145/3591229} for more information about +this requirement.) \section{Scanning Text Files with Stream IO and Garbage Collection} -In Section~\ref{scan.sec}, we saw how we could use basic non-buffered -\texttt{Posix} IO operations for scanning text files in constant -space. The Standard ML Basis library, however, also features a -stream-based \texttt{TextIO} structure that supports arbitrary -look-ahead, buffering, stream-redirection, and many other features -\cite{basislib2004}. Unfortunately, as mentioned in -Section~\ref{scan.sec}, this functionality does not work well together -with MLKit's region based memory management, unless combined with a -mechanism for dynamically garbage collecting regions. We now consider -a modified version of the the text scanning program listed in -Section~\ref{scan.sec} that uses the \texttt{TextIO.inputN} function -for file reading, instead of using \texttt{Posix} buffered IO. - -Figure~\ref{scan-stream.fig} shows two region profiles for the -modified text scanning program.\footnote{MLB-file: - \texttt{scan\_stream.mlb}.} We see that the reference-tracing -garbage collector periodically cleans up the global regions r1 and r4, -which tends to grow steadily without garbage collection. +In Section~\ref{scan.sec}, we saw how we could use basic non-buffered \kw{Posix} +IO operations for scanning text files in constant space. The Standard ML Basis +library, however, also features a stream-based \kw{TextIO} structure that +supports arbitrary look-ahead, buffering, stream-redirection, and many other +features \cite{basislib2004}. Unfortunately, as mentioned in +Section~\ref{scan.sec}, this functionality does not work well together with +MLKit's region based memory management, unless combined with a mechanism for +dynamically garbage collecting regions. We now consider a modified version of +the the text scanning program listed in Section~\ref{scan.sec} that uses the +\kw{TextIO.inputN} function for file reading, instead of using \kw{Posix} +buffered IO. + +Figure~\ref{scan-stream.fig} shows two region profiles for the modified text +scanning program.\footnote{MLB-file: \boxml{scan\_stream.mlb}.} We see that the +reference-tracing garbage collector periodically cleans up the global regions +\kw{r1} and \kw{r4}, which tends to grow steadily without garbage collection. \begin{figure} \includerp{scan_stream_nogc.pdf} \includerp{scan_stream.pdf} -\caption{Two region profiles of text scanning using buffered - stream-based IO operations. The top region profile is with - reference-tracing garbage collection disabled and the bottom - region profile is with reference-tracing garbage collection - enabled.} +\caption{Two region profiles of text scanning using buffered stream-based IO + operations. The top region profile is with reference-tracing garbage + collection disabled and the bottom region profile is with reference-tracing + garbage collection enabled.} \label{scan-stream.fig} \end{figure} \section{Instrumenting the Executable} Executables produced by the MLKit with garbage collection enabled can be -instrumented by use of command-line options. For instance, if the MLKit -has produced a file {\tt run}, one can pass the option {\tt - -verbose\_gc} to {\tt run} to enable the printing of garbage -collection information at runtime. An overview of available -command-line options is shown by passing the option {\tt -help} to the -generated executable: {\small -\begin{verbatim} +instrumented by use of command-line options. For instance, if the MLKit has +produced a file \kw{run}, one can pass the option \kw{-verbose\_gc} to \kw{run} +to enable the printing of garbage collection information at runtime. An overview +of available command-line options is shown by passing the option \kw{-help} to +the generated executable: {\small +\begin{scriptcode} Usage: ./run [-help, -h] [-disable_gc | -verbose_gc] [-heap_to_live_ratio d] @@ -6066,7 +6650,7 @@ \section{Instrumenting the Executable} -disable_gc Disable garbage collector. -verbose_gc Show info after each collection. -heap_to_live_ratio d Use heap to live ratio d, ex. 3.0. -\end{verbatim} +\end{scriptcode} } \part{System Reference} @@ -6075,82 +6659,83 @@ \part{System Reference} \chapter{Region Profiling} \label{useOfProf.sec} %--------------------------------------------------------- -We have already seen several examples of the use of the profiler. We -shall now explain in more detail how to profile programs. For example, we shall see -how one can find out precisely what allocation points in the program -contribute to allocation in a particular region. - -The profiler consists of several tools that can be used to analyse the -dynamic memory behavior of a program. First of all, the profiler lets -you create graphs of the dynamic memory usage of the program. Three -different kinds of graphs may be created: +We have already seen several examples of the use of the profiler. We shall now +explain in more detail how to profile programs. For example, we shall see how +one can find out precisely what allocation points in the program contribute to +allocation in a particular region. + +The profiler consists of several tools that can be used to analyse the dynamic +memory behavior of a program. First of all, the profiler lets you create graphs +of the dynamic memory usage of the program. Three different kinds of graphs may +be created: \begin{itemize} \item A \index{region profile}% \index{profile!region}% - {\em region profile\/} is a graph that gives a global view of the - memory usage by showing the total number of bytes allocated in - regions and on the stack as a function of time. In the graph, - regions that arise from the same + % + {\em region profile\/} is a graph that gives a global view of the memory usage + by showing the total number of bytes allocated in regions and on the stack as + a function of time. In the graph, regions that arise from the same \begin{center} - \texttt{region} $\rho$ + \lstinline{region} $\rho$ \end{center} - construct are collected into one colored band, labelled $\rho$. The - region variables that label bands are always global or {\tt region}-bound, - never formal region parameters. + construct are collected into one colored band, labeled $\rho$. The region + variables that label bands are always global or \lstinline{region}-bound, never + formal region parameters. \item An \index{object profile}% \index{profile!object}% - {\em object profile\/} is a graph that, for a particular region, - shows the objects allocated in the region, with one coloured band - for each allocation point in the region-annotated - program\footnote{Every occurrence of an $\at$ in the - region-annotated program is an allocation point.}. Each allocation - point is annotated with a + % + {\em object profile\/} is a graph that, for a particular region, shows the + objects allocated in the region, with one colored band for each allocation + point in the region-annotated program\footnote{Every occurrence of an + \lstinline{at} in the region-annotated program is an allocation point.}. Each + allocation point is annotated with a + % \index{program point}% + % {\em program point}, which is a unique number that identifies the - allocation.\footnote{Program points are unique. In particular, for a - project with two program units, the program points in the - region-annotated programs for the two units will be distinct.} To - inspect region-annotated programs with program points, pass the - MLKit compiler the option \texttt{-print\_program\_points} in - addition to the option \texttt{-print\_call\_explicit\_expression}, - say.\footnote{Program points are annotated during physical size - inference.} - - If you have an object profile showing that program point - \texttt{pp42}, say, contributes with allocation, you can search for - \texttt{pp42} in the region-annotated program and thus find the - construct that caused the allocation. + allocation.\footnote{Program points are unique. In particular, for a project + with two program units, the program points in the region-annotated programs + for the two units will be distinct.} To inspect region-annotated programs + with program points, pass the MLKit compiler the option + \kw{-print\_program\_points} in addition to the option + \kw{-print\_call\_explicit\_expression}, say.\footnote{Program points are + annotated during physical size inference.} + + If you have an object profile showing that program point \kw{pp42}, say, + contributes with allocation, you can search for \kw{pp42} in the + region-annotated program and thus find the construct that caused the + allocation. \item A \index{stack profile}% \index{profile!stack}% - {\em stack profile\/} is a graph that shows the stack memory usage, - as a function of time. + % + {\em stack profile\/} is a graph that shows the stack memory usage, as a + function of time. \end{itemize} In addition to the possibility of generating programs with program points, it is also possible, during compilation, to generate a +% \index{region flow graph}% -{\em region flow graph}, which shows how regions may be passed around -at runtime when region-polymorphic functions are applied. The region -flow graph comes in handy when profiling large programs and when one wants -to find out why a formal region variable is instantiated to a -certain {\tt region}-bound region variable. - -The following example clarifies the use of a region flow graph. -Suppose the region profile shows that \texttt{r5} is responsible for -most of the memory usage. Further, suppose an object profile of -\texttt{r5} shows that program point \texttt{pp345} is responsible for -most of the allocation. Searching for \texttt{pp345} in the -region-annotated program, you may find that the allocation at -\texttt{pp345} is into some other region variable, \texttt{r34}, say. -Here \texttt{r34} will be a formal region parameter of a -region-polymorphic function that at runtime has been instantiated to -\texttt{r5} by one or more calls of region-polymorphic functions. -You can now use the region flow graph to find the cascade of region -polymorphic applications that ends up instantiating \texttt{r34} to -\texttt{r5}. +% +{\em region flow graph}, which shows how regions may be passed around at runtime +when region-polymorphic functions are applied. The region flow graph comes in +handy when profiling large programs and when one wants to find out why a formal +region variable is instantiated to a certain \lstinline{region}-bound region +variable. + +The following example clarifies the use of a region flow graph. Suppose the +region profile shows that \kw{r5} is responsible for most of the memory usage. +Further, suppose an object profile of \kw{r5} shows that program point +\kw{pp345} is responsible for most of the allocation. Searching for \kw{pp345} +in the region-annotated program, you may find that the allocation at \kw{pp345} +is into some other region variable, \kw{r34}, say. Here \kw{r34} will be a +formal region parameter of a region-polymorphic function that at runtime has +been instantiated to \kw{r5} by one or more calls of region-polymorphic +functions. You can now use the region flow graph to find the cascade of region +polymorphic applications that ends up instantiating \kw{r34} to \kw{r5}. The profiling process is sketched in Figure~\ref{profStrategy.fig}. \setlength{\unitlength}{6mm} @@ -6189,11 +6774,11 @@ \chapter{Region Profiling} \put(0.9,14.1){\vector(1,0){1.1}} \put(1.1,13.9){\vector(1,0){0.9}} \end{picture} -\caption{Overview of the profile process. The process sometimes requires the programmer - to refine the runtime profiling strategy, or even the compile-time - profiling strategy. Dotted boxes represent output from the compiler, - from executing the program, and from using the tool {\tt rp2ps}, - which generates PostScript graphs from the exported data file.} +\caption{Overview of the profile process. The process sometimes requires the + programmer to refine the runtime profiling strategy, or even the compile-time + profiling strategy. Dotted boxes represent output from the compiler, from + executing the program, and from using the tool \kw{rp2ps}, which generates + Postscript graphs from the exported data file.} \label{profStrategy.fig} \end{center} \medskip @@ -6241,122 +6826,114 @@ \chapter{Region Profiling} %\hrule %\end{figure} -We will now show an example on how to profile a concrete program that -contains a space leak and then show how the profiler can be used to -improve the program. We then explain in more detail how to specify the -profiling strategies and how the profiles are generated. +We will now show an example on how to profile a concrete program that contains a +space leak and then show how the profiler can be used to improve the program. We +then explain in more detail how to specify the profiling strategies and how the +profiles are generated. %------------------------------------------------- \section{Example: Scanning Text Files Again} %------------------------------------------------- -In this section, we concentrate on the general principles of -profiling. As an example, we investigate a revised version of the project {\tt - kitdemo/scan.mlb} (see Section~\ref{scan.sec}). Instead of -asking for a list of input files to scan (as project \texttt{scan.mlb} -does), the revised version of the scan project asks for only one input -file, which it then scans +In this section, we concentrate on the general principles of profiling. As an +example, we investigate a revised version of the project \kw{kitdemo/scan.mlb} +(see Section~\ref{scan.sec}). Instead of asking for a list of input files to +scan (as project \kw{scan.mlb} does), the revised version of the scan project +asks for only one input file, which it then scans +% \index{scan_rev1.mlb@\texttt{scan\_rev1.mlb}}% -50~times.\footnote{Project {\tt kitdemo/scan\_rev1.mlb}.} +% +50~times.\footnote{Project \boxml{kitdemo/scan\_rev1.mlb}.} The first thing to do is to get an overview of the memory usage of the program. A region profile of the program gives you just that. See Figure~\ref{scan_rev1_1.fig}. \begin{figure} \includerp{scan_rev1_1.pdf} -\caption{Memory is accumulated in the top two bands. The global - regions \texttt{r1} and \texttt{r154248} hold the largest amount of - memory. The graph was generated by first compiling the {\tt - kitdemo/scan\_rev1.mlb} project with profiling enabled (option - \texttt{-prof}). We also add the compiler options - \texttt{-log\_to\_file}, \texttt{-Ppp}, \texttt{-Prfg}, and - \texttt{-Ppp} for enabling printing of region flow graphs, program - points, and cell-explicit expressions (redirected to log - files). Then by executing \texttt{echo life.sml | run -notimer 723} - and finally by typing \texttt{rp2ps -region -name 'Scanning life.sml - 50 times'}.} +\caption{Memory is accumulated in the top two bands. The global regions \kw{r1} + and \kw{r333643} hold the largest amount of memory. The graph was generated by + first compiling the \kw{kitdemo/scan\_rev1.mlb} project with profiling enabled + (option \kw{-prof}). We also add the compiler options \kw{-log\_to\_file}, + \kw{-Ppp}, \kw{-Prfg}, and \kw{-Pcee} for enabling printing of region flow + graphs, program points, and call-explicit expressions (redirected to log + files). Then by executing \kw{echo life.sml | run -notimer 723} and finally by + typing \kw{rp2ps -region -name 'Scanning life.sml 50 times' -sampleMax 200}.} \label{scan_rev1_1.fig} \medskip\hrule \end{figure} -The graph shows that region \texttt{r154248} accumulates more memory -for each time it scans the file {\tt life.sml}. +The graph shows that region \kw{r333643} accumulates more memory for each time +it scans the file \kw{life.sml}. -To see what happens in region \texttt{r154248}, we make an object profile of -that region, see Figure \ref{scan_rev1_2.fig}. +To see what happens in region \kw{r333643}, we make an object profile of that +region, see Figure \ref{scan_rev1_2.fig}. \begin{figure} \includerp{scan_rev1_2.pdf} -\caption{There seems to be a space leak at program point - \texttt{pp120}. The graph was generated by typing \texttt{rp2ps - -object 154248}.} +\caption{There seems to be a space leak at program point \kw{pp894}. The graph + was generated by typing \kw{rp2ps -object r333643}.} \label{scan_rev1_2.fig} \medskip\hrule \end{figure} -The object profile shows that program point \texttt{pp120} continually -allocates memory that is first freed when the program terminates. We -now search for \texttt{pp120} in the generated log files and in the -log file located in the basis library folder -\texttt{\$(SML\_LIB)/basis}).\footnote{Unfortunately, the MLKit - compiler happily resets the program point counter for each - compilation of a program unit, thus, there are multiple instances of - the program point \texttt{pp120}.} Among other places, we find that -the program point \texttt{pp120} appears in the following fragment in -the file \texttt{basis/Int.sml.log}: -\begin{verbatim} - fun conv attop r1T pp65 [r58484s:inf] (rad, radix, i) = +The object profile shows that program point \kw{pp894} continually allocates +memory that is first freed when the program terminates. We now search for +\kw{pp894} in the generated log files and in the log file located in the basis +library folder \kw{\$(SML\_LIB)/basis}).\footnote{Unfortunately, the MLKit +compiler happily resets the program point counter for each compilation of a +program unit, thus, there are multiple instances of the program point +\boxml{pp894}.} Among other places, we find that the program point \boxml{pp894} +appears in the following fragment in the file \boxml{basis/Int.sml.log}: +\begin{smlcode} + fun toString attop r1T pp859 [r61517s:inf] i = case ... of - ... + ... | _ => let ... - in $implodeCharsML(sat r58484s pp120, ...) + in String.implode [sat r61517s pp894] (...) end -\end{verbatim} -So the space leak is caused by the {\tt implodeCharsML} primitive -function being called with region {\tt r154248} instantiated for the -formal region variable {\tt r58484}. +\end{smlcode} +So the space leak is caused by the \kw{String.implode} primitive function being +called with region \kw{r333643} instantiated for the formal region variable +\kw{r61517}. -We now search for \texttt{r154248} in file \texttt{scan\_rev1.sml.log} -and find the following fragment of the region flow graph: +We now search for \kw{r333643} in file \kw{scan\_rev1.sml.log} and find the +following fragment of the region flow graph: \begin{small} -\begin{verbatim} - readWord[r153984:inf] --r153984 atbot--> [*r154248*] - toString[r59007:inf] --r59007 attop--> LETREGION[r154248:inf] -\end{verbatim} +\begin{scriptcode} + LETREGION[r333643:inf] + readWord[r333197:inf] --r333197 atbot--> [*r333643*] ; + toString[r61517:inf] --r61517 attop--> [*r333643*] ; +\end{scriptcode} \end{small} -The fragment is read as follows. The formal region variable {\tt - r59007} is instantiated to the {\tt region}-bound region variable -{\tt r154248} in a call to {\tt toString}. Moreover, also the formal -region variable {\tt r153984} (of function {\tt readWord}) is -instantiated to {\tt r154248}. (The asterisks ({\tt *}) denote that the -node has been displayed before.) - -Region flow graphs are local to each program fragment in a program. A -call to a non-local region-polymorphic function introduces an edge in -the region flow graph, but the graph says nothing about in which -module the called function is located. Thus, it may be necessary to -look in several log files to find the path from a formal region -variable to an actual region variable. By inspecting the call-explicit -programs found in {\tt basis/Int.sml.log} and {\tt - kitdemo/lib.sml.log} one finds that both {\tt toString} and {\tt - readWord} eventually call {\tt implode}. However, {\tt readWord} is -called only initially, thus, we conclude that the space leak is caused -by function {\tt toString} (from the {\tt Int} structure) being called -with region {\tt r154248} instantiated for the formal region variable -{\tt r59007}. Indeed, by inspecting the calls to {\tt toString} in the -call-explicit program found in {\tt scan\_rev1.sml.log}, we see that -{\tt toString} is called with actual region {\tt 154248}. - -The {\tt concat} function from the initial basis catenates a list of -strings. But all the strings in the argument list to {\tt concat} are -required to be in the same region. Thus, whenever a file is reported -(see Figure~\ref{report_file.fig}), strings created by the {\tt - Int.toString} function are put in the region that also holds the -file name for the report (which is read using the function {\tt - readWord}); and this region is non-local to the {\tt do\_it} -function, which implements the main loop of the program. +The fragment is read as follows. The formal region variable \kw{r61517} is +instantiated to the \lstinline{region}-bound region variable \kw{r333643} in a +call to \kw{toString}. Moreover, also the formal region variable \kw{r333197} +(of function \kw{readWord}) is instantiated to \kw{r333643}. (The asterisks +(\kw{*}) denote that the node has been displayed before.) + +Region flow graphs are local to each program fragment in a program. A call to a +non-local region-polymorphic function introduces an edge in the region flow +graph, but the graph says nothing about in which module the called function is +located. Thus, it may be necessary to look in several log files to find the path +from a formal region variable to an actual region variable. By inspecting the +call-explicit programs found in \kw{basis/Int.sml.log} and +\kw{kitdemo/lib.sml.log} one finds that both \kw{toString} and \kw{readWord} +eventually call \kw{implode}. However, \kw{readWord} is called only initially, +thus, we conclude that the space leak is caused by function \kw{Int.toString} +being called with region \kw{r333643} instantiated for the formal region +variable \kw{r61517}. Indeed, by inspecting the calls to \kw{toString} in the +call-explicit program found in \kw{scan\_rev1.sml.log}, we see that +\kw{toString} is called with actual region \kw{r333643}. + +The \kw{concat} function from the initial basis catenates a list of strings. But +all the strings in the argument list to \kw{concat} are required to be in the +same region. Thus, whenever a file is reported (see +Figure~\ref{report_file.fig}), strings created by the \kw{Int.toString} function +are put in the region that also holds the file name for the report (which is +read using the function \kw{readWord}); and this region is non-local to the +\kw{do\_it} function, which implements the main loop of the program. \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{smlcode} fun report_file (filename, n, ins) = writeln(concat[filename, ": size = ", Int.toString n, " comments: ", Int.toString ins, " (", @@ -6379,21 +6956,21 @@ \section{Example: Scanning Text Files Again} fun main () : unit = case readWord F.stdin of SOME filename => - let fun do_it 0 = () - | do_it n = (scan_file filename; do_it (n-1)) - in do_it 50 - end + let fun do_it 0 = () + | do_it n = (scan_file filename; do_it (n-1)) + in do_it 50 + end | NONE => () -\end{verbatim} -\caption{Fragments of {\tt scan\_rev1.sml}. All the strings in the - argument list to {\tt concat} are put in the same region.} +\end{smlcode} +\caption{Fragments of \kw{scan\_rev1.sml}. All the strings in the argument list + to \kw{concat} are put in the same region.} \label{report_file.fig} \medskip \hrule \end{figure} -One way of solving the space leak is to make a copy of {\tt filename} -at the call to {\tt report\_file} in function {\tt scan\_file}: -\begin{verbatim} +One way of solving the space leak is to make a copy of \kw{filename} at the call +to \kw{report\_file} in function \kw{scan\_file}: +\begin{smlcode} fun scan_file filename : (int*int) option = let val fd = F.openf (filename, F.O_RDONLY, F.O.flags[]) in let val (n, ins) = scan fd @@ -6406,18 +6983,20 @@ \section{Example: Scanning Text Files Again} NONE) end handle IO.Io {name,...} => (writeln (name ^ " failed."); NONE) -\end{verbatim} +\end{smlcode} Project +% \index{scan_rev2@\texttt{scan\_rev2.mlb}}% -{\tt kitdemo/scan\_rev2.mlb} implements the modification. -Figure~\ref{scan_rev2_1.fig} shows a region profile of the -\texttt{scan\_rev2.mlb} project. +% +\kw{kitdemo/scan\_rev2.mlb} implements the modification. +Figure~\ref{scan_rev2_1.fig} shows a region profile of the \kw{scan\_rev2.mlb} +project. \begin{figure} \includerp{scan_rev2_1.pdf} -\caption{There is no space leak: no matter how many times we scan the - file, the project will use the same number of words. The graph was - generated by executing \texttt{echo life.sml | run -notimer 723} and - \texttt{rp2ps name scan\_rev2 -region}.} +\caption{There is no space leak: no matter how many times we scan the file, the + project will use the same number of words. The graph was generated by + executing \kw{echo life.sml | run -notimer 723} and \kw{rp2ps name scan\_rev2 + -region}.} \label{scan_rev2_1.fig} \medskip\hrule \end{figure} @@ -6427,140 +7006,159 @@ \section{Compile-Time Profiling Strategy} %---------------------------------------- Before compiling a program for the purpose of profiling, one must decide on a +% \index{profile strategy!compile-time}% -{\em compile-time profiling strategy}; see -Figure~\ref{profStrategy.fig}. The compile-time profiling strategy -directs the embedding of profiling instructions in the generated code -and instructs the compiler whether to report a region flow graph. +% +{\em compile-time profiling strategy}; see Figure~\ref{profStrategy.fig}. The +compile-time profiling strategy directs the embedding of profiling instructions +in the generated code and instructs the compiler whether to report a region flow +graph. Region profiling is enabled by passing the option +% \index{region profiling@\texttt{-region\_profiling}}% -\texttt{-region\_profiling} (or simply \texttt{-prof}) to the MLKit +% +\kw{-region\_profiling} (or simply \kw{-prof}) to the MLKit compiler. If you want the MLKit to report region-annotated programs with program points, you should pass the option +% \index{print all program points@\texttt{-print\_all\_program\_points}}% -\texttt{-print\_all\_program\_points} -to the MLKit compiler together with one or more of the options -\index{print physical size inference expression@\texttt{-print\_physical\_size\_inference\_expression}}% -\texttt{-print\_physical\_size\_inference\_expression} and +% +\kw{-print\_all\_program\_points} (or \kw{-Ppp}) to the MLKit compiler together +with one or more of the options +% +\index{print physical size inference expression@\texttt{-Ppse}}% +% +\kw{-print\_physical\_size\_inference\_expression} (or \kw{-Ppse}) and +% \index{print call-explicit expression@\texttt{-print\_call\_explicit\_expression}}% -\texttt{-print\_call\_explicit\_expression}.. +% +\kw{-print\_call\_explicit\_expression} (or \kw{-Pcee}). To make the compiler report a region flow graph, pass the option +% \index{print region flow graph@\texttt{-print\_region\_flow\_graph}}% -$$\texttt{-print\_region\_flow\_graph}$$ -to the MLKit compiler at compile -time. The region flow graph is reported in text format. +% +$$\kw{-print\_region\_flow\_graph}$$ (or \kw{-Prfg}) to the MLKit compiler at +compile time. The region flow graph is reported in text format. As a running example, we use the +% \index{life@\texttt{life}}% -{\tt life} program.\footnote{Program: \texttt{kitdemo/life.sml}.} We -assume that the options \texttt{-prof}, -\texttt{-print\_all\_program\_points}, and -\texttt{-print\_region\_flow\_graph} are passed to the MLKit compiler -together with the option $$\texttt{-print\_call\_explicit\_expression}$$ - -By also passing the option \texttt{-log\_to\_file} to the MLKit -compiler, the MLKit generates several files, of which we have {\tt - life.log} (containing, among other things, the call-explicit -region-annotated program with program points and the region flow graph -in text layout) and the executable file {\tt run}. +% +\kw{life} program.\footnote{Program: \boxml{kitdemo/life.sml}.} We assume that +the options \kw{-prof}, \kw{-Ppp}, \kw{-Prfg}, and \kw{-Pcee} are passed to the +MLKit compiler. + +By also passing the option \kw{-log\_to\_file} to the MLKit compiler, the MLKit +generates several files, of which we have \kw{life.sml.log} (containing, among +other things, the call-explicit region-annotated program with program points and +the region flow graph in text layout) and the executable file \kw{run}. %------------------------------------------------- \section{The Log File} %------------------------------------------------- -In the file {\tt life.log} you find the call-explicit region-annotated -program with program points and the region flow graph in text layout -for the {\tt life.sml} source file. The region flow graph is found by -searching for \texttt{REGION FLOW GRAPH FOR PROFILING}. The graph -contains the following fragment (modified slightly to fit here):\label{reg_flow_graph.ex} -\begin{verbatim} - cp_list[r211368:inf] - --r211368 sat--> [*r211368*] - --r211368 sat--> nthgen'[r211902:inf] - --r211902 atbot--> LETREGION[r212422:inf] - --r211902 sat--> [*r211902*] - --r211368 atbot--> LETREGION[r212384:inf] +In the file \kw{life.sml.log} you find the call-explicit region-annotated +program with program points and the region flow graph in text layout for the +\kw{life.sml} source file. The region flow graph is found by searching for the +string \kw{REGION FLOW GRAPH FOR PROFILING}. The graph contains the following +fragment (modified slightly to fit here):\label{reg_flow_graph.ex} +{\small +\begin{verbatim} + cp_list[r330702:inf] + --r330702 sat--> nthgen[r332514:inf] + --r332514 atbot--> LETREGION[r332640:inf] ; + --r332514 sat--> [*r332514*] ; + --r330702 atbot--> LETREGION[r332002:inf] ; + --r330702 sat--> [*r330754*] ; + --r330702 sat--> [*r330702*] ; \end{verbatim} -The region flow graph is almost equivalent to the graph used by the -storage mode analysis (see page~\pageref{region flow graph}). In the -graph, region variables are nodes and there is an edge between two nodes -$\rho$ and $\rho'$ if $\rho$ is a formal region parameter of a -function that is applied to actual region parameter $\rho'$. It -follows that \texttt{region}-bound region variables are always leaf -nodes. - -Nodes in the graph are written in square brackets, which are labeled -with the token {\tt LETREGION} or the name of the function for which -the region variable is a formal parameter. For example, the notation -\texttt{cp\_list[r211368:inf]} identifies the node \texttt{r211368}, -which is a formal region parameter of the function \texttt{cp\_list}. -An asterisk inside a square bracket means that the node has been -written earlier. Only the node identifier (i.e., the region variable) -will then be printed. The size of the region is printed after the -region variable; we use {\tt inf} for infinite regions and {\em - size\/} for finite regions of size {\em size\/} words. - -Edges are written with the {\em from node\/} identifier annotated on -them. The edge points to the \emph{to node}. The fragment -\begin{verbatim} - cp_list[r211368:inf] - --r211368 sat--> [*r211368*] +} +The region flow graph is almost equivalent to the graph used by the storage mode +analysis (see page~\pageref{region flow graph}). In the graph, region variables +are nodes and there is an edge between two nodes $\rho$ and $\rho'$ if $\rho$ is +a formal region parameter of a function that is applied to actual region +parameter $\rho'$. It follows that \fw{region}-bound region variables are always +leaf nodes. + +Nodes in the graph are written in square brackets, which are labeled with the +token \kw{LETREGION} or the name of the function for which the region variable +is a formal parameter. For example, the notation \kw{cp\_list[r330702:inf]} +identifies the node \kw{r330702}, which is a formal region parameter of the +function \kw{cp\_list}. An asterisk inside a square bracket means that the node +has been written earlier. Only the node identifier (i.e., the region variable) +will then be printed. The size of the region is printed after the region +variable; we use \kw{inf} for infinite regions and {\em size\/} for finite +regions of size {\em size\/} words. + +Edges are written with the {\em from node\/} identifier annotated on them. The +edge points to the \emph{to node}. The fragment +{\small +\begin{verbatim} + cp_list[r330702:inf] + --r330702 sat--> [*r330754*] ; \end{verbatim} -is read: there is an edge from node \texttt{r211368} to node -\texttt{r211368} and node \texttt{r211368} has been written earlier. From -the cycle in the graph, one can conclude that \texttt{cp\_list} calls -itself recursively; if you look in file {\tt life.sml}, you will -find something like -\begin{verbatim} - fun cp_list[] = [] - | cp_list((x,y)::rest) = +} +is read: there is an edge from node \kw{r330702} to node \kw{r330754} and node +\kw{r330754} has been written earlier. From the cycle in the graph, one can +conclude that \kw{cp\_list} calls itself recursively; if you look in file +\kw{life.sml}, you will find something like +\begin{smlcode} + fun cp_list [] = [] + | cp_list ((x,y)::rest) = let val l = cp_list rest in (x,y):: l end -\end{verbatim} +\end{smlcode} -The region flow graph can get very complicated to read due to -mutually recursive functions, which give many edges and cycles. If the -graphs get too complicated, you may find help in the +The region flow graph can get very complicated to read due to mutually recursive +functions, which give many edges and cycles. If the graphs get too complicated, +you may find help in the +% \index{strongly connected component}% -{\em strongly connected component\/} (scc) version of the graph. The -scc graph is found by searching for \texttt{[sccNo} in the log file. -Each scc is identified by a unique {\em scc number}. The region -variables contained in each scc is annotated on the scc node. +% +{\em strongly connected component\/} (scc) version of the graph. The scc graph +is found by searching for \kw{[sccNo} in the log file. Each scc is identified + by a unique {\em scc number}. The region variables contained in each scc is + annotated on the scc node. Consider, for example, the following fragment of the scc version of -the region flow graph for the {\tt life} program: +the region flow graph for the \kw{life} program: +{\small \begin{verbatim} - [sccNo 97: r211904,] --sccNo 97--> [sccNo 96: r212427,]; + [sccNo 94: r2768,] --sccNo 94--> [sccNo 33: r331990,]; \end{verbatim} -Here, we have a scc node (id 97) containing region variable -\texttt{r211904} and an edge to scc node (id 96) containing region -variable \texttt{r212427}. +} +Here, we have a scc node (id 94) containing region variable \kw{r2768} and an +edge to scc node (id 33) containing region variable \kw{r331990}. %---------------------------------- \section{Runtime Profiling Strategy} %---------------------------------- -When the source program has been compiled and linked, you have an -executable file, \texttt{run}. Typing \texttt{./run} at the command prompt will -execute the program with a predefined +When the source program has been compiled and linked, you have an executable +file, \kw{run}. Typing \kw{./run} at the command prompt will execute the program +with a predefined +% \index{profile strategy!runtime}% -runtime profiling strategy, which is displayed when the program is -run with the {\tt -verbose} option: -\begin{verbatim} +% +runtime profiling strategy, which is displayed when the program is run with the +\kw{-verbose} option: +\begin{scriptcode} ---------------------Profiling-Enabled--------------------- The profile timer (unix virtual timer) is turned on. A profile tick occurs every 1th second. Profiling data is exported to file profile.rp. ----------------------------------------------------------- -\end{verbatim} +\end{scriptcode} You can change the -\index{profile strategy!options}% -profiling strategy by passing command line arguments directly to the -executable. The second line says that a virtual timer is used. There -are three possible timers, each of which can be enabled using one of -the following options:\footnote{A complete description can be - found in the manual page for \texttt{getitimer}.} +% +\index{profile strategy!options} +% +profiling strategy by passing command line arguments directly to the executable. +The second line says that a virtual timer is used. There are three possible +timers, each of which can be enabled using one of the following +options:\footnote{A complete description can be found in the manual page for +\boxml{getitimer}.} \vspace{2mm} {\def\arraystretch{1.4} @@ -6579,54 +7177,63 @@ \section{Runtime Profiling Strategy} \vspace{2mm} The third line says that a +% \index{profile tick}% -{\em profile tick\/} occurs every 1 second. A profile tick is when -the program stops normal execution, and memory is traversed to collect -profile data. The more often a profile tick occurs the more detailed -you profile (and the slower the program will run). The +% +{\em profile tick\/} occurs every 1 second. A profile tick is when the program +stops normal execution, and memory is traversed to collect profile data. The +more often a profile tick occurs the more detailed you profile (and the slower +the program will run). The +% \index{profiling!time slot}% +% {\em time slot\/} (i.e., the time between to succeeding profile ticks) to use is specified by the +% \index{sec@\texttt{-sec} option}% -\texttt{-sec n} and +% +\kw{-sec n} and +% \index{microsec@\texttt{-microsec} option}% -\texttt{-microsec n} options. A time slot of half a second is -specified by \texttt{-microsec 500000} and not by \texttt{-sec - 0.5}.\footnote{The lowest possible time slot to use is system - dependent. -} +% +\kw{-microsec n} options. A time slot of half a second is specified by +\kw{-microsec 500000} and not by \kw{-sec 0.5}.\footnote{The lowest possible +time slot to use is system dependent. } -The fourth line says that the collected profile data is exported to -the file \texttt{profile.rp}. The default file name setting can be -changed with the +The fourth line says that the collected profile data is exported to the file +\kw{profile.rp}. The default file name setting can be changed with the +% \index{file@\texttt{-file} option}% -\texttt{-file name} option. +% +\kw{-file name} option. -There are several other possible command-line options; use the -\texttt{-h} option or the +There are several other possible command-line options; use the \kw{-h} option or +the +% \index{help@\texttt{-help} option}% -\texttt{-help} option for details. When garbage collection is enabled, -options for controlling garbage collection are also available as -command-line options (see Section~\ref{gc.chap}). +% +\kw{-help} option for details. When garbage collection is enabled, options for +controlling garbage collection are also available as command-line options (see +Section~\ref{gc.chap}). %---------------------------------- \section{Regions Statistics} %---------------------------------- -If the executable file {\tt run} is executed with the option {\tt - -showStat} then +If the executable file \kw{run} is executed with the option \kw{-showStat} then +% \index{region statistics}% -{\em region statistics\/} is printed just before the program -terminates. Region statistics includes information about the use of -regions and does not depend on the specifics of the runtime profiling -strategy; in fact, region statistics includes only exact, non-sampled -values for the program. Assuming that {\tt run} is the executable file -generated by compiling the program {\tt life} with profiling enabled, -executing {\tt ./run -showStat} yields---just before the program -terminates---the region statistics shown in +% +{\em region statistics\/} is printed just before the program terminates. Region +statistics includes information about the use of regions and does not depend on +the specifics of the runtime profiling strategy; in fact, region statistics +includes only exact, non-sampled values for the program. Assuming that \kw{run} +is the executable file generated by compiling the program \kw{life} with +profiling enabled, executing \kw{./run -showStat} yields---just before the +program terminates---the region statistics shown in Figure~\ref{region_statistics.fig}. \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{scriptcode} MALLOC Number of calls to malloc for regions: 1 Alloc. in each malloc call: 819200 bytes @@ -6634,169 +7241,175 @@ \section{Regions Statistics} REGION PAGES Size of one page: 8176 bytes - Max number of allocated pages: 25 - Number of allocated pages now: 7 - Max space for region pages: 204400 bytes (0.2Mb) + Max number of allocated pages: 44 + Number of allocated pages now: 6 + Max space for region pages: 359744 bytes (0.3Mb) INFINITE REGIONS Size of infinite region descriptor: 32 bytes - Number of calls to allocateRegionInf: 95767 - Number of calls to deallocateRegionInf: 95761 - Number of calls to alloc: 858904 - Number of calls to resetRegion: 168758 + Number of calls to allocateRegionInf: 81050 + Number of calls to deallocateRegionInf: 81044 + Number of calls to alloc: 1060622 + Number of calls to resetRegion: 85882 Number of calls to deallocateRegionsUntil: 0 ALLOCATION - Max alloc. space in pages: 39560 bytes (0.0Mb) - incl. prof. info: 79048 bytes (0.1Mb) - Infinite regions utilisation (79048/204400): 39% + Max alloc. space in pages: 121936 bytes (0.1Mb) + incl. prof. info: 243888 bytes (0.2Mb) + Infinite regions utilisation (243888/359744): 68% Number of allocated large objects: 0 STACK - Number of calls to allocateRegionFin: 711935 - Number of calls to deallocateRegionFin: 711935 - Max space for finite regions: 10488 bytes (0.0Mb) - Max space for region descs: 608 bytes (0.0Mb) - Max size of stack: 61912 bytes (0.1Mb) - incl. prof. info: 65744 bytes (0.1Mb) + Number of calls to allocateRegionFin: 358935 + Number of calls to deallocateRegionFin: 358935 + Max space for finite regions: 144 bytes (0.0Mb) + Max space for region descs: 1280 bytes (0.0Mb) + Max size of stack: 19792 bytes (0.0Mb) + incl. prof. info (stackBot - maxStack): 20232 bytes (0.0Mb) + prof. info: 440 bytes (0.0Mb) in profile tick: 0 bytes (0.0Mb) -\end{verbatim} +\end{scriptcode} \caption{Region statistics for the {\tt life} program.} \label{region_statistics.fig} \medskip\hrule \end{figure} -The {\tt MALLOC} part of Figure~\ref{region_statistics.fig} shows how -memory is allocated from the operating system. +The \kw{MALLOC} part of Figure~\ref{region_statistics.fig} shows how memory is +allocated from the operating system. Each infinite region form a linked list of one or more +% \index{region pages}% -{\em region pages\/} whose size is found in the {\tt REGION PAGES} -part. The value -\begin{verbatim} - Max number of allocated pages: 25 -\end{verbatim} +% +{\em region pages\/} whose size is found in the \kw{REGION PAGES} part. The +value +\begin{scriptcode} + Max number of allocated pages: 44 +\end{scriptcode} multiplied by -\begin{verbatim} +\begin{scriptcode} Size of one page: 8176 bytes -\end{verbatim} +\end{scriptcode} gives -\begin{verbatim} - Max space for region pages: 204400 bytes (0.2Mb) -\end{verbatim} - -In the {\tt INFINITE REGIONS} part, we see the number of calls to -infinite region operations such as {\tt allocateRegionInf} and {\tt - alloc}. The program allocates 95767 infinite regions and -de-allocates 95761; the six global regions are not de-allocated -before the region statistics is printed and the program terminates. -The program allocates 858904 objects in infinite regions. Infinite -regions have been reset 168758 times. The {\tt deallocateRegionsUntil} -operation is called whenever an exception is raised, thus, we see that -no exceptions were raised by the program. - -Because objects allocated in infinite regions are not split across -different region pages, it is not always possible to -fill out a region page entirely. In the {\tt ALLOCATION} part, the value -\begin{verbatim} - Infinite regions utilisation (79048/204400): 39% -\end{verbatim} -shows memory utilisation for infinite regions at the moment where the -program has allocated the largest amount of memory in infinite -regions. - -In the {\tt STACK} part, we see that the program allocates and -de-allocates the same number of finite regions. We also see that the -space used for finite regions is 10488 bytes and that the total use of -stack space is 61912 bytes (excluding space used to hold profiling -information). The stack size values -\begin{verbatim} - incl. prof. info: 65744 bytes (0.1Mb) +\begin{scriptcode} + Max space for region pages: 359744 bytes (0.3Mb) +\end{scriptcode} + +In the \kw{INFINITE REGIONS} part, we see the number of calls to infinite region +operations such as \kw{allocateRegionInf} and \kw{alloc}. The program allocates +81050 infinite regions and de-allocates 81044; the six global regions are not +de-allocated before the region statistics is printed and the program terminates. +The program allocates 1060622 objects in infinite regions. Infinite regions have +been reset 85882 times. The \kw{deallocateRegionsUntil} operation is called +whenever an exception is raised, thus, we see that no exceptions were raised by +the program. + +Because objects allocated in infinite regions are not split across different +region pages, it is not always possible to fill out a region page entirely. In +the \kw{ALLOCATION} part, the value +\begin{scriptcode} + Infinite regions utilisation (243888/359744): 68% +\end{scriptcode} +shows memory utilisation for infinite regions at the moment where the program +has allocated the largest amount of memory in infinite regions. We also see that +the maximum allocated space in region pages is 121936 bytes. + +In the \kw{STACK} part, we see that the program allocates and de-allocates the +same number of finite regions. We also see that the space used for finite +regions is 144 bytes and that the total use of stack space is 19792 bytes +(excluding space used to hold profiling information). The stack size values +\begin{scriptcode} + prof. info: 440 bytes (0.0Mb) in profile tick: 0 bytes (0.0Mb) -\end{verbatim} -can be used to see if it is necessary to profile with a smaller time -slot, which will often lower the difference between the two values. +\end{scriptcode} +can be used to see if it is necessary to profile with a smaller time slot, which +will often lower the difference between the two values. %-------------------------------------------- \section{Processing the Profile Data File} %-------------------------------------------- -The profile data-file {\tt profile.rp} can be processed by the +The profile data-file \kw{profile.rp} can be processed by the +% \index{rp2ps@\texttt{rp2ps} options|(}% -graph generator {\tt rp2ps} (read: RegionProfile2PostScript) found in -the {\tt bin} directory.\footnote{The {\tt rp2ps} program is based on - a Haskell profiler written by Colin Runciman, David Wakeling and Niklas - R\"{o}jemo.} The graph generator is controlled by command line -options. +% +graph generator \kw{rp2ps} (read: RegionProfile2Postscript) found in the +\kw{bin} directory.\footnote{The \boxml{rp2ps} program is based on a Haskell +profiler written by Colin Runciman, David Wakeling and Niklas R\"{o}jemo.} The +graph generator is controlled by command line options. A +% \index{region profile}% \index{region@\texttt{-region} option}% +% region profile is produced by typing -\begin{verbatim} +\begin{scriptcode} $ rp2ps -region -\end{verbatim} -at the command prompt. The program produces a PostScript file {\tt - region.ps} by reading profile information from the \index{profile - data file}% profile data file {\tt profile.rp}, see -Figure~\ref{profStrategy.fig}. A region profile for the {\tt life} -program is shown in Figure~\ref{lifeprof80.fig} on -page~\pageref{lifeprof80.fig}. The region that occupies the largest -area is at the top. If there are more regions than can be shown in -different colors, then the smallest regions are collected in an OTHER -band at the bottom. - -Each region is identified with a number that matches a {\tt - region}-bound region variable in the region-annotated program. -Infinite regions end with {\tt inf} and finite regions end with {\tt - fin}. There are also a band named {\tt rDesc} and a band named -{\tt stack}. The {\tt rDesc} band shows the memory used on -region descriptors of infinite regions on the stack. The stack band -shows stack usage excluding finite regions and region descriptors for -infinite regions. +\end{scriptcode} +at the command prompt. The program produces a Postscript file \kw{region.ps} by +reading profile information from the +% +\index{profile data file}% +% +profile data file \kw{profile.rp}, see Figure~\ref{profStrategy.fig}. A region +profile for the \kw{life} program is shown in Figure~\ref{lifeprof50.fig} on +page~\pageref{lifeprof50.fig}. The region that occupies the largest area is at +the top. If there are more regions than can be shown in different colors, then +the smallest regions are collected in an OTHER band at the bottom. + +Each region is identified with a number that matches a \fw{region}-bound region +variable in the region-annotated program. Infinite regions end with \kw{inf} +and finite regions end with \kw{fin}. There are also a band named \kw{rDesc} and +a band named \kw{stack}. The \kw{rDesc} band shows the memory used on region +descriptors of infinite regions on the stack. The stack band shows stack usage +excluding finite regions and region descriptors for infinite regions. The vertical line marked ``Maximum allocated bytes...'' in -Figure~\ref{lifeprof80.fig} is called the {\em maximum allocation - line}; it shows the maximum number of bytes allocated in regions and -on the stack when the program was executed. Notice that this maximum -is often lower than the sum of the maximum allocated bytes in regions -and the maximum allocated bytes on the stack. The space between the -maximum allocation line and the top band shows the inaccuracy of the -profiling strategy. To decrease the gap, it often helps to use a -smaller time slot. - -The largest region shown in Figure~\ref{lifeprof80.fig} is {\tt - r155180}. An +Figure~\ref{lifeprof50.fig} is called the {\em maximum allocation line}; it +shows the maximum number of bytes allocated in regions and on the stack when the +program was executed. Notice that this maximum is often lower than the sum of +the maximum allocated bytes in regions and the maximum allocated bytes on the +stack. The space between the maximum allocation line and the top band shows the +inaccuracy of the profiling strategy. To decrease the gap, it often helps to use +a smaller time slot. + +The largest region shown in Figure~\ref{lifeprof50.fig} is \kw{r332640}. An +% \index{object profile}% \index{object@\texttt{-object} option}% -object profile of region {\tt r155180} is produced by typing -\begin{verbatim} - $ rp2ps -object 212422 -\end{verbatim} +% +object profile of region \kw{r332640} is produced by typing +\begin{scriptcode} + $ rp2ps -object 332640 +\end{scriptcode} at the command prompt. We obtain the object profile shown in Figure~\ref{prof_eks2.fig}. \begin{figure} \includerp{life_ex2.pdf} -\caption{The object profile shows all allocation points allocating into region {\tt r155180}.} +\caption{The object profile shows all allocation points allocating into region + \kw{r332640}.} \label{prof_eks2.fig} \medskip\hrule \end{figure} -We see that allocation point \texttt{pp15} is responsible for the -largest amount of allocations in the program. The allocation point may -be found in the region-annotated program resulting from compiling the -{\tt life} program (remember to enable printing of program points). In -general, program points may also stem from the Basis Library (search -the {.log} files in the directory {\tt basis}). +We see that allocation point \kw{pp11} is responsible for the largest amount of +allocations in the program. The allocation point may be found in the +region-annotated program resulting from compiling the \kw{life} program +(remember to enable printing of program points). In general, program points may +also stem from the Basis Library (search the \kw{.log} files in the directory +\kw{basis}). -The stack profile shown in Figure~\ref{prof_eks3.fig} shows memory -usage on the stack, excluding space used by finite regions. A +The stack profile shown in Figure~\ref{prof_eks3.fig} shows memory usage on the +stack, excluding space used by finite regions. A +% \index{stack profile}% \index{stack@\texttt{-stack} option}% +% stack profile is generated by typing -\begin{verbatim} +\begin{scriptcode} $ rp2ps -stack -\end{verbatim} +\end{scriptcode} at the command prompt. \begin{figure} @@ -6809,49 +7422,54 @@ \section{Processing the Profile Data File} %------------------------------------------------------- \section{Advanced Graphs with \texttt{rp2ps}} %------------------------------------------------------- -This section gives a quick overview of the more advanced options that can -be passed to \texttt{rp2ps}. First of all, it is possible to name the -profiles with the +This section gives a quick overview of the more advanced options that can be +passed to \kw{rp2ps}. First of all, it is possible to name the profiles with the +% \index{name@\texttt{-name} option}% -{\tt -name} option. Comments are inserted on the -x-axis with the +% +\kw{-name} option. Comments are inserted on the x-axis with the +% \index{comment@\texttt{-comment} option}% -{\tt -comment} option. +% +\kw{-comment} option. -The profile data file may contain a large number of \emph{samples} -(the data collected by a profile tick is called a sample). By default, -\texttt{rp2ps} uses only 64 samples. You can alter the setting with the +The profile data file may contain a large number of \emph{samples} (the data +collected by a profile tick is called a sample). By default, \kw{rp2ps} uses +only 64 samples. You can alter the setting with the +% \index{sampleMax@\texttt{-sampleMax} option}% -\texttt{-sampleMax} option. The following two possibilities are used to sort -out samples: +% +\kw{-sampleMax} option. The following two possibilities are used to sort out +samples: \vspace{2mm} { \def\arraystretch{1.4} \begin{tabular}{lp{8cm}} -{\tt -sortBySize} & The $n$ (specified by \texttt{-sampleMax}) largest samples are +\kw{-sortBySize} & The $n$ (specified by \kw{-sampleMax}) largest samples are shown. % \index{sortBySize@\texttt{-sortBySize} option} \\ -{\tt -sortByTime} & The $n$ samples shown are equally distributed over time (default). % +\kw{-sortByTime} & The $n$ samples shown are equally distributed over time (default). % \index{sortByTime@\texttt{-sortByTime} option} \end{tabular} } \vspace{2mm} -The \texttt{-sortBySize} option is useful if your profiles have a -large gap between the top band and the maximum allocation line. If -there is a large gap when using option \texttt{-sortBySize}, then it -may help to profile with a smaller time slot. You can use the +The \kw{-sortBySize} option is useful if your profiles have a large gap between +the top band and the maximum allocation line. If there is a large gap when +using option \kw{-sortBySize}, then it may help to profile with a smaller time +slot. You can use the +% \index{stat@\texttt{-stat} option}% -{\tt -stat} option to see the number of samples in the profile data -file. It is printed as \texttt{Number of ticks:}. +% +\kw{-stat} option to see the number of samples in the profile data file. It is +printed as \kw{Number of ticks:}. -Figure~\ref{prof_eks4.fig} shows the profile for the following -command line: -\begin{verbatim} - $ rp2ps -region -sampleMax 50 -name life \ - -comment 0.06 "A comment at time 0.06" -sortBySize -\end{verbatim} +Figure~\ref{prof_eks4.fig} shows the profile for the following command line: +\begin{scriptcode} + $ rp2ps -region -sampleMax 100 -name life \ + -comment 0.03 "A comment at time 0.03" -sortBySize +\end{scriptcode} \begin{figure} \includerp{life_ex4.pdf} @@ -6861,9 +7479,12 @@ \section{Advanced Graphs with \texttt{rp2ps}} \end{figure} The graph generator recognises several options that are not mentioned -here. Help on these options is obtained by typing \texttt{rp2ps -h} or +here. Help on these options is obtained by typing \kw{rp2ps -h} or +% \index{help@\texttt{-help} option}% -{\tt rp2ps -help} at the command prompt. +% +\kw{rp2ps -help} at the command prompt. +% \index{rp2ps@\texttt{rp2ps} options|)}% %--------------------------------------------------------- @@ -6873,15 +7494,14 @@ \chapter{Controlling MLKit Compilation} %--------------------------------------------------------- We have already described how to compile and run single source files -(Section~\ref{tryit.sec}) and MLB-files -(Chapter~\ref{mlb_and_modules.chap}). In the following sections, -we give an overview of MLKit options for controlling printing and -layout of intermediate forms. One useful command-line option is -the +(Section~\ref{tryit.sec}) and MLB-files (Chapter~\ref{mlb_and_modules.chap}). +In the following sections, we give an overview of MLKit options for controlling +printing and layout of intermediate forms. One useful command-line option is the +% \index{help@\texttt{-help} option to \texttt{mlkit}}% -{\tt -help} option; Appendix~\ref{mlkithelp.app} shows the output of -executing \boxml{mlkit -help}. - +% +\kw{-help} option; Appendix~\ref{mlkithelp.app} shows the output of executing +\kw{mlkit -help}. %------------------------------------------------ @@ -6889,11 +7509,13 @@ \section{Printing of Intermediate Forms} \label{printing_intermediate_forms.sec} %------------------------------------------------ A series of options may be used to control +% \index{Printing of intermediate forms}% -printing of intermediate forms during compilation. -A summary of the major phases that produce printable intermediate -forms is shown in Figure~\ref{phases.fig}. The phases are listed in -the order they take place in the MLKit. +% +printing of intermediate forms during compilation. A summary of the major +phases that produce printable intermediate forms is shown in +Figure~\ref{phases.fig}. The phases are listed in the order they take place in +the MLKit. \begin{figure} \begin{center} \begin{tabular}{|l|l|l|} @@ -6915,76 +7537,98 @@ \section{Printing of Intermediate Forms} \hline \end{tabular} \end{center} -\caption{The table shows how different options correspond to printing - different intermediate program representations. The option - \boxml{-debug} causes all intermediate forms marked $(\ast)$ to be - printed. Thus, one can select phases individually or ask to have - all intermediate forms printed. The phases that follow - K-normalisation all work on K-normal forms, but, for readability, - terms are printed as if they had not been normalised.} +\caption{The table shows how different options correspond to printing different + intermediate program representations. The option \kw{-debug} causes all + intermediate forms marked $(\ast)$ to be printed. Thus, one can select phases + individually or ask to have all intermediate forms printed. The phases that + follow K-normalisation all work on K-normal forms, but, for readability, terms + are printed as if they had not been normalised.} \label{phases.fig} \end{figure} -The optimiser, which rewrites a $\Lam$\index{Lambda@$\Lam$} -program, collects statistics about the optimisation. This statistics -is printed if the option $$\texttt{-statistics\_after\_optimisation}$$ % +The optimiser, which rewrites a $\Lam$\index{Lambda@$\Lam$} program, collects +statistics about the optimisation. This statistics is printed if the +option $$\kw{-statistics\_after\_optimisation}$$ % +% \index{statistics after optimisation@\texttt{-statistics\_after\_optimisation}}% \index{optimisation!statistics}% +% is provided. Storage mode analysis (see Chapter~\ref{storagemodes.sec}) results in a $\MulExp$\index{MulExp@$\MulExp$} expression, which is printed if the option -\index{print storage mode expression@\texttt{-print\_storage\_mode\_expression}}% -\texttt{-print\_storage\_mode\_expression} is provided. After that, region parameters +% +\index{print storage mode expression@\texttt{-Psme}}% +% +\kw{-print\_storage\_mode\_expression} is provided. After that, region parameters for which there are only $\Get$ effects on in the type scheme for a region polymorphic function are removed from the $\MulExp$ expression (see page~\pageref{bother-to-distinguish-get-n-put}). To see the resulting expression, turn on -\index{print drop regions expression@\texttt{-print\_drop\_regions\_expression}}% -\texttt{-print\_drop\_regions\_expression} or -$$\texttt{-print\_drop\_regions\_expression\_with\_storage\_modes}$$ +% +\index{print drop regions expression@\texttt{-Pdre}}% +% +\kw{-print\_drop\_regions\_expression} or +$$\kw{-print\_drop\_regions\_expression\_with\_storage\_modes}$$ The latter flag also prints storage modes. \index{physical size inference}% \index{region size}% -Physical size inference then determines the size in words of finite -region variables. For instance, a finite region that will contain a -pair will have physical size two words. To see the expression after -physical size inference, provide the option -\index{print physical size inference expression@\texttt{-print\_physical\_size\_inference\_expression}}% -\texttt{-print\_physical\_size\_inference\_expression}. After that, +% +Physical size inference then determines the size in words of finite region +variables. For instance, a finite region that will contain a pair will have +physical size two words. To see the expression after physical size inference, +provide the option +% +\index{print physical size inference expression@\texttt{-Ppse}}% +% +\kw{-print\_physical\_size\_inference\_expression}. After that, +% \index{call conversion}% +% call conversion converts the $\MulExp$ expression to a -\index{expression!call-explicit}call-explicit expression (see -page~\pageref{call-explicit}). To see the result, provide the option -$$\texttt{-print\_call\_explicit\_expression}$$ +% +\index{expression!call-explicit}% +% +call-explicit expression (see page~\pageref{call-explicit}). To see the result, +provide the option +$$\kw{-print\_call\_explicit\_expression}$$ -After that, you can inspect the code at different steps of the -transformation into machine code by providing different options (use -the \texttt{-help} option to see which. +After that, you can inspect the code at different steps of the transformation +into machine code by providing different options (use the \kw{-help} option to +see which. \section{Layout of Intermediate Forms} \label{layout_intermediate_forms.sec} -While the switches described in the previous section concern which -intermediate forms to print, the switches described in this section + +While the switches described in the previous section concern which intermediate +forms to print, the switches described in this section % \index{layout control}% % control how the different forms are printed. The options +% \index{print types@\texttt{-print\_types}}% -\texttt{-print\_types}, +% +\kw{-print\_types}, +% \index{print effects@\texttt{-print\_effects}}% -\texttt{-print\_effects}, and +% +\kw{-print\_effects}, and +% \index{print regions@\texttt{-print\_regions}}% -\texttt{-print\_regions} control the printing of region-annotated types, -effects, and region allocation points (e.g., $\at\,\rho$). -All eight combinations of these three flags are possible, but if +% +\kw{-print\_regions} control the printing of region-annotated types, effects, +and region allocation points (e.g., $\fw{at}\,\rho$). All eight combinations of +these three flags are possible, but if +% \index{print effects@\texttt{-print\_effects}}% -{\tt -print\_effects} is turned on, it is best also to turn the two -others on so that one can see where the effect variables and region variables -that appear in arrow effects are bound. +% +\kw{-print\_effects} is turned on, it is best also to turn the two others on so +that one can see where the effect variables and region variables that appear in +arrow effects are bound. %--------------------------------------------------------- \chapter{Calling C Functions} @@ -6992,61 +7636,63 @@ \chapter{Calling C Functions} %--------------------------------------------------------- In this chapter, we describe how the MLKit programmer can call +% \index{C!calling}% -C functions from within Standard ML programs. The MLKit allows ML -values to be passed to C functions, which again may return ML values. -Not all ML values are represented as if they were C values. For -instance, C strings are null-terminated arrays of characters, whereas -ML strings in the MLKit are represented as a linked list of bounded -sized character arrays. To allow the programmer to conveniently -convert between C values and ML values, the MLKit provides conversion -functions and macros for commonly used data structures. - -When the MLKit calls a C function, data structures returned by the -function are stored in regions that are allocated by the MLKit. For -dynamically sized objects of the resulting value, such as strings and -lists, regions are allocated by the MLKit and passed to the C function -as additional arguments; the C function must then itself allocate -space in these regions for the dynamically sized data -structures. Moreover, for those parts of the resulting value for which -the size can be determined statically, pointers to already allocated -space are passed to the C function as additional arguments. +% +C functions from within Standard ML programs. The MLKit allows ML values to be +passed to C functions, which again may return ML values. Not all ML values are +represented as if they were C values. For instance, C strings are +null-terminated arrays of characters, whereas ML strings in the MLKit are +represented as a linked list of bounded sized character arrays. To allow the +programmer to conveniently convert between C values and ML values, the MLKit +provides conversion functions and macros for commonly used data structures. + +When the MLKit calls a C function, data structures returned by the function are +stored in regions that are allocated by the MLKit. For dynamically sized objects +of the resulting value, such as strings and lists, regions are allocated by the +MLKit and passed to the C function as additional arguments; the C function must +then itself allocate space in these regions for the dynamically sized data +structures. Moreover, for those parts of the resulting value for which the size +can be determined statically, pointers to already allocated space are passed to +the C function as additional arguments. In both cases, the MLKit uses region inference to infer the lifetime of regions that are passed to the C function. The region inference algorithm does not analyse C functions. Instead, the MLKit inspects the ML type provided by the programmer. The MLKit assumes that functions with monomorphic types are +% \index{region exomorphism}% +% region exomorphisms; +% \index{region endomorphism}% -region endomorphic functions may be described using ML polymorphism, -see Section~\ref{C_polymorphism.sec}. +% +region endomorphic functions may be described using ML polymorphism, see +Section~\ref{C_polymorphism.sec}. For every C function that is called from an ML program, the order of the -additional region arguments is uniquely determined by the ML result type -of the function. This type must be constructed from lists, records, -booleans, reals, strings, integers, and type variables. - -When profiling is enabled, yet another additional argument, a program -point, is passed to the C function. This argument provides allocation -primitives with information about what points in the program -contributes with allocation; see Section~\ref{prof.sec}. - -Examples of existing libraries that can be accessed from within ML -programs include database client drivers (e.g., for Postgresql) and -standard UNIX libraries providing functions such as {\tt time}, {\tt - cp}, and {\tt fork}. There are limitations to the scheme, -however. First, because C and the MLKit do not share value -representations, transmitting large data structures between C and ML -will often involve significant copying. Second, some C libraries -require the user to set up +additional region arguments is uniquely determined by the ML result type of the +function. This type must be constructed from lists, records, booleans, reals, +strings, integers, and type variables. + +When profiling is enabled, yet another additional argument, a program point, is +passed to the C function. This argument provides allocation primitives with +information about what points in the program contributes with allocation; see +Section~\ref{prof.sec}. + +Examples of existing libraries that can be accessed from within ML programs +include database client drivers (e.g., for Postgresql) and standard UNIX +libraries providing functions such as \kw{time}, \kw{cp}, and \kw{fork}. There +are limitations to the scheme, however. First, because C and the MLKit do not +share value representations, transmitting large data structures between C and ML +will often involve significant copying. Second, some C libraries require the +user to set up % \index{call-back function}% % -call-back functions to be executed when specific events occur. The -MLKit only has very limited functionality for letting a C function -call ML code. +call-back functions to be executed when specific events occur. The MLKit only +has very limited functionality for letting a C function call ML code. %======================================================== \section{Declaring Primitives and C Functions} @@ -7056,60 +7702,61 @@ \section{Declaring Primitives and C Functions} of the functionality found in the basis library is programmed in C and linked to the MLKit runtime system. The declarations in system dependent parts of the library use a special built-in identifier -called \index{prim@\texttt{prim}}\texttt{prim}, which is declared to have type -scheme $\forall \alpha \beta . \texttt{string} -\ast \alpha \rightarrow \beta$ in the initial basis. A primitive -function is then declared by passing its name to \texttt{prim}. For -example, the declaration -\begin{verbatim} +called +% +\index{prim@\texttt{prim}}% +% +\kw{prim}, which is declared to have type scheme $\forall \alpha \beta . +\kw{string} \ast \alpha \rightarrow \beta$ in the initial basis. A primitive +function is then declared by passing its name to \kw{prim}. For example, the +declaration +\begin{smlcode} fun (s : string) ^ (s' : string) : string = prim ("concatStringML", (s, s')) -\end{verbatim} -declares string catenation. The argument and result types are -explicitly stated so as to give the primitive the correct type scheme. -The string \boxml{"concatStringML"} denotes a C function -identifier.\footnote{Some primitives (e.g., \boxml{"="} and - \boxml{":="}) are recognised and implemented in assembler by the - compiler.} For the example declaration, the MLKit generates a call to -the C function \boxml{concatStringML} with arguments {\tt s} and {\tt - s'}. The C function must then of course be present at link-time; if -not, the MLKit complains.\footnote{When profiling is enabled, the MLKit - automatically appends the extension \texttt{Prof} for those - functions that take regions (and thus a program point) as argument; - see Section~\ref{prof.sec}.}% -A convenient way to declare a C function is to use the following -scheme: -$$\texttt{fun}~ \emph{vid} ~\texttt{(}x_1:\tau_1, \ldots, x_n:\tau_n\texttt{)} - : \tau ~\texttt{=} ~\texttt{prim(}\emph{c\_func}, \texttt{(} - x_1, \ldots, x_n\texttt{)} \texttt{)} -$$ +\end{smlcode} +declares string catenation. The argument and result types are explicitly stated +so as to give the primitive the correct type scheme. The string constant +\lstinline{"concatStringML"} denotes a C function identifier.\footnote{Some +primitives (e.g., \boxml{"="} and \boxml{":="}) are recognised and +implemented in assembler by the compiler.} For the example declaration, the +MLKit generates a call to the C function \kw{concatStringML} with arguments +\kw{s} and \kw{s'}. The C function must then of course be present at link-time; +if not, the MLKit complains.\footnote{When profiling is enabled, the MLKit +automatically appends the extension \boxml{Prof} for those functions that take +regions (and thus a program point) as argument; see Section~\ref{prof.sec}.} + +A convenient way to declare a C function is to use the following scheme: +\begin{center} + \lstinline!fun $\mathit{vid}$ ($x_1$:$\tau_1$, $\ldots$, $x_n$:$\tau_n$) : $\tau$ = prim($\mathit{c\_func}$, ($x_1$, $\ldots$, $x_n$))! +\end{center} + +\noindent The result type $\tau$ must be of the form \begin{quote} \begin{tabbing} -$\tau$ ::\== ~\= $\alpha$ $~|~$ {\tt int} $~|~$ {\tt bool} $~|~$ {\tt unit} \\ - \> $|$ \> $\tau_1 \ast \ldots \ast \tau_n$ $~|~$ $\tau$ {\tt list} $~|~$ {\tt real} $~|~$ {\tt string} +$\tau$ ::\== ~\= $\alpha$ $~|~$ \kw{int} $~|~$ \kw{bool} $~|~$ \kw{unit} \\ + \> $|$ \> $\tau_1 \ast \ldots \ast \tau_n$ $~|~$ $\tau$ \kw{list} $~|~$ \kw{real} $~|~$ \kw{string} \end{tabbing} \end{quote} \noindent -If the result type is one of $\alpha$, {\tt int}, {\tt bool}, or ${\tt unit}$ then the -result value can be returned in a single register. Contrary, if the result type represents an allocated -value, the C function must be told where to store the value. For -any type that is either {\tt real} or a non-empty tuple type, and -does not occur in a list type of the result type $\tau$, the MLKit -allocates space for the value and passes a pointer to the allocated -space as an additional argument to the C function. For any type -representing an allocated value that is either {\tt string} or occurs in a -list type of the result type $\tau$, the MLKit cannot statically -determine the amount of space needed to store the value. Instead, -regions are passed to the C function as additional arguments and the C -function must then explicitly allocate space in these regions as -needed, using a C function provided by the runtime system. The order -in which these additional arguments are passed to the C function is determined -by a pre-order traversal of the result type $\tau$. For a list type, -regions are given in the order: +If the result type is one of $\alpha$, \kw{int}, \kw{bool}, or \kw{unit} then +the result value can be returned in a single register. Contrary, if the result +type represents an allocated value, the C function must be told where to store +the value. For any type that is either \kw{real} or a non-empty tuple type, and +does not occur in a list type of the result type $\tau$, the MLKit allocates +space for the value and passes a pointer to the allocated space as an additional +argument to the C function. For any type representing an allocated value that is +either \kw{string} or occurs in a list type of the result type $\tau$, the MLKit +cannot statically determine the amount of space needed to store the +value. Instead, regions are passed to the C function as additional arguments and +the C function must then explicitly allocate space in these regions as needed, +using a C function provided by the runtime system. The order in which these +additional arguments are passed to the C function is determined by a pre-order +traversal of the result type $\tau$. For a list type, regions are given in the +order: \begin{enumerate} - \item region for auxiliary pairs - \item regions for elements (if necessary) +\item Region for auxiliary pairs. +\item Regions for elements (if necessary). \end{enumerate} We now give an example to show what extra arguments are passed to a @@ -7117,23 +7764,21 @@ \section{Declaring Primitives and C Functions} (optional) naming convention: names of arguments holding addresses of pre-allocated space in regions -start with {\tt vAddr}, while names of arguments +start with \kw{vAddr}, while names of arguments holding addresses of region descriptors (to be used for allocation in a -region) start with {\tt rAddr}. +region) start with \kw{rAddr}. \begin{example} - Given the result type $({\tt int} \ast {\tt string}) ~{\tt list} - \ast {\tt real}$, the following extra ar\-gu\-ments are passed to the - C function (in order): {\tt vAddrPair}, - {\tt rAddrLPairs}, {\tt rAddrEPairs}, {\tt rAddrEStrings} and {\tt - vAddrReal}, see Figure \ref{args_ex1.fig}. - - Here {\tt vAddrPair} holds an address pointing to pre-allocated - storage in which the tuple of the list and the (pointer to the) real - should reside. The argument {\tt rAddrLPairs} holds the region - address for the auxiliary pairs of the list. Similarly, the - arguments {\tt rAddrEPairs} and {\tt rAddrEStrings} hold region - addresses for element pairs and strings, respectively. The argument - {\tt vAddrReal} holds the address for pre-allocated storage for the + Given the result type $(\kw{int} \ast \kw{string}) ~\kw{list} \ast \kw{real}$, + the following extra ar\-gu\-ments are passed to the C function (in order): + \kw{vAddrPair}, \kw{rAddrLPairs}, \kw{rAddrEPairs}, \kw{rAddrEStrings} and + \kw{vAddrReal}, see Figure \ref{args_ex1.fig}. + + Here \kw{vAddrPair} holds an address pointing to pre-allocated storage in + which the tuple of the list and the (pointer to the) real should reside. The + argument \kw{rAddrLPairs} holds the region address for the auxiliary pairs of + the list. Similarly, the arguments \kw{rAddrEPairs} and \kw{rAddrEStrings} + hold region addresses for element pairs and strings, respectively. The + argument \kw{vAddrReal} holds the address for pre-allocated storage for the real. \end{example} @@ -7143,11 +7788,11 @@ \section{Declaring Primitives and C Functions} \begin{center} \begin{picture}(400,155) \put(125,140){\framebox{$\ast$}} -\put(155,100){\framebox{\texttt{real}}} -\put(75,100){\framebox{\texttt{list}}} +\put(155,100){\framebox{\kw{real}}} +\put(75,100){\framebox{\kw{list}}} \put(85,60){\framebox{$\ast$}} -\put(40,20){\framebox{\texttt{int}}} -\put(115,20){\framebox{\texttt{string}}} +\put(40,20){\framebox{\kw{int}}} +\put(115,20){\framebox{\kw{string}}} \put(125,140){\line(-1,-1){29}} \put(138,140){\line(1,-1){29}} \put(90,97){\line(0,-1){28}} @@ -7162,27 +7807,27 @@ \section{Declaring Primitives and C Functions} \put(145,105){\circle{10}}\put(145,105){\makebox(0,0){6}} \put(200,145){\circle{10}}\put(200,145){\makebox(0,0){1}} -\put(210,142){\texttt{vAddrPair}} +\put(210,142){\kw{vAddrPair}} \put(200,125){\circle{10}}\put(200,125){\makebox(0,0){2}} -\put(210,122){\texttt{rAddrLPairs}} +\put(210,122){\kw{rAddrLPairs}} \put(200,105){\circle{10}}\put(200,105){\makebox(0,0){3}} -\put(210,102){\texttt{rAddrEPairs}} +\put(210,102){\kw{rAddrEPairs}} \put(200,85){\circle{10}}\put(200,85){\makebox(0,0){4}} \put(210,82){Integers are unboxed} \put(200,65){\circle{10}}\put(200,65){\makebox(0,0){5}} -\put(210,62){\texttt{rAddrEStrings}} +\put(210,62){\kw{rAddrEStrings}} \put(200,45){\circle{10}}\put(200,45){\makebox(0,0){6}} -\put(210,42){\texttt{vAddrReal}} +\put(210,42){\kw{vAddrReal}} \end{picture} -\caption{The order of pointers to allocated space and infinite regions - is determined from a pre-order traversal of the result type $({\tt - int} \ast {\tt string}) ~{\tt list} \ast {\tt real}$.} +\caption{The order of pointers to allocated space and infinite regions is + determined from a pre-order traversal of the result type $(\kw{int} \ast + \kw{string}) ~\kw{list} \ast \kw{real}$.} \label{args_ex1.fig} \end{center} \hrule @@ -7191,225 +7836,247 @@ \section{Declaring Primitives and C Functions} Additional arguments holding pointers to pre-allocated space and infinite regions are passed to the C function prior to the ML arguments. Consider again the ML declaration -$$\texttt{fun}~ \emph{vid} ~\texttt{(}x_1:\tau_1, \ldots, x_n:\tau_n\texttt{)} - : \tau ~\texttt{=} ~\texttt{prim(}\emph{c\_func}, \texttt{(} - x_1, \ldots, x_n\texttt{)} \texttt{)} -$$ +\begin{center} + \lstinline!fun $\mathit{vid}$ ($x_1$:$\tau_1$, $\ldots$, $x_n$:$\tau_n$) : $\tau$ = prim($\mathit{c\_func}$, ($x_1$, $\ldots$, $x_n$))! +\end{center} + \noindent -The C function \emph{c\_func} must then be declared as +The C function $\mathit{c\_func}$ must then be declared as \begin{eqnarray} \texttt{int} \ \emph{c\_func} \ \texttt{(}\texttt{int}\ \emph{addr}_1, \ldots, \texttt{int}\ \emph{addr}_m,\ \texttt{int}\ x_1, \ldots, \texttt{int}\ x_n\texttt{)} \nonumber \end{eqnarray} \noindent -where \emph{addr}$_1$, $\ldots$, \emph{addr}$_m$ are pointers to +where $\mathit{addr}_1$, $\ldots$, $\mathit{addr}_m$ are pointers to pre-allocated space and infinite regions as described above. %======================================== \section{Conversion Macros and Functions} %======================================== -The runtime system provides a small set of conversion macros and -functions for use by C functions that need to convert between ML -values and C values. Using these conversion macros and functions for -converting between representations protects you against future -changes in the representation of ML values. The conversion macros and -functions are declared in the header -files:\index{Tagging.h@\texttt{Tagging.h}}\index{String.h@\texttt{String.h}} -\begin{verbatim} +The runtime system provides a small set of conversion macros and functions for +use by C functions that need to convert between ML values and C values. Using +these conversion macros and functions for converting between representations +protects you against future changes in the representation of ML values. The +conversion macros and functions are declared in the header files: +% +\index{Tagging.h@\texttt{Tagging.h}}% +\index{String.h@\texttt{String.h}}% +% +\begin{scriptcode} src/Runtime/Tagging.h src/Runtime/String.h src/Runtime/List.h -\end{verbatim} +\end{scriptcode} %-------------------- \subsection{Integers} %-------------------- -There are two macros for converting between the ML representation of -integers and the C representation of integers:\footnote{These macros are the identity maps when garbage collection is disabled.} +There are two macros for converting between the ML representation of integers +and the C representation of integers:\footnote{These macros are the identity +maps when garbage collection is disabled.} +% \index{convertIntToC@\texttt{convertIntToC}}% \index{convertIntToML@\texttt{convertIntToML}}% -\begin{verbatim} +% +\begin{scriptcode} #define convertIntToC(i) #define convertIntToML(i) -\end{verbatim} -To convert an ML integer \verb|i_ml| to a C integer (type \texttt{long int}) \verb|i_c|, -write -\begin{verbatim} +\end{scriptcode} +To convert an ML integer \kw{i\_ml} to a C integer (type \kw{long int}) +\kw{i\_c}, write +\begin{scriptcode} i_c = convertIntToC(i_ml); -\end{verbatim} -To convert a C integer (type \texttt{long int}) \verb|i_c| to an ML - integer \verb|i_ml|, write -\begin{verbatim} +\end{scriptcode} +To convert a C integer (type \kw{long int}) \kw{i\_c} to an ML integer +\kw{i\_ml}, write +\begin{scriptcode} i_ml = convertIntToML(i_c); -\end{verbatim} +\end{scriptcode} The macros demonstrated here are used in the examples~\ref{power.ex}, \ref{power_real.ex}, and~\ref{power_exn.ex} in Section~\ref{Cexamples.sec}. %----------------- \subsection{Units} %----------------- -The following constant in the conversion library denotes the ML -representation of {\tt ()}: +The following constant in the conversion library denotes the ML representation +of \kw{()}: +% \index{mlUNIT@\texttt{mlUNIT}}% -\begin{verbatim} +% +\begin{scriptcode} #define mlUNIT -\end{verbatim} +\end{scriptcode} %----------------- \subsection{Reals} %----------------- -An ML real is represented as a pointer into a region containing the -real. To convert an ML real to a C real, we dereference the pointer. To -convert a C real to an ML real, we update the memory to contain the C -real. The following two macros are provided: +An ML real is represented as a pointer into a region containing the real. To +convert an ML real to a C real, we dereference the pointer. To convert a C real +to an ML real, we update the memory to contain the C real. The following two +macros are provided: +% \index{convertRealToC@\texttt{convertRealToC}}% \index{convertRealToML@\texttt{convertRealToML}}% -\begin{verbatim} +% +\begin{scriptcode} #define convertRealToC(mlReal) #define convertRealToML(cReal, mlReal) -\end{verbatim} +\end{scriptcode} -Converting an ML real \verb|r_ml| to a C real \verb|r_c| can be done with the first macro: -\begin{verbatim} +Converting an ML real \kw{r\_ml} to a C real \kw{r\_c} can be done with the +first macro: +\begin{scriptcode} r_c = convertRealToC(r_ml); -\end{verbatim} +\end{scriptcode} -Converting from a C real to an ML real (being part of the result value of the -C function) is done in one or two steps depending on whether the real is -part of a list or not. If the real is not in a list the memory containing -the real has been allocated before the C call, see Section~\ref{parPassing.sec}: -\begin{verbatim} +Converting from a C real to an ML real (being part of the result value of the C +function) is done in one or two steps depending on whether the real is part of a +list or not. If the real is not in a list the memory containing the real has +been allocated before the C call, see Section~\ref{parPassing.sec}: +\begin{scriptcode} convertRealToML(r_c, r_ml); -\end{verbatim} -If the ML real is part of a list element, then space must be allocated for -the real before converting it. If \boxml{rAddr} identifies a region -for the real, you write: +\end{scriptcode} +If the ML real is part of a list element, then space must be allocated for the +real before converting it. If \kw{rAddr} identifies a region for the real, you +write: +% \index{allocReal@\texttt{allocReal}}% -\begin{verbatim} +% +\begin{scriptcode} allocReal(rAddr, r_ml); convertRealToML(r_c, r_ml); -\end{verbatim} +\end{scriptcode} -These macros are used in the examples~\ref{power_real.ex}, -\ref{power_exn.ex} and~\ref{real_list.ex} in -Section~\ref{Cexamples.sec}. +\noindent +These macros are used in the examples~\ref{power_real.ex}, \ref{power_exn.ex} +and~\ref{real_list.ex} in Section~\ref{Cexamples.sec}. %-------------------- \subsection{Booleans} %-------------------- -Four constants provide the values of true and false in ML and in C. -These constants are defined by the following macros:\footnote{For - historical reasons, booleans in the MLKit are tagged even when garbage - collection is disabled.} +Four constants provide the values of true and false in ML and in C. These +constants are defined by the following macros:\footnote{For historical reasons, +booleans in the MLKit are tagged even when garbage collection is disabled.} +% \index{mlTRUE@\texttt{mlTRUE}}% \index{mlFALSE@\texttt{mlFALSE}}% \index{cTRUE@\texttt{cTRUE}}% \index{cFALSE@\texttt{cFALSE}}% -\begin{verbatim} +% +\begin{scriptcode} #define mlTRUE 3 #define mlFALSE 1 #define cTRUE 1 #define cFALSE 0 -\end{verbatim} +\end{scriptcode} Two macros are provided for converting booleans: +% \index{convertBoolToC@\texttt{convertBoolToC}}% \index{convertBoolToML@\texttt{convertBoolToML}}% -\begin{verbatim} +% +\begin{scriptcode} #define convertBoolToC(i) #define convertBoolToML(i) -\end{verbatim} +\end{scriptcode} Converting booleans is similar to converting integers: -\begin{verbatim} +\begin{scriptcode} b_c = convertBoolToC(b_ml); b_ml = convertBoolToML(b_c); -\end{verbatim} +\end{scriptcode} %------------------- \subsection{Records} %------------------- -Records are boxed. One macro is provided for storing and retrieving -elements: +Records are boxed. One macro is provided for storing and retrieving elements: +% \index{elemRecordML@\texttt{elemRecordML}}% -\begin{verbatim} +% +\begin{scriptcode} #define elemRecordML(recAddr, offset) -\end{verbatim} -An element can be retrieved from a record \verb|rec_ml| by writing -\begin{verbatim} +\end{scriptcode} +An element can be retrieved from a record \kw{rec\_ml} by writing +\begin{scriptcode} e_ml = elemRecordML(rec_ml, offset); -\end{verbatim} -where the first element has \boxml{offset} 0. An element \verb|e_ml| -is stored in an ML record \verb|rec_ml| by writing -\begin{verbatim} +\end{scriptcode} +where the first element has \kw{offset} 0. An element \kw{e\_ml} is stored in an +ML record \kw{rec\_ml} by writing +\begin{scriptcode} elemRecordML(rec_ml, offset) = e_ml; -\end{verbatim} -Two specialized versions of the \boxml{elemRecordML} macro are -provided for +\end{scriptcode} +Two specialised versions of the \kw{elemRecordML} macro are provided for +% \index{first@\texttt{first}}% \index{second@\texttt{second}}% +% pairs: -\begin{verbatim} +\begin{scriptcode} #define first(x) #define second(x) -\end{verbatim} +\end{scriptcode} -If the record is to be part of a list element then it is necessary to allocate the record -before storing into it. This allocation is done with the macro +If the record is to be part of a list element then it is necessary to allocate +the record before storing into it. This allocation is done with the macro +% \index{allocRecordML@\texttt{allocRecordML}}% -\begin{verbatim} +% +\begin{scriptcode} #define allocRecordML(rAddr, size, vAddr) -\end{verbatim} -where \boxml{rAddr} denotes a region (i.e., a pointer to a region -descriptor), \boxml{size} is the size of the record (i.e., the number -of components), and \boxml{vAddr} is a variable in which -\boxml{allocRecordML} returns a pointer to storage for the record. The -record is then stored, component by component, by repeatedly calling -\boxml{elemRecordML} with the pointer \boxml{vAddr} as argument. +\end{scriptcode} +where \kw{rAddr} denotes a region (i.e., a pointer to a region descriptor), +\kw{size} is the size of the record (i.e., the number of components), and +\kw{vAddr} is a variable in which \kw{allocRecordML} returns a pointer to +storage for the record. The record is then stored, component by component, by +repeatedly calling \kw{elemRecordML} with the pointer \kw{vAddr} as argument. -The above macros are used in examples~\ref{real_list.ex}, -\ref{change_elem.ex} and~\ref{dir.ex} in Section~\ref{Cexamples.sec}. +The above macros are used in examples~\ref{real_list.ex}, \ref{change_elem.ex} +and~\ref{dir.ex} in Section~\ref{Cexamples.sec}. %------------------- \subsection{Strings} %------------------- -Strings are boxed and always allocated in infinite regions. It is possible -to print an ML string by using the C function +Strings are boxed and always allocated in infinite regions. It is possible to +print an ML string by using the C function +% \index{printStringML@\texttt{printStringML}}% -\begin{verbatim} +% +\begin{scriptcode} void printStringML(String str); -\end{verbatim} +\end{scriptcode} -Strings are converted from ML to C and vice versa using the two C -functions +Strings are converted from ML to C and vice versa using the two C functions +% \index{convertStringToC@\texttt{convertStringToC}}% \index{convertStringToML@\texttt{convertStringToML}}% -\begin{verbatim} +% +\begin{scriptcode} void convertStringToC(String mlStr, char *cStr, size_t cStrLen, int exn); String convertStringToML(Region rAddr, char *cStr); -\end{verbatim} -An ML string \verb|str_ml| is converted to a C -string \verb|str_c| in already allocated storage of size \boxml{size} bytes by writing -\begin{verbatim} +\end{scriptcode} +An ML string \kw{str\_ml} is converted to a C string \kw{str\_c} in already +allocated storage of size \kw{size} bytes by writing +\begin{scriptcode} convertStringToC(ctx, str_ml, str_c, size, exn); -\end{verbatim} -where \boxml{exn} is some ML exception value (see -Section~\ref{C_exceptions.sec}) to be raised if the ML string has size -greater than \boxml{size} and \texttt{ctx} is an evaluation context -obtained using the \verb|__get_ctx| primitive. - -A C string is converted to an ML string in the region denoted by -\boxml{rAddr} by writing -\begin{verbatim} +\end{scriptcode} +where \kw{exn} is some ML exception value (see Section~\ref{C_exceptions.sec}) +to be raised if the ML string has size greater than \kw{size} and \kw{ctx} is an +evaluation context obtained using the \kw{\_\_get\_ctx} primitive. + +A C string is converted to an ML string in the region denoted by \kw{rAddr} by +writing +\begin{scriptcode} str_ml = convertStringToML(rAddr, str_c); -\end{verbatim} +\end{scriptcode} The following macro returns the size of an ML string: +% \index{sizeStringDefine@\texttt{sizeStringDefine}}% -\begin{verbatim} +% +\begin{scriptcode} size_t sizeStringDefine(String str); -\end{verbatim} +\end{scriptcode} These macros are used in the examples~\ref{dir.ex} and \ref{print_string_list.ex} in Section~\ref{Cexamples.sec}. @@ -7418,13 +8085,16 @@ \subsection{Strings} \subsection{Lists} %----------------- -Lists are always allocated in infinite regions. A list uses, as a minimum, -one region for the auxiliary pairs of the list, see Figure~\ref{listregions.fig} on page~\pageref{listregions.fig}. +Lists are always allocated in infinite regions. A list uses, as a minimum, one +region for the auxiliary pairs of the list, see Figure~\ref{listregions.fig} on +page~\pageref{listregions.fig}. We shall now show three examples of manipulating lists. The first example traverses a list. Consider the following C function template: +% \index{traverse_list@\texttt{traverse\_list}}% -\begin{verbatim} +% +\begin{scriptcode} void traverse_list(uintptr_t* ls) { uintptr_t elemML; for ( ; isCONS(ls); ls=tl(ls)) { @@ -7433,33 +8103,36 @@ \subsection{Lists} } return; } -\end{verbatim} +\end{scriptcode} -The ML list is passed to the C function in parameter \texttt{ls}. -The example uses a simple loop to traverse the list. The parameter -\texttt{ls} points at the first constructor in the list. Each time -we have a \texttt{CONS} constructor we also have an element, see -Figure~\ref{listregions.fig}. The element can be retrieved with the -\texttt{hd} macro. One retrieves the tail of the list by using the -\texttt{tl} macro. +The ML list is passed to the C function in parameter \kw{ls}. The example uses +a simple loop to traverse the list. The parameter \kw{ls} points at the first +constructor in the list. Each time we have a \kw{CONS} constructor we also have +an element, see Figure~\ref{listregions.fig}. The element can be retrieved with +the \kw{hd} macro. One retrieves the tail of the list by using the \kw{tl} +macro. -The following four macros are provided in the {\tt src/Runtime/List.h} -header file: +The following four macros are provided in the \kw{src/Runtime/List.h} header +file: +% \index{isNIL@\texttt{isNIL}}% \index{isCONS@\texttt{isCONS}}% \index{hd@\texttt{hd}}% \index{tl@\texttt{tl}}% -\begin{verbatim} +% +\begin{scriptcode} #define isNIL(x) #define isCONS(x) #define hd(x) #define tl(x) -\end{verbatim} +\end{scriptcode} -The next example explains how to construct a list backwards. Consider -the following C function template: +The next example explains how to construct a list backwards. Consider the +following C function template: +% \index{mk_list_backwards@\texttt{mk\_list\_backwards}}% -\begin{verbatim} +% +\begin{scriptcode} uintptr_t mk_list_backwards(Region pairRho) { uintptr_t *resList, *pair; makeNIL(resList); @@ -7472,21 +8145,22 @@ \subsection{Lists} } return (uintptr_t)resList; } -\end{verbatim} -First, we create the \texttt{NIL} constructor, which marks the end of -the list. Then, each time we have an element, we allocate a pair. We -store the element in the first cell of the pair. A pointer to the list -constructed so far is put in the second cell of the pair. (In this -release of the MLKit, the \boxml{makeCONS} macro simply assigns its -second argument the value of its first argument.) In the example, we -have assumed that the elements are unboxed, thus, no regions are -necessary for the elements. - -The last example shows how a list can be constructed forwards. It is more -clumsy to construct the list forwards because we have to return a pointer -to the first element. Consider the following C function template. +\end{scriptcode} +First, we create the \kw{NIL} constructor, which marks the end of the +list. Then, each time we have an element, we allocate a pair. We store the +element in the first cell of the pair. A pointer to the list constructed so far +is put in the second cell of the pair. (In this release of the MLKit, the +\kw{makeCONS} macro simply assigns its second argument the value of its first +argument.) In the example, we have assumed that the elements are unboxed, thus, +no regions are necessary for the elements. + +The last example shows how a list can be constructed forwards. It is more clumsy +to construct the list forwards because we have to return a pointer to the first +element. Consider the following C function template. +% \index{mk_list_forwards@\texttt{mk\_list\_forwards}}% -\begin{verbatim} +% +\begin{scriptcode} uintptr_t mk_list_forwards(Region pairRho) { uintptr_t *pair, *cons, *temp_pair, res; @@ -7510,73 +8184,71 @@ \subsection{Lists} second(pair) = (uintptr_t)cons; return res; } -\end{verbatim} +\end{scriptcode} + +We create the \kw{CONS} constructor and pair for the first element and return a +pointer to the \kw{CONS} constructor (the pair) as the result. We then construct +the rest of the list by constructing a \kw{CONS} constructor and a pair for each +element. It is necessary to use a temporary variable for the pair +(\kw{temp\_pair}) because we have to update the pair for the previous +element. The second component of the last pair contains the \kw{NIL} constructor +and thus denotes the end of the list. -We create the \texttt{CONS} constructor and pair for the first element -and return a pointer to the \texttt{CONS} constructor (the pair) as -the result. We then construct the rest of the list by constructing a -\texttt{CONS} constructor and a pair for each element. It is necessary -to use a temporary variable for the pair (\verb|temp_pair|) because we -have to update the pair for the previous element. The second component -of the last pair contains the \texttt{NIL} constructor and thus -denotes the end of the list. - -The two macros \texttt{makeCONS} and \texttt{makeNIL} are provided in -the \boxml{List.h} header file: +The two macros \kw{makeCONS} and \kw{makeNIL} are provided in the \kw{List.h} +header file: +% \index{makeNIL@\texttt{makeNIL}}% \index{makeCONS@\texttt{makeCONS}}% -\begin{verbatim} +% +\begin{scriptcode} #define makeNIL(rAddr, ptr) #define makeCONS(rAddr, pair, ptr) -\end{verbatim} +\end{scriptcode} %======================================================= \section{Exceptions} \label{C_exceptions.sec} %======================================================= -C functions are allowed to raise exceptions and it is possible for the -ML code to handle these exceptions. A C function cannot declare -exceptions locally, however. For technical reasons, we must -first acquire an +C functions are allowed to raise exceptions and it is possible for the ML code +to handle these exceptions. A C function cannot declare exceptions locally, +however. For technical reasons, we must first acquire an % -\index{evaluation context} +\index{evaluation context}% % -evaluation context, which can be obtained using the -special built-in primitive \texttt{\_\_get\_ctx}: -\begin{verbatim} +evaluation context, which can be obtained using the special built-in primitive +\kw{\_\_get\_ctx}: +\begin{smlcode} fun getCtx () : foreignptr = prim("__get_ctx", ()) -\end{verbatim} +\end{smlcode} \noindent Now, as an example, consider the following ML declaration: -\begin{verbatim} +\begin{smlcode} exception Exn fun raiseif0 (arg : int) : unit = prim("raiseif0", (getCtx(), arg, Exn)) -\end{verbatim} -If we want the function \texttt{raiseif0} to raise the exception value -\texttt{Exn} if the argument (\texttt{arg}) is 0 then we use the -function \verb|raise_exn| provided by the runtime system, by -including the header file {\tt src/Runtime/Exception.h}. The C -function \boxml{raiseif0} may be defined thus: -\begin{verbatim} +\end{smlcode} +If we want the function \kw{raiseif0} to raise the exception value \kw{Exn} if +the argument (\kw{arg}) is 0 then we use the function \kw{raise\_exn} provided +by the runtime system, by including the header file +\kw{src/Runtime/Exception.h}. The C function \kw{raiseif0} may be defined thus: +\begin{scriptcode} void raiseif0(Context ctx, long i_ml, uintptr_t exn) { long i_c; i_c = convertIntToC(i_ml); if (i_c == 0) raise_exn(ctx, exn); return; } -\end{verbatim} -Notice that the supplied context is passed to the \texttt{raise\_exn} -function, which uses the context to gain access to the region stack -and to the current exception handler. - -Notice also that there is no need to make the function -\texttt{raiseif0} return the value \boxml{mlUNIT}; in case the type of -the return value is \boxml{unit} then the MLKit automatically inserts -code for returning the ML value \boxml{()} after the call to the C -function. +\end{scriptcode} +Notice that the supplied context is passed to the \kw{raise\_exn} function, +which uses the context to gain access to the region stack and to the current +exception handler. + +Notice also that there is no need to make the function \kw{raiseif0} return the +value \kw{mlUNIT}; in case the type of the return value is \kw{unit} then the +MLKit automatically inserts code for returning the ML value \kw{()} after the +call to the C function. Exceptions are used in examples~\ref{power_exn.ex} and~\ref{dir.ex} in Section~\ref{Cexamples.sec}. @@ -7585,45 +8257,45 @@ \section{Exceptions} \section{Program Points for Profiling} \label{prof.sec} %======================================================= -To support profiling, the programmer must provide special profiling -versions of those C functions that allocate space in regions (i.e., -that take regions as additional arguments). If profiling is enabled -and at least one pointer to a region is passed to the C function then -also a program point that represents the call to the C function is -passed. The program point is used by the C function when allocating -space in regions, as explained in Section~\ref{prof.sec}. The program -point is passed as the last argument: +To support profiling, the programmer must provide special profiling versions of +those C functions that allocate space in regions (i.e., that take regions as +additional arguments). If profiling is enabled and at least one pointer to a +region is passed to the C function then also a program point that represents the +call to the C function is passed. The program point is used by the C function +when allocating space in regions, as explained in Section~\ref{prof.sec}. The +program point is passed as the last argument: \begin{tabbing} -\indent\= $\texttt{uintptr\_t} \ \emph{c\_funcProf} \ ($\=$\texttt{Region}\ \emph{addr}_1, - \ldots, \texttt{Region}\ \emph{addr}_m,$\\ - \>\>$ \texttt{uintptr\_t}\ x_1, \ldots, - \texttt{uintptr\_t}\ x_n, \texttt{long}\ \emph{pPoint}) $ +\indent\= $\kw{uintptr\_t} \ \emph{c\_funcProf} \ ($\=$\kw{Region}\ \emph{addr}_1, + \ldots, \kw{Region}\ \emph{addr}_m,$\\ + \>\>$ \kw{uintptr\_t}\ x_1, \ldots, + \kw{uintptr\_t}\ x_n, \kw{long}\ \emph{pPoint}) $ \end{tabbing} \noindent -No special version of the C function is needed if it does not allocate -into infinite regions; in this case, the same C function can be used -both when profiling is enabled and disabled. +No special version of the C function is needed if it does not allocate into +infinite regions; in this case, the same C function can be used both when +profiling is enabled and disabled. A program point passed to a C function is an integer; it identifies the allocation point that represents the C call in the program, see Chapter~\ref{useOfProf.sec}. -The runtime system provides special versions of various allocation -macros and functions presented earlier in this chapter: +The runtime system provides special versions of various allocation macros and +functions presented earlier in this chapter: +% \index{allocRealProf@\texttt{allocRealProf}}% \index{allocRecordMLProf@\texttt{allocRecordMLProf}}% \index{convertStringToMLProf@\texttt{convertStringToMLProf}}% -\begin{verbatim} +% +\begin{scriptcode} #define allocRealProf(realRho, realPtr, pPoint) #define allocRecordMLProf(rhoRec, ssize, recAddr, pPoint) String convertStringToMLProf(Region rhoString, char *cStr, long pPoint); -\end{verbatim} +\end{scriptcode} -Here is the profiling version of the C function -\verb|mk_list_backwards|: -\begin{verbatim} +Here is the profiling version of the C function \kw{mk\_list\_backwards}: +\begin{scriptcode} uintptr_t mk_list_backwardsProf(Region pairRho, long pPoint) { uintptr_t *resList, *pair; @@ -7637,185 +8309,185 @@ \section{Program Points for Profiling} } return (uintptr_t) resList; } -\end{verbatim} -The example shows that it is not difficult to make the profiling -version of a C function; use the \texttt{Prof} versions of the -macros and use the extra argument \texttt{pPoint}, appropriately. The -same program point is used for all allocations in the C function, -perceiving the C function as one entity. +\end{scriptcode} +The example shows that it is not difficult to make the profiling version of a C +function; use the \kw{Prof} versions of the macros and use the extra argument +\kw{pPoint}, appropriately. The same program point is used for all allocations +in the C function, perceiving the C function as one entity. %======================================================= \section{Storage Modes} %======================================================= -As described in Chapter~\ref{storagemodes.sec} on -page~\pageref{atbit.lab}, actual region parameters contain a storage -mode at runtime, if the region is infinite. A C function may check -the storage mode of an infinite region to see whether it is possible -to reset the region before allocating space in it. The header file -{\tt src/Runtime/Region.h} of the runtime system provides a macro +As described in Chapter~\ref{storagemodes.sec} on page~\pageref{atbit.lab}, +actual region parameters contain a storage mode at runtime, if the region is +infinite. A C function may check the storage mode of an infinite region to see +whether it is possible to reset the region before allocating space in it. The +header file \kw{src/Runtime/Region.h} of the runtime system provides a macro +% \index{is_inf_and_atbot@\texttt{is\_inf\_and\_atbot}}% -\verb|is_inf_and_atbot|, which can be used to test whether resetting -is safe, assuming that the arguments to the C function are dead. - -The C function \texttt{resetRegion}, which is also provided by the -runtime system in the header file {\tt src/Runtime/Region.h}, can be -used to reset a region. Consider again the \verb|mk_list_backwards| -example. If the $\atbot$ bit of the region for the list is set, then -this region can be reset prior to constructing the list: +% +\kw{is\_inf\_and\_atbot}, which can be used to test whether resetting is safe, +assuming that the arguments to the C function are dead. + +The C function \kw{resetRegion}, which is also provided by the runtime system in +the header file \kw{src/Runtime/Region.h}, can be used to reset a +region. Consider again the \kw{mk\_list\_backwards} example. If the $\atbot$ bit +of the region for the list is set, then this region can be reset prior to +constructing the list: +% \index{resetRegion@\texttt{resetRegion}}% -\begin{verbatim} +\begin{scriptcode} uintptr_t mk_list_backwards(Region pairRho) { uintptr_t *resList, *pair; if (is_inf_and_atbot(pairRho)) resetRegion(pairRho); makeNIL(resList); ... } -\end{verbatim} -The C programmer should be careful not to reset regions that -potentially contain live values. In particular, the C programmer must be -conservative and take into account possible region aliasing between -regions holding arguments and regions holding the result. -Clearly, if a region that the C function is supposed to -return a result in contains part of the value argument(s) of the function, -then the function should not first reset the region and -then try to access the argument(s). +\end{scriptcode} +The C programmer should be careful not to reset regions that potentially contain +live values. In particular, the C programmer must be conservative and take into +account possible region aliasing between regions holding arguments and regions +holding the result. Clearly, if a region that the C function is supposed to +return a result in contains part of the value argument(s) of the function, then +the function should not first reset the region and then try to access the +argument(s). %======================================================= \section{Endomorphisms by Polymorphism} \label{C_polymorphism.sec} %======================================================= -Until now, we have seen examples only of C functions that are region -exomorphic, that is, functions that, in general, write their result -into regions that are different from those in which the arguments -reside. - -A region endomorphic function has the property that the result of -calling the function is stored in the same regions that hold the -arguments to the function. Region endomorphic functions are useful -when the result of the function shares with parts of the arguments. -Consider the C function -\begin{verbatim} +Until now, we have seen examples only of C functions that are region exomorphic, +that is, functions that, in general, write their result into regions that are +different from those in which the arguments reside. + +A region endomorphic function has the property that the result of calling the +function is stored in the same regions that hold the arguments to the +function. Region endomorphic functions are useful when the result of the +function shares with parts of the arguments. Consider the C function +\begin{scriptcode} uintptr_t select_second(uintptr_t pair) { return second(pair); } -\end{verbatim} -which selects the second component of {\tt pair} (cast to an -integer); the identifier {\tt second} is defined in the header -file {\tt Tagging.h} by the macro definition -\begin{verbatim} +\end{scriptcode} +which selects the second component of \kw{pair} (cast to an integer); the +identifier {\tt second} is defined in the header file \kw{Tagging.h} by the +macro definition +\begin{scriptcode} #define second(x) (*((uintptr_t *)(x)+1)) -\end{verbatim} - -Now, for the MLKit to make correct, that is safe, decisions about when -to de-allocate regions, the endomorphic properties of a C function -must be expressed in the region-annotated type scheme for value identifiers -to which the C function is bound. The programmer can tell the MLKit -about region endomorphic behavior of a C function by using type -variables. For example, here is an ML declaration that binds a value -identifier {\tt second} to the C function -\verb|select_second|:\footnote{MLB-file: {\tt kitdemo/select\_second.mlb}. The C - file {\tt select\_second.c} must be compiled (using {\tt gcc}) to - form the object file (archive) {\tt libselect\_second.a} before the project can - be compiled: \texttt{mlkit -no\_gc -dirlibs "." -libs "m,dl,c,select\_second" select\_second.mlb}.} -\begin{verbatim} +\end{scriptcode} + +Now, for the MLKit to make correct, that is safe, decisions about when to +de-allocate regions, the endomorphic properties of a C function must be +expressed in the region-annotated type scheme for value identifiers to which the +C function is bound. The programmer can tell the MLKit about region endomorphic +behavior of a C function by using type variables. For example, here is an ML +declaration that binds a value identifier \kw{second} to the C function +\kw{select\_second}:\footnote{MLB-file: \boxml{kitdemo/select\_second.mlb}. The +C file \boxml{select\_second.c} must be compiled (using \boxml{gcc}) to form the +object file (archive) \kw{libselect\_second.a} before the project can be +compiled: +% +\kw{mlkit -no\_gc -dirlibs "." -libs "m,dl,c,select\_second" select\_second.mlb}.}% +% +\begin{smlcode} fun second(pair : 'a * 'b) : 'b = prim("select_second", pair) -\end{verbatim} +\end{smlcode} The MLKit associates the following region-annotated type scheme to the value -identifier {\tt second}: +identifier \kw{second}: $$\forall \alpha_1\alpha_2\rho\epsilon.(\alpha_1 * \alpha_2, \rho) -\ar{\epsilon.\{\Get(\rho_3)\}} \alpha_2$$ Notice that the -region-annotated type scheme expresses the region endomorphic behavior -of the C function. That is, for any substitution $S$, mapping -$\alpha_1$ and $\alpha_2$ to region types and places, the type -$S((\alpha_1 * \alpha_2, \rho) \ar{\epsilon.\{\Get(\rho_3)\}} -\alpha_2)$ will express that the result is located in the same regions -as (the second projection) of the argument. +\ar{\epsilon.\{\Get(\rho_3)\}} \alpha_2$$ Notice that the region-annotated type +scheme expresses the region endomorphic behavior of the C function. That is, for +any substitution $S$, mapping $\alpha_1$ and $\alpha_2$ to region types and +places, the type $S((\alpha_1 * \alpha_2, \rho) \ar{\epsilon.\{\Get(\rho_3)\}} +\alpha_2)$ will express that the result is located in the same regions as (the +second projection) of the argument. %======================================================= \section{Compiling and Linking} \label{comp_and_link_with_C.sec} %======================================================= -To use a set of C functions in the ML code, one must first compile the -C functions into an object file. (Remember to include appropriate -header files.) +To use a set of C functions in the ML code, one must first compile the C +functions into an object file. (Remember to include appropriate header files.) -As an example, the file \verb|kitdemo/libmylib.c| holds a set of -example C functions. This file is compiled into an archive (in the -form of a single object file) by typing (from the shell) -\begin{verbatim} +As an example, the file \kw{kitdemo/libmylib.c} holds a set of example C +functions. This file is compiled into an archive (in the form of a single object +file) by typing (from the shell) +\begin{scriptcode} $ gcc -o libmylib.a -c libmylib.c -\end{verbatim} -in the {\tt kitdemo} directory. Now, to compile the file to work with -profiling, type -\begin{verbatim} +\end{scriptcode} +in the \kw{kitdemo} directory. Now, to compile the file to work with profiling, +type +\begin{scriptcode} $ gcc -DPROFILING -o libmylib-p.a -c libmylib.c -\end{verbatim} +\end{scriptcode} -The MLB-file \verb|mylib.mlb|, which is listed in -Figure~\ref{mylib.mlb.fig}, mentions the file \verb|mylib.sml|, which -declares a series of ML functions to be used in the file -\verb|test_mylib.sml|. +The MLB-file \kw{mylib.mlb}, which is listed in Figure~\ref{mylib.mlb.fig}, +mentions the file \kw{mylib.sml}, which declares a series of ML functions to be +used in the file \kw{test\_mylib.sml}. \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{scriptcode} $(SML_LIB)/basis/basis.mlb mylib.sml test_mylib.sml -\end{verbatim} -\caption{Linking with external object files is done by use of the - \texttt{prim} primitive, which in this case is used in the file - \texttt{mylib.sml} for declaring a series of ML functions.} +\end{scriptcode} +\caption{Linking with external object files is done by use of the \kw{prim} + primitive, which in this case is used in the file \kw{mylib.sml} for declaring + a series of ML functions.} \label{mylib.mlb.fig} \medskip \hrule \end{figure} -Once the archives have been generated, the appropriate archive can be -passed to the \texttt{mlkit} compiler, using the options -\texttt{-libs} and \texttt{-libdirs}, as follows: -\begin{verbatim} +Once the archives have been generated, the appropriate archive can be passed to +the \kw{mlkit} compiler, using the options \kw{-libs} and \kw{-libdirs}, as +follows: +\begin{scriptcode} $ mlkit -no_gc -o mylibtest -libdirs "." \ -libs "m,c,dl,mylib" mylib.mlb ... $ mlkit -no_gc -prof -o mylibtest-p -libdirs "." \ -libs "m,c,dl,mylib-p" mylib.mlb ... -\end{verbatim} +\end{scriptcode} \noindent -To learn more about the options -\texttt{-libs} and \texttt{-libdirs}, type -\begin{verbatim} +To learn more about the options \kw{-libs} and \kw{-libdirs}, type +\begin{scriptcode} $ mlkit --help -\end{verbatim} +\end{scriptcode} on the command line. -You may consult the file \texttt{kitdemo/Makefile} to see how one can -further automate an appropriate build process. +You may consult the file \kw{kitdemo/Makefile} to see how one can further +automate an appropriate build process. \section{Dynamic Linking} \label{link_at_runtime.sec} + The MLKit supports +% \index{dynamic linking}% +% dynamic linking at runtime. This is done using the +% \index{dlopen!\texttt{dlopen}}% \index{dlsym!\texttt{dlsym}}% -\texttt{dlopen} and \texttt{dlsym} functions from the MLKit library -\texttt{basis/dynlink.mlb}. The function \texttt{dlopen} opens a given -library and the function \texttt{dlsym} associates a name with a given -function in the library. If the name is already linked, the exception -\texttt{Fail} is raised. - -Using the functions \texttt{dlopen} and \texttt{dlsym}, as shown in -Figure~\ref{dynlib.fig}, you can call a dynamically linked library -function using a primitive call to '\texttt{:}'. - -If '\texttt{:}' is called with a name that has no association, -the exception \texttt{Match} is raised. +% +\kw{dlopen} and \kw{dlsym} functions from the MLKit library +\kw{basis/dynlink.mlb}. The function \kw{dlopen} opens a given library and the +function \kw{dlsym} associates a name with a given function in the library. If +the name is already linked, the exception \kw{Fail} is raised. + +Using the functions \kw{dlopen} and \kw{dlsym}, as shown in +Figure~\ref{dynlib.fig}, you can call a dynamically linked library function +using a primitive call to '\kw{:}'. + +If '\kw{:}' is called with a name that has no association, the exception +\kw{Match} is raised. \begin{figure} \hrule \medskip -\begin{verbatim} +\begin{smlcode} fun isNullFP(s : foreignptr) : bool = prim("__is_null", s) val b = Dynlib.dlopen (SOME "libcrack.so", Dynlib.NOW, false) val _ = Dynlib.dlsym ("testdyn","FascistCheck",b) @@ -7827,67 +8499,81 @@ \section{Dynamic Linking} then NONE else SOME(prim ("fromCtoMLstring", b)) end -\end{verbatim} -\caption{Dynamic linking of the function \texttt{FascistCheck} from the library \texttt{libcrack.so}. - The ML function \texttt{fascistCheck} calls \texttt{FascistCheck} with the argument - \texttt{(a,/usr/lib/cracklib\_dict)} and converts the resulting C string into - an ML string. - This example uses the auto conversion feature as described in - the next section.} +\end{smlcode} +\caption{Dynamic linking of the function \kw{FascistCheck} from the library + \kw{libcrack.so}. The ML function \kw{fascistCheck} calls \kw{FascistCheck} + with the argument \kw{(a,/usr/lib/cracklib\_dict)} and converts the resulting + C string into an ML string. This example uses the auto conversion feature as + described in the next section.} \label{dynlib.fig} \medskip \hrule \end{figure} %============================================= \section{Auto Conversion} +\label{auto_conversion.sec} %============================================= + \index{auto conversion}% -\label{auto_conversion.sec} -For C functions that are simple, in a sense -that we shall soon define, the MLKit can generate code that -automatically converts representations of arguments from ML to C and -representations of results from C back to ML. +% +For C functions that are simple, in a sense that we shall soon define, the MLKit +can generate code that automatically converts representations of arguments from +ML to C and representations of results from C back to ML. -Auto conversion is enabled by prefixing a {\tt @}-character to -the name of the C function, as in the following example: -\begin{verbatim} +Auto conversion is enabled by prefixing a \kw{@}-character to the name of the C +function, as in the following example: +\begin{smlcode} fun power_auto(base : int, n : int) : int = prim ("@power_auto", (base, n)) -\end{verbatim} +\end{smlcode} \noindent The power function may then be implemented in C as follows: -\begin{verbatim} +\begin{scriptcode} long power_auto(long base, long n) { long p; for (p = 1; n > 0; --n) p = p * base; return p; } -\end{verbatim} +\end{scriptcode} \noindent -No explicit conversion is needed in the C code. Auto conversion is only -supported when the arguments of the ML function are of type {\tt int} or -{\tt bool} and when the result has type {\tt unit}, {\tt int}, or {\tt - bool}. It works also when profiling is enabled. +No explicit conversion is needed in the C code. The example shown here is +example~\ref{power_auto.ex} of Section~\ref{Cexamples.sec}; it is part of the +\kw{mylib.mlb} project. + +We define the notion of \emph{base type} as one of \kw{int}, \kw{Int8.int}, +\kw{Int16.int}, \kw{Int31.int}, \kw{Int32.int}, \kw{Int63.int}, \kw{Int64.int}, +\kw{word}, \kw{Word8.word}, \kw{Word16.word}, \kw{Word31.word}, +\kw{Word32.word}, \kw{Word63.word}, \kw{Word64.word}, \kw{char}, or \kw{bool}. + +Auto conversion works when each of the argument types of the ML function is a +base type or one of \kw{string}, \kw{CharArray.array}, \kw{Word8Vector.vector}, +or \kw{Word8Array.array}. The return type of the ML function must be a base type +or the type \kw{unit}. + +For the vector and array types, the data pointer is passed as argument to the C +function. The C function may then access and mutate the content of the data but +should not hold on to the data or store the pointer for later use. + +Auto conversion works also when profiling is enabled. -The example shown here is example~\ref{power_auto.ex} of -Section~\ref{Cexamples.sec}; it is part of the \verb|mylib.mlb| -project. %-------------------------------------- \section{Examples\label{Cexamples.sec}} %-------------------------------------- + \index{C examples}% \index{libmylib.c@\texttt{libmylib.c}}% \index{mylib.sml@\texttt{mylib.sml}}% -Several example C functions are located in the file -\verb|kitdemo/libmylib.c|. The MLB-file \verb|kitdemo/mylib.mlb|, which -is listed in Figure~\ref{mylib.mlb.fig}, makes use of these functions. +% +Several example C functions are located in the file \kw{kitdemo/libmylib.c}. The +MLB-file \kw{kitdemo/mylib.mlb}, which is listed in Figure~\ref{mylib.mlb.fig}, +makes use of these functions. -The source file \verb|mylib.sml|, which is part of the -\verb|mylib.mlb| project, contains the following ML declarations: -\begin{verbatim} +The source file \kw{mylib.sml}, which is part of the \kw{mylib.mlb} project, +contains the following ML declarations: +\begin{smlcode} fun power(base: int, n: int) : int = prim ("power", (base, n)) @@ -7902,87 +8588,85 @@ \section{Examples\label{Cexamples.sec}} exception Power fun power_exn (base: real, n: int) : real = - prim ("power_exn", (base, n, Power)) + prim ("power_exn", (getCtx(), base, n, Power)) exception DIR fun dir (directory: string) : string list = - prim ("dir", (directory, DIR)) + prim ("dir", (getCtx(), directory, DIR)) fun real_list () : real list = prim ("real_list", ()) fun change_elem (p : int*string) : string*int = prim ("change_elem", p) -\end{verbatim} -The C function implementations are summarized below (see the files -\verb|libmylib.c| and \verb|mylib.sml| in the {\tt kitdemo} directory -for detailed comments.) + fun strrev (s:string) : unit = + prim("@strrev_auto", (size s,s)) +\end{smlcode} + +The C function implementations are summarised below (see the files +\kw{libmylib.c} and \kw{mylib.sml} in the \kw{kitdemo} directory for detailed +comments.) \begin{example}\label{power.ex} - The \index{power@\texttt{power}}\texttt{power} function shows how to convert - integers with the macros \texttt{convertIntToC} and - \texttt{convertIntToML}. + The \index{power@\texttt{power}}\kw{power} function shows how to convert + integers with the macros \kw{convertIntToC} and \kw{convertIntToML}. \end{example} \begin{example}\label{power_real.ex} - The \index{power_real@\texttt{power\_real}}\texttt{power\_real} function shows how - to convert reals with the macros \texttt{convertRealToC} and - \texttt{convertRealToML}. + The \index{power_real@\texttt{power\_real}}\kw{power\_real} function shows how + to convert reals with the macros \kw{convertRealToC} and \kw{convertRealToML}. \end{example} \begin{example}\label{power_auto.ex} - The \index{power_auto@\texttt{power\_auto}}\texttt{power\_auto} function shows the - use of auto conversion, which allows for easy linking to certain C - functions. + The \index{power_auto@\texttt{power\_auto}}\kw{power\_auto} function shows the + use of auto conversion, which allows for easy linking to certain C functions. \end{example} \begin{example}\label{print_string_list.ex} - The \index{print_string_list@\texttt{print\_string\_list}}\texttt{print\_string\_list} - example shows how to traverse a list of strings. The technique can - easily be adopted to other data structures (e.g., to lists of lists - of strings). + The + \index{print_string_list@\texttt{print\_string\_list}}\kw{print\_string\_list} + example shows how to traverse a list of strings. The technique can easily be + adopted to other data structures (e.g., to lists of lists of strings). \end{example} \begin{example}\label{power_exn.ex} - The \index{power_exn@\texttt{power\_exn}}\texttt{power\_exn} function shows how an - exception can be raised from a C function. + The \index{power_exn@\texttt{power\_exn}}\kw{power\_exn} function shows how an + exception can be raised from a C function, as explained in + Section~\ref{C_exceptions.sec}. \end{example} \begin{example}\label{dir.ex} - The \index{dir@\texttt{dir}}\texttt{dir} function shows how a list can be - constructed backwards. We use the UNIX system calls - \texttt{opendir} and \texttt{readdir} to read the contents of the - specified directory. + The \index{dir@\texttt{dir}}\kw{dir} function shows how a list can be + constructed backwards. We use the UNIX system calls \kw{opendir} and + \kw{readdir} to read the contents of the specified directory. Notice also that we check the infinite regions for resetting at the start of the C function. The checks should be placed at the start of the function, orelse not inserted at all. - If you compare the C functions \texttt{dir} and \texttt{dirProf} you - may see how the function \texttt{dirProf} is modified to work with - profiling. + If you compare the C functions \kw{dir} and \kw{dirProf} you may see how the + function \kw{dirProf} is modified to work with profiling. \end{example} \begin{example}\label{real_list.ex} - Function \index{real_list@\texttt{real\_list}}\texttt{real\_list} constructs a list - of reals forwards. The reals are allocated in an infinite region. It - may be more convenient to construct the list backwards in the C - function and then apply a list reverse function on the result list - in the ML program. + Function \index{real_list@\texttt{real\_list}}\kw{real\_list} constructs a + list of reals forwards. The reals are allocated in an infinite region. It may + be more convenient to construct the list backwards in the C function and then + apply a list reverse function on the result list in the ML program. \end{example} \begin{example}\label{change_elem.ex} - Function \index{change_elem@\texttt{change\_elem}}\texttt{change\_elem} shows the use of - the macro \texttt{elemRecordML}. The result type is \texttt{string*int}. The + Function \index{change_elem@\texttt{change\_elem}}\kw{change\_elem} shows the + use of the macro \kw{elemRecordML}. The result type is \kw{string*int}. The function swaps the two elements in the pair. The MLKit passes an address to - pre-allocated space for the result pair, and an infinite region for the - result string. + pre-allocated space for the result pair, and an infinite region for the result + string. - At first thought it should be enough to just swap the two arguments, and - not copy the string into the string region, that is, one could write the - following function: -\begin{verbatim} + At first thought it should be enough to just swap the two arguments, and not + copy the string into the string region, that is, one could write the following + function: +\begin{scriptcode} ? uintptr_t ? change_elem(uintptr_t newPair, Region stringRho, uintptr_t pair) { ? uintptr_t firstElem_ml, secondElem_ml; @@ -7992,48 +8676,119 @@ \section{Examples\label{Cexamples.sec}} ? elemRecordML(newPair, 1) = firstElem_ml; ? return newPair; ? } -\end{verbatim} - This function may work sometimes but it is not safe! Region - inference expects the result string to be allocated in - \texttt{stringRho}, and may therefore de-allocate the region - containing the argument string, \verb|secondElem_ml|, while the - string in the returned pair is still live. The safe version of - \verb|change_elem| is found in \verb|libmylib.c|. See - Section~\ref{C_polymorphism.sec} for inspiration to how a safe - non-copying swap function can be implemented. +\end{scriptcode} + This function may work sometimes but it is not safe! Region inference expects + the result string to be allocated in \kw{stringRho}, and may therefore + de-allocate the region containing the argument string, \kw{secondElem\_ml}, + while the string in the returned pair is still live. The safe version of + \verb|change_elem| is found in \kw{libmylib.c}. See + Section~\ref{C_polymorphism.sec} for inspiration to how a safe non-copying + swap function can be implemented. \end{example} +\begin{example}\label{strrev.ex} + This example demonstrates the use of auto conversion with strings. Here is + the C code for the function \kw{strrev\_auto}, which is referred to by the ML + function + % + \index{strrev@\texttt{strrev}}% + % + \kw{strrev}: +\begin{scriptcode} + void + strrev_auto(long len, char* data) { + long n = len / 2; + for (long i = 0; i < n; i++) { + char c = data[i]; + data[i] = data[len-i-1]; + data[len-i-1] = c; + } + return; + } +\end{scriptcode} +The function reverses the string characters in-place, which is safe even when +garbage-collection is enabled. Notice that the size of the string is passed +explicitly to the C function as a separate argument. Auto conversion works both +with and without profiling and with and without reference-tracing garbage +collection. +\end{example} %--------------------------------------------------------- \chapter{Summary of Changes} %--------------------------------------------------------- +\section{Changes Since Version 4.7.2} +\index{changes!since version 4.7.2}% + +Here is an overview of the main changes to the MLKit since version 4.7.2. + +\subsubsection{Double-Ended Bit-Stealing for Uboxing} + +MLKit now uses an advanced unboxing scheme that allows many algebraic data types +to be implemented unboxed using the, otherwise non-used, 16 most-significant +bits of a pointer or the high unused bits of 8-bit word values) +\cite{10.1145/3674628}. The scheme is described in details in +Section~\ref{unboxing.sec}. + +\subsubsection{Deep-Argument Flattening} + +The MLKit optimiser now attempts to flatten arguments to functions using a +scheme that allows for deep flattening and uncurrying of arguments to functions +(also across compilation unit boundaries) \cite{deep-elsman25}. With this +scheme, if a function takes a tuple of reals and a curried argument of type real +as arguments, those arguments that are not used in their boxed form will be +passed unboxed. + +\subsubsection{Support for Threads and Parallelism} + +MLKit now supports threads and parallelism through a fork-join thread interface +\cite{10.1145/3591256}. The parallelism features are not described in details in +this report, however. + +\subsubsection{Improved Abbreviated Pretty Printing} + +Intermediate forms in the MLKit (e.g., $\MulExp$ programs) now benefit from +prettier printing. For example, primitives are now printed using qualified +syntax (e.g., \kw{String.concat}). + +\subsubsection{Explicit Programming with Regions and Effects} + +The MLKit now supports explicit programming with regions and effects. The +resulting language and compiler is called ReML and it features techniques for +expressing and verifying constraints on regions and effects +\cite{10.1145/3632921}. ReML is not described in this report. + +\subsubsection{Improved C FFI Auto Conversion} + +The MLKit now has improved support for interaction with C through an enriched +set of supported types, as documented in Section~\ref{auto_conversion.sec}. + \section{Changes Since Version 4.6.1} \index{changes!since version 4.6.1}% -This section provides an overview of the main changes to the MLKit -since version 4.6.1. +This section provides an overview of the main changes to the MLKit since version +4.6.1. \subsubsection*{Simplification of the Region Type System} -To simplify the region type system, region variables are no longer -associated with type variables and the concept of word regions has -been eliminated entirely. Instead of associating type variables with -region variables, type substitutions now map type variables to region -type and places. +To simplify the region type system, region variables are no longer associated +with type variables and the concept of word regions has been eliminated +entirely. Instead of associating type variables with region variables, type +substitutions now map type variables to region type and places. \subsubsection*{GC Safety Fixed} -A problem with garbage-collection safety was fixed and it is now -properly ensured that no dangling pointers appear during evaluation, -which is a necessary requirement for combining region inference and -reference-tracing garbage collection. Details are described in a -technical report \cite{gcsafety-revisited-tr-2022}. +A problem with garbage-collection safety was fixed and it is now properly +ensured that no dangling pointers appear during evaluation, which is a necessary +requirement for combining region inference and reference-tracing garbage +collection. Details are described in a conference paper \cite{10.1145/3591229} +and a technical report \cite{gcsafety-revisited-tr-2022}. \section{Changes Since Version 4.3.0} \index{changes!since version 4.3.0}% -This section provides an overview of the main changes to the MLKit -since version 4.3.0. +% +This section provides an overview of the main changes to the MLKit since version +4.3.0. \subsubsection*{X64 Backend} The @@ -8044,12 +8799,11 @@ \subsubsection*{X64 Backend} % \index{backend!x64}% % -x64 native backend, which uses the GNU assembler to create native -machine code on x86 machines. The new backend also features -intra-procedural register allocation for floating-point values. The -MLKit now also features \texttt{Int64.int} as the default integer and -\texttt{Word64.word} as the default word type (\texttt{Int63.int} and -\texttt{Word63.word} when garbage collection is enabled). +x64 native backend, which uses the GNU assembler to create native machine code +on x86 machines. The new backend also features intra-procedural register +allocation for floating-point values. The MLKit now also features \kw{Int64.int} +as the default integer and \kw{Word64.word} as the default word type +(\kw{Int63.int} and \kw{Word63.word} when garbage collection is enabled). \subsubsection*{Hosted at Github} % @@ -8064,21 +8818,19 @@ \subsubsection*{Hosted at Github} \index{bug report}% \index{Github!issue}% % -Bug reports should be filed by submitting a Github issue. Features and -bug fixes can be submitted via Github pull requests. Comprehensive -tests are executed using Github actions. +Bug reports should be filed by submitting a Github issue. Features and bug fixes +can be submitted via Github pull requests. Comprehensive tests are executed +using Github actions. \subsubsection*{JavaScript Backend (SMLtoJs)} \index{JavaScript!SMLtoJs}% -SMLtoJs is a standalone version of the MLKit that compiles to -JavaScript and makes use of MLKit's frontend and compilation -infrastructure (e.g., recompilation management). It supports large -parts of the Standard ML Basis Library. SMLtoJs does not make use of -region-based memory management. SMLtoJs has been used for hosting a -Standard ML compiler in a web browser -\cite{10.1145/2093328.2093336}. To try Standard ML in a browser, visit -the site +SMLtoJs is a stand-alone version of the MLKit that compiles to JavaScript and +makes use of MLKit's front-end and compilation infrastructure (e.g., +recompilation management). It supports large parts of the Standard ML Basis +Library. SMLtoJs does not make use of region-based memory management. SMLtoJs +has been used for hosting a Standard ML compiler in a web browser +\cite{10.1145/2093328.2093336}. To try Standard ML in a browser, visit the site \begin{quote} \url{https://diku-dk.github.io/sml-ide/} @@ -8087,133 +8839,141 @@ \subsubsection*{JavaScript Backend (SMLtoJs)} \subsubsection*{Generational Garbage Collection} \index{garbage collection!generational}% -The non-generational pointer-tracing garbage collection technique has -been augmented with a generational version (option \texttt{-gengc}), -which in some cases is superior to ordinary reference-tracing garbage -collection, but which may also cause additional fragmentation -\cite{elshaljfp21}. +The non-generational pointer-tracing garbage collection technique has been +augmented with a generational version (option \kw{-gengc}), which in some cases +is superior to ordinary reference-tracing garbage collection, but which may also +cause additional fragmentation \cite{elshaljfp21}. \subsubsection*{Improved Basis Library Coverage} -The Standard ML Basis library coverage has been extended to support -also the \texttt{Unix} structure, socket programming through the +The Standard ML Basis library coverage has been extended to support also the +\kw{Unix} structure, socket programming through the % \index{socket!programming}% % -\texttt{Socket} structure, the \texttt{NetHostDb} structure, and the -\texttt{INetSock} structure. With the move to the x64 architecture, -the MLKit now also supports the structures \texttt{Word63}, -\texttt{Word64}, \texttt{Int63}, and \texttt{Int64}. +\kw{Socket} structure, the \kw{NetHostDb} structure, and the \kw{INetSock} +structure. With the move to the x64 architecture, the MLKit now also supports +the structures \kw{Word63}, \kw{Word64}, \kw{Int63}, and \kw{Int64}. \section{Changes Since Version 4} \index{changes!since version 4}% -This section provides an overview of the main changes to the MLKit -since version 4, but before version 4.3.0. +% +This section provides an overview of the main changes to the MLKit since version +4, but before version 4.3.0. \subsubsection*{Support for Compiling ML Basis Files} \index{ML Basis Files}% -ML Basis Files allows for expressing source dependencies, exactly (as -a directed acyclic graph). ML Basis Files thus provides a mechanism -for programming ``in the very large''. +% +ML Basis Files allows for expressing source dependencies, exactly (as a directed +acyclic graph). ML Basis Files thus provides a mechanism for programming ``in +the very large''. \subsubsection*{File-based Separate Compilation} \index{separate compilation}% -The MLKit now supports file-based separate compilation, based on -dependencies established from ML Basis Files. The compiler serializes -symbol table information to disk for each compilation unit, so that -this information can be deserialized and used when compiling other -compilation units. +% +The MLKit now supports file-based separate compilation, based on dependencies +established from ML Basis Files. The compiler serialises symbol table +information to disk for each compilation unit, so that this information can be +deserialised and used when compiling other compilation units. \subsubsection*{Updated Standard ML Basis Library} \index{Standard ML!{Basis Library}}% \index{Basis Library}% +% The MLKit implementation of the Standard ML Basis Library now conforms to the - specification published in \cite{basislib2004}. +specification published in \cite{basislib2004}. \subsubsection*{Untagged Pairs, Triples and References} \index{untagging}% \index{tagging}% \index{garbage collection}% \index{value representation}% -The MLKit now support untagged representations of heap-allocated -pairs, triples, and Standard ML references, even when garbage -collection is enabled. +% +The MLKit now support untagged representations of heap-allocated pairs, triples, +and Standard ML references, even when garbage collection is enabled. \section{Changes Since Version 3} \index{changes!since version 3}% -This section provides an overview of the main changes to the MLKit -since version 3, but before version 4. +% +This section provides an overview of the main changes to the MLKit since version +3, but before version 4. \subsubsection*{Garbage Collection} \index{garbage collection}% -The MLKit supports reference tracing garbage collection in -combination with the region memory model. Garbage collection is -supported only in the native backend version of the MLKit. To enable -garbage collection, pass the option \texttt{-gc} to the MLKit compiler. Garbage -collection is also possible with region profiling enabled. See -Chapter~\ref{gc.chap} for more information about garbage collection +% +The MLKit supports reference tracing garbage collection in combination with the +region memory model. Garbage collection is supported only in the native backend +version of the MLKit. To enable garbage collection, pass the option \kw{-gc} to +the MLKit compiler. Garbage collection is also possible with region profiling +enabled. See Chapter~\ref{gc.chap} for more information about garbage collection with the MLKit. \subsubsection*{X86 Backend} The +% \index{backend!hppa}% -HPPA backend of the MLKit version 3.0 and earlier has been replaced -with an +% +HPPA backend of the MLKit version 3.0 and earlier has been replaced with an +% \index{backend!x86}% -x86 native backend, which uses the GNU assembler to create native -machine code on x86 machines. +% +x86 native backend, which uses the GNU assembler to create native machine code +on x86 machines. \subsubsection*{Bytecode Backend} \index{backend!bytecode}% -For portability, the MLKit now provides a bytecode backend and a -bytecode interpreter. Which backend is used by the MLKit compiler is -determined when the MLKit itself is compiled, but it is possible to have -both a native version and a bytecode version of the MLKit compiler -installed on the same system. +% +For portability, the MLKit now provides a bytecode backend and a bytecode +interpreter. Which backend is used by the MLKit compiler is determined when the +MLKit itself is compiled, but it is possible to have both a native version and a +bytecode version of the MLKit compiler installed on the same system. \subsubsection*{Unboxing of Function Arguments} \index{arguments!multiple}% \index{multiple function arguments}% \index{function arguments!multiple}% -By default, the MLKit performs a simple local unboxing analysis to -figure out if a function taking a tuple as argument can be transformed -into a function taking multiple arguments. Only functions that use -only the individual elements of the argument tuple undergo -transformation. The optimisation can be disabled by passing the option -\texttt{-no\_unbox\_function\_arguments} to the MLKit compiler. +% +By default, the MLKit performs a simple local unboxing analysis to figure out if +a function taking a tuple as argument can be transformed into a function taking +multiple arguments. Only functions that use only the individual elements of the +argument tuple undergo transformation. The optimisation can be disabled by +passing the option \kw{-no\_unbox\_function\_arguments} to the MLKit compiler. \subsubsection*{Removal of Region Vectors} \index{region vector!removed}% -In the MLKit version 3.0 and earlier, actual region parameters were -passed to a region polymorphic function in a {\em region vector}, -which itself was allocated in a region. In version 4.0, actual region -parameters to +% +In the MLKit version 3.0 and earlier, actual region parameters were passed to a +region polymorphic function in a {\em region vector}, which itself was allocated +in a region. In version 4.0, actual region parameters to +% \index{function!region polymorphic}% -region polymorphic functions are passed in registers and on the stack. -This simplification improves pretty printing of region annotated terms -and on what function calls turn into tail calls (see -Section~\ref{simplejump.sec}). +% +region polymorphic functions are passed in registers and on the stack. This +simplification improves pretty printing of region annotated terms and on what +function calls turn into tail calls (see Section~\ref{simplejump.sec}). \section{Changes Since Version 2} \index{changes!since version 2}% -This section provides an overview of the main changes to the MLKit -since version 2.0 but before version 3.0 of the MLKit. +% +This section provides an overview of the main changes to the MLKit since version +2.0 but before version 3.0 of the MLKit. \subsubsection*{Modules and Separate Compilation} -The most important development since Version 2 is the ability to -compile Modules and the discipline of separate compilation. A -distinguished feature of the way modules are compiled is that module -constructs do not give rise to any code, so there is no runtime -overhead in using modules \cite{ElsmanICFP99,ElsmanThesis}. See -Chapter~\ref{mlb_and_modules.chap}. +The most important development since Version 2 is the ability to compile Modules +and the discipline of separate compilation. A distinguished feature of the way +modules are compiled is that module constructs do not give rise to any code, so +there is no runtime overhead in using modules +\cite{ElsmanICFP99,ElsmanThesis}. See Chapter~\ref{mlb_and_modules.chap}. \subsubsection*{Standard ML Basis Library} -The MLKit support a large portion of the \index{Standard ML - Basis Library} Standard ML Basis Library, based on the Moscow ML -version of the library. To see exactly what parts of the Standard ML -Basis Library are supported, consult the MLB-file {\tt - basis.mlb} located in the directory {\tt basis}. +The MLKit support a large portion of the +% +\index{Standard ML Basis Library}% +% +Standard ML Basis Library, based on the Moscow ML version of the library. To see +exactly what parts of the Standard ML Basis Library are supported, consult the +MLB-file \kw{basis.mlb} located in the directory \kw{basis}. \subsubsection*{Scalability} The MLKit now compiles fairly large programs, including Hafnium's AnnoDomini @@ -8221,28 +8981,28 @@ \subsubsection*{Scalability} \subsubsection*{New Match Compiler} The pattern compiler has been rewritten, based on Sestoft's -method~\cite{sestoft96}, which is also the basis of the Moscow ML -match compiler. +method~\cite{sestoft96}, which is also the basis of the Moscow ML match +compiler. \subsubsection*{New StatObject Module} The MLKit contains a module, +% \index{StatObject}% -{\tt StatObject}, which implements the semantic objects of the static -semantics of the Core. Originally, this was a very clean and very -inefficient implementation of the Defininion. In version 2 of the MLKit, -{\tt StatObject} was replaced by an imperative and efficient, but -complicated module. In version 3, {\tt StatObject} uses a clean, -efficient and imperative implementation of {\tt StatObject}. This is -particularly useful for those who want to reuse the front-end of the -MLKit for other purposes. +% +\kw{StatObject}, which implements the semantic objects of the static semantics +of the Core. Originally, this was a very clean and very inefficient +implementation of the Definition. In version 2 of the MLKit, \kw{StatObject} was +replaced by an imperative and efficient, but complicated module. In version 3, +\kw{StatObject} uses a clean, efficient and imperative implementation of +\kw{StatObject}. This is particularly useful for those who want to reuse the +front-end of the MLKit for other purposes. \subsubsection*{Unboxed Representation of Lists} -\index{list} List constructors are now represented unboxed, that is, -the least significant bits of a list value is used to distinguish -between \boxml{nil} and a pointer to a pair (\boxml{::}) holding the -head and the tail of the list. Thus, a list takes up only one region -(for the auxiliary pairs) plus any regions for the elements of the -list. Consult Chapter~\ref{lists.sec} for details. +\index{list} List constructors are now represented unboxed, that is, the least +significant bits of a list value is used to distinguish between \kw{nil} and a +pointer to a pair (\kw{::}) holding the head and the tail of the list. Thus, a +list takes up only one region (for the auxiliary pairs) plus any regions for the +elements of the list. Consult Chapter~\ref{lists.sec} for details. \nocite{total97,total94,btv96,elshal95,KochHojfeld96,H96,hallenberg99,brtt93,hosc-regions2004} @@ -8256,14 +9016,18 @@ \chapter{Command-Line Options} \label{mlkithelp.app} %--------------------------------------------------------- This appendix shows the output of executing +% \index{help@\texttt{-help} option to \texttt{mlkit}}% -\boxml{mlkit -help}, where \boxml{mlkit} is the version of the MLKit -compiler that uses the +% +\kw{mlkit -help}, where \kw{mlkit} is the version of the MLKit compiler that +uses the +% \index{backend!x64}% +% x64 native backend. -\begin{verbatim} -MLKit v4.7.2 ( - ) [X64 Backend] +\begin{scriptcode} +MLKit v4.7.16 ( - ) [X64 Backend] Usage: mlkit [OPTION]... [file.sml | file.sig | file.mlb] @@ -8289,26 +9053,25 @@ \chapter{Command-Line Options} system will try to link to a runtime system found in the specified install directory. ---aggresive_opt, -aopt (on) - Enable aggressive optimisations, including constant - folding and aggressive inlining. These - optimisations are not guaranteed to be region - safe. Turning off garbage collection automatically +--aggressive_opt, -aopt (on) + Enable aggressive optimisations, including aggressive + inlining. These optimisations are not guaranteed to be + region safe. Turning off garbage collection automatically turns off this option. +--alloc_protect_always (off) + Always protect allocation when parallelism is enabled. That + is, disregard the result of protection inference. + +--argobots, -argo (off) + When enabled, executables link with the Argobots + lightweight thread library. + --assembler S, -as S (as -q) This option specifies the assembler used. On Linux the default is 'as --64'. On macOS, the default is 'as -q'. ---c_compiler S, -cc S (gcc -Wl,-no_pie,-stack_size,0x10000000,-stack_addr,0xc0000000) - This option specifies which C compiler is - used for linking. When linking with c++ - libraries, 'g++' is the linker you want. - On Linux the default is 'gcc -no-pie', - whereas on macOS, the default is - 'gcc -Wl,-no_pie,-stack_size,0x10000000,-stack_addr,0xc0000000'. - --chat, -verbose (off) Print a message for each compilation step in the compiler. @@ -8321,6 +9084,9 @@ \chapter{Command-Line Options} --compiler_timings, -timings (off) Show compiler timings for each compilation phase. +--constant_folding, -cfold (on) + Enable constant folding optimisations. + --contract (on) Contract is responsible for inlining, specialization, elimination of dead code, and much else (Lambda @@ -8358,6 +9124,9 @@ \chapter{Command-Line Options} --debug_compiler, -debug (off) Print intermediate forms of a program during compilation. +--debug_constraint_solving, -dcs (off) + Debug ReML constraint solving. + --debug_linking (off) Debug linking of target code by showing which object files are linked together. @@ -8369,6 +9138,9 @@ \chapter{Command-Line Options} modified, or (b) information about an identifier for which the program unit depends upon has changed. +--debug_parallelism, -Dpar (off) + Debug parallelism, including protection inference. + --debug_which_at (off) Debug storage mode analysis. @@ -8385,6 +9157,12 @@ \chapter{Command-Line Options} Disable optimised compilation of control-flow code, such as conditional expressions. +--disable_spurious_type_variables (off) + Disable inference of spurious type variables. This option + may crash the reference tracing garbage collector as it may + result in dangling pointers. This flag is relevant only when + garbage collection is enabled. + --eliminate_explicit_records (on) Eliminate bindings of explicit records only used for selections. Transform @@ -8393,13 +9171,14 @@ \chapter{Command-Line Options} let x1=e1 in ... let xn=en in ... xi .. xj ... (Lambda Expression Optimiser). ---explicit_regions, -er (off) - Support programming with explicit regions. +--extra_gc_checks (off) + Insert check for GC even in functions that do not + allocate. ---export_basis_js, -ebjs (off) - When this flag is enabled, SmlToJs writes - pickled bases to file.eb.js files to be read by - js-client. +--fix_floating (on) + Float fix-bindings into immediate let-bindings when + possible to help tail-calls not be captured in let- + region bindings. --garbage_collection, -gc (on) Enable garbage collection. When enabled, regions are @@ -8426,6 +9205,10 @@ \chapter{Command-Line Options} garbage collection except that two generations are used for each region. +--high_pointer_tagging (on) + When enabled, the 16 most-significant bits in pointers + may be used for tagging. + --import_basislib, -basislib (on) Import Basis Library automatically in your projects. If you wish to make use of the Standard ML Basis Library @@ -8433,6 +9216,14 @@ \chapter{Command-Line Options} you wish to import the Basis Library manually in your projects. +--inline_functors (off) + Inline functors during static interpretation instead of + generating separate target code blocks for functor bodies + and arguments. With the flag enabled, performance may + increase with the cost of larger (re)compilation times. + The flag may be controlled in mlb-files using mlb- + annotations. + --inline_names S Names of functions that should always be inlined if possible, no matter the setting of the flag @@ -8459,10 +9250,25 @@ \chapter{Command-Line Options} archives. The libraries are passed to 'ld' using the -l option. ---link_code S, -link S +--link_code S Link-files to be linked together to form an executable. +--link_exe S, -ldexe S (gcc -Wl,-ld_classic,-stack_size,0x10000000) + This option specifies the command used for linking + an executable. The standard is to use 'gcc' for + linking. When linking with c++ libraries, 'g++' is + the linker you want. On Linux the default is 'gcc', + whereas on newer macOS systems (Darwin > 23.1), the default + is 'gcc -Wl,-ld_classic,-stack_size,0x10000000' and on + older macOS systems, the default is + 'gcc -Wl,-stack_size,0x10000000'. + +--link_shared S, -ldshared S (gcc) + This option specifies the command used for linking + a shared object file. The standard is to use 'gcc' for + linking. + --link_time_dead_code_elimination, -ltdce (on) Link time dead code elimination. @@ -8473,21 +9279,33 @@ \chapter{Command-Line Options} --log_to_file (off) Log to files instead of stdout. ---maximum_inline_size N (70) +--maximum_inline_size N, -max_inl_sz N (200) Functions smaller than this size (counted in abstract syntax tree nodes) are inlined, even if they are used more than once. Functions that are used only once are - always inlined. - ---maximum_specialise_size N (200) - Curried functions smaller than this size (counted in - abstract syntax tree nodes) are specialised if all - applications of the function within its own body are - applied to its formal argument, even if they are used + always inlined. A function declared in one program unit + may be inlined when applied in another program unit + provided the function is sufficiently closed (refers only + to exported identifiers) and provided the option + --cross_opt is enabled. + +--maximum_specialise_size N, -max_spec_sz N (200) + Function-parameterised functions smaller than this size + (counted in abstract syntax tree nodes) are specialised if + all applications of the function within its own body are + applied to its formal function argument, even if they are used more than once. Functions that are used only once are - specialised no matter their size. See also the option + specialised no matter their size. A function declared in + one program unit may be specialised when applied in + another program unit provided the function is sufficiently + closed (refers only to exported identifiers) and provided + the option --cross_opt is enabled. See also the option --specialize_recursive_functions. +--messages (on) + Print messages about reading source files and generating + target files. + --minimize_fixs (on) Minimize fix constructs (Lambda Expression Optimiser). @@ -8506,8 +9324,11 @@ \chapter{Command-Line Options} Name base to enforce unique names when compiling mlb-files. ---no_aggresive_opt, -no_aopt - Opposite of --aggresive_opt, -aopt. +--no_aggressive_opt, -no_aopt + Opposite of --aggressive_opt, -aopt. + +--no_constant_folding, -no_cfold + Opposite of --constant_folding, -cfold. --no_contract Opposite of --contract. @@ -8524,18 +9345,27 @@ \chapter{Command-Line Options} --no_eliminate_explicit_records Opposite of --eliminate_explicit_records. +--no_fix_floating + Opposite of --fix_floating. + --no_garbage_collection, -no_gc Opposite of --garbage_collection, -gc. --no_generational_garbage_collection, -no_gengc Opposite of --generational_garbage_collection, -gengc. +--no_high_pointer_tagging + Opposite of --high_pointer_tagging. + --no_import_basislib, -no_basislib Opposite of --import_basislib, -basislib. --no_link_time_dead_code_elimination, -no_ltdce Opposite of --link_time_dead_code_elimination, -ltdce. +--no_messages + Opposite of --messages. + --no_minimize_fixs Opposite of --minimize_fixs. @@ -8545,6 +9375,9 @@ \chapter{Command-Line Options} --no_preserve_tail_calls, -no_ptc Opposite of --preserve_tail_calls, -ptc. +--no_print_control_abbrev_layout, -no_abbrev + Opposite of --print_control_abbrev_layout, -abbrev. + --no_print_regions, -no_Pregions Opposite of --print_regions, -Pregions. @@ -8566,8 +9399,11 @@ \chapter{Command-Line Options} --no_type_check_lambda Opposite of --type_check_lambda. ---no_unbox_function_arguments - Opposite of --unbox_function_arguments. +--no_unbox_funargs + Opposite of --unbox_funargs. + +--no_unbox_real_funargs + Opposite of --unbox_real_funargs. --no_unbox_reals Opposite of --unbox_reals. @@ -8575,6 +9411,13 @@ \chapter{Command-Line Options} --no_uncurrying, -no_uncurry Opposite of --uncurrying, -uncurry. +--objs (off) + If enabled, MLKit writes object-file paths to the file + run or the file specified by -output. The path + to the runtime system (archive file) is included. The + option is best used together with the option + -no_delete_target_files. + --optimiser, -opt (on) Enable optimisation of intermediate language code (Lambda Expressions). Which optimisations are performed @@ -8604,6 +9447,16 @@ \chapter{Command-Line Options} tail calls. Turning on garbage collection automatically turns on this option. +--pretty_depth N (5) + This flag controls the pretty-printing depth of + values printed in the REPL. The value must be an + integer larger than zero. + +--pretty_string_size N (80) + This flag controls the pretty-printing size of + strings printed in the REPL. The value must be an + integer larger than zero. + --print_K_normal_forms (off) Print Region Expressions in K-Normal Form. Applicable, only after storage mode analysis has been applied. @@ -8625,13 +9478,33 @@ \chapter{Command-Line Options} --print_closed_export_bases, -Pceb (off) Controls printing of closed export bases. +--print_constraints (off) + Print ReML effect constraints when printing region and + effect variables. + +--print_control_abbrev_layout, -abbrev (on) + Abbreviate layout of multiplicity expressions and call- + explicit expressions. For instance, do not show at- + annotations for top-level functions, do not show at- + annotations for immediate constants, do not show region- + bindings for zero-size regions that are associated only + with immediate constants, do not show empty formal and + actual region parameter lists, do not show 'funcall' and + 'fncall' annotations, do not show 'id' casts on base values, + do not show unique id for explicit region variables or + explicit effect variables. + +--print_control_prefix_infix (off) + Prefix infix operations with module identifier to further + indicate the type of the operation. + --print_drop_regions_expression, -Pdre (off) Print Region Expression after dropping word regions and - regions arguments with only get-effects. + region arguments with only get-effects. --print_drop_regions_expression_with_storage_modes, -Pdresm (off) Print Region Expression after dropping word regions and - regions arguments with only get-effects. Also print + region arguments with only get-effects. Also print atbot and attop annotations resulting from storage mode analysis. @@ -8672,6 +9545,9 @@ \chapter{Command-Line Options} and generate a .vcg-file, which can be viewed using the xvcg program. +--print_region_inferred_program, -Prip (off) + Print region-inferred program. + --print_region_spreaded_program, -Prsp (off) Print region-spreaded program. @@ -8689,6 +9565,9 @@ \chapter{Command-Line Options} intermediate forms. Levels control quantification of region and effect variables. +--print_rho_protection, -Prho_protection (off) + Print protectedness of region variables if set (P or U). + --print_rho_types (off) Print region types of region variables in types and intermediate forms. Possible region types are: @@ -8764,6 +9643,18 @@ \chapter{Command-Line Options} enabled, programs run somewhat slower--but they run and you save about 15 percent on compile time. +--reml (off) + ReML is Standard ML with support for programming with + explicit regions, explicit effects, and effect + constraints. With ReML, atomic effects also include + mutation effects. Whereas ReML includes parallel + thread support, currently, ReML does not support + integration with reference-tracing garbage collection. + +--report_boxities (off) + Report for every datatype declaration the inferred boxity + (representation) of its value constructors. + --report_file_sig, -sig (off) Report signatures for each file read. @@ -8783,14 +9674,19 @@ \chapter{Command-Line Options} maximum_specialise_size to control which functions are specialised. If this flag is on, functions that are applied only once are specialised, no matter the setting - of maximum_specialise_size (Lambda Expression Optimiser). + of --maximum_specialise_size (Lambda Expression Optimiser). ---statistics_after_optimisation (off) +--statistics_after_optimisation, -stats_opt (off) Report optimisation statistics after optimisation of Lambda Expression. +--statistics_spurious, -stats_spurious (off) + Report statistics on spurious functions and instantiations + of spurious type variable. This flag is relevant only when + garbage collection is enabled. + --strip (off) - If enabled, the Kit strips the generated executable. + If enabled, MLKit strips the generated executable. --tag_pairs (off) Use a tagged representation of pairs for garbage @@ -8810,12 +9706,19 @@ \chapter{Command-Line Options} intermediate forms is very powerful for eliminating bugs in the compiler. ---unbox_function_arguments (on) +--unbox_funargs (on) Unbox arguments to fix-bound functions, for which the - argument `a' is used only in contexts `#i a'. All call + argument 'a' is used only in contexts '#i a'. All call sites are transformed to match the new function (Lambda Expression Optimiser). +--unbox_real_funargs (on) + Unbox arguments of type real to fix-bound functions, for which + the argument 'a' is used only in contexts that unboxes 'a'. All + call sites are transformed to match the new function. This + optimisation has effect only when the flags '-unbox_funargs' and + '-unbox_reals' are enabled (Lambda Expression Optimiser). + --unbox_reals (on) Unbox real values and computations on real values inside functions. Real values stored in data structures and @@ -8842,9 +9745,13 @@ \chapter{Command-Line Options} par-construct is passed functions with intersecting put effects. +--warn_spurious (off) + Warn on the presence of a spurious type variable. This + flag is relevant only when garbage collection is enabled. + --width N, -w N (100) Column width used when pretty printing intermediate code. -\end{verbatim} +\end{scriptcode} \newpage \index{live variable analysis|see{variable}} @@ -8865,14 +9772,14 @@ \chapter{Command-Line Options} \hrule \halign{\parbox[t]{15mm}{#}\hfil\ &\ \parbox[t]{13cm}{\strut#\strut}\cr -\boxml{r1}&Holds values of type {\tt top}, that is, records, exceptions, and closures.\cr +\boxml{r1}&Holds values of type {\tt top}, including records, exceptions, reals, and closures.\cr \boxml{r2}&Holds values of type {\tt bot}. Because no values has type {\tt bot}, this region contains no values. Region variables with region type {\tt bot} are used with so-called explicit regions, which are not covered in this report.\cr \boxml{r3}&Holds values of type {\tt string}.\cr \boxml{r4}&Holds values of type $\tau_1 \times \tau_2$, for any types $\tau_1$ and $\tau_2$.\cr -\boxml{r5}&Holds values of type $\tau~\texttt{array}$ and $\tau~\texttt{vector}$, for any type $\tau$.\cr -\boxml{r6}&Holds values of type $\tau~\texttt{ref}$, for any type $\tau$.\cr +\boxml{r5}&Holds values of type $\tau~\kw{array}$ and $\tau~\kw{vector}$, for any type $\tau$.\cr +\boxml{r6}&Holds values of type $\tau~\kw{ref}$, for any type $\tau$.\cr \boxml{r7}&Holds values of $\tau_1 \times \tau_2 \times \tau_3$, for any types $\tau_1$, $\tau_2$, and $\tau_3$.\cr } \hrule diff --git a/doc/manual/msortregion.pdf b/doc/manual/msortregion.pdf index 133b7831742d072add07d916fda65f833d3d95f9..ae438dd86bcbae1503540e301e09c79dac383cc9 100644 GIT binary patch literal 53727 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 U{pnCaetuzod>~LkQxX6F0|5v55C8xG delta 13010 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 diff --git a/doc/manual/msortreset2.pdf b/doc/manual/msortreset2.pdf index d328645ef427c931131ac79a6f61ce8cde71ee0d..5dc1e1aa244601012c3f9e8e5067da334ebf8ae9 100644 GIT binary patch delta 8700 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 O4uXHfL)%z~@_zvd9JSE^ delta 6274 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 diff --git a/doc/manual/msortstack.pdf b/doc/manual/msortstack.pdf index 1f628373a76981148f3d4b58fbfb2a6d0d8ece7b..0e7270ae2100ce98ea948873dbf29b283d8ade46 100644 GIT binary patch delta 12816 zcma)jWmFu|wq|$ZPN0DV4^HFm&>=J~4K(hS;O^E<0tuer5+EI1L+}6r0t5>#!GZ*W zySohczIWfexo_5*sa31$>~DYj+q-I=AE#>VbH%;lj%0-^DDnvK3gff(?7YjxXJu7! z^>wqc@^)}@m1K0c^0w!D>BYzc=V9cr)qSQ2(|Nc*cXN4gI9NM4J9r1E+xgl#%RC4$ z@_76wPg4v2Oivf~z?6T6c&^OI_j9h~iCITIZoGbKUYEJxe}rAcY!O%w#$5#f9cF|?)`3#e>2D}Z&xz(Y_|p1 z`hV;2ps&o@sLb4~{MdSZajWD?1$;_Z=|AG%adCKc_m_|1lf|yc9rAGZUFBlv<;4f2 zb0w*T#T|6u1b|jK!d$C)dgtWi%{<0r=dvVRj&~`1p zu1ZB)s4ML`TkNqv4%U=3(zV+KpYyW#Y z;I&J?FPGICBl?WMdyrvwnBnT&5qy3$Xnb%*@X z%#?uqmfyjZHQ$CM-ekUyGA`6E) z#E&}a(5zotX90*@T%rT>N>)GBV*YmRe(Y&S{mG7joN{9hL0z&Lk}N>B`FqK6z1gbc zbBvO`%HNBhkNi>k+oczec103ZPl&$;#Kb9XuxbuqJ!26YyZ-sr&q^h6t9glTwq5RL zpQu)UilS-=`?tf=jgBS84ew#4 zWs0{fBNIo;<%UCtnPF>&e9X*^tt8S68hmjhXO8I=3R>ijbt>ze@wM}Z#9<`z`L~LT zU9+PTih;|1Wp^T*lH!Whz5?BE4A2A?!bp~#ok(FxS%I||%v8JSj~z&ow^D@^1EDfk zDIeL7o=suxA*Vjcj2x_eIyyG>RyZK@UN=w=E1Yl9%jL1$hrVJiRIum@n(SRvA;L*r zC_VI3HiS86l^y!Hki;5kodzo#f->Qd@n_}Ug_&}Zbt8Cu;|9?duCl{*So*`R z)>|2i>Bz%SVlKQA(fOvTrryv(>g*D)z+Fl{@|y^^1$$8+hSlyx&Tk<%PWAGtl^4wo zvtKaWSC7A#%~_O<1~N3kZ&J3aiAEZBRIasQ@I~kH;S<)Y2rWrOgQd8ce z1yB+4dlDwHwJ<1w_Z?)9_-^P)cJUt*vr>+pL1ZN}^x$1X6DV7dPx68!d(7D3l$T6b zqYG?t!6Xp4X=T^${tKh6qe5A|?$5`4CJ9N6DVQgiAZh4C6-Oq=+%ML&Fi&?tSRO~& zFD;g3Hf&m*^BDJIx_I2kF`W-Rr?kpAu8~M-{^ogS`aVyk zBPLDObCzu_h&$XQjS!=MHCeX6yiUR@CxdyUYT) z)R~DtxLGg>*gZr{8;?>I&}HNA>bRLF*uHyVP|d<@g6_b1B*a58TkkTPA5mZNb2M~| zYxh+#eg?w3^u$g?vm3WU;Y@9yskB6XtwQ5-gGxcDpXb;wam`z<2=&3O#nS4>Bjd_J zYD}U|d zh}skg$7r@mny_6|YZ(Z&)$&|YJLdcO6JnK!LGUx?WP3HP(R)->&tTj6COcRhNfmC9 zT&H&`t8DE;@k>edhAtCvoM1Tc#ipR1mZ2_YQu?~m);CXmZ)EtmeQV*`y|IkzCfd*R zgJE^6e+M>;r!J122zFz0Xns#+Vay+mvt09;ItsjmPs(e$aZ zq#wNgY-$K*xYQT*;9idSP(RgvsTs z3XEmZZZns&uJ6A;wsMslcGtlHV~7}+qZ*vpN-T#YRQTx~+$uprbd<)r$hH`9mcpX9 zb?_luHM#{R=9HwtaLa;pA(esfo~0J0djXZ6db~!hK?D_7SC)!LX`qctnh=*}2#zdH z##}-)L5*d9gp2k*joqaD;C>I8S#r$BH$Lw-o$1lHB}?x@^E#>ofAPI!Xe9mhgyy5q zduq$5j}bO(3wOg2znTp48jz z@5u_By$LdqJRGM%cxoZ=dVL1zD9q%U(<0oj)apn@rboq~c{Wsq4bHaePVR9Uv2*tQ z=CYp?X?9Vmg%+d4{4c}BXx>sM2?+?6h0nmi@JHePe?Y4jOUIWpjHtxVX%tJ-+IsU4`cB5PMS*T zXGn02B5$(+RTou1*1qUSuN|bOlHQ5sbn$xTTW^f(c%b>oK$6Zh95YNM*cL;So8d{V6Y8295l&cmRn`~ zxPO%R$^A>^rLvI~!?*+%l+^FRyJ7Eysq~WXdDt% z#N(OfuCX%*1&kJ|UZ<#(n3~V0`eP;u+$JzP#7b)@?g*{3b0ZT&wptF!YGR73F}Z1X z`-j*$X?J3V7$6A>X$|?R`FM5fyMAn=BD)10vufuq$k#t)7fu#d95PIoy%efNGfb`P zbf=?qm=j@0E4zZ6VAdB+m+a%!?c989~g8e9Zf2`Uj-7mSvosfN8)RK{bj_B zGi8gOo@6!y53FtN4~@18U92wqTl^ZFxG)fz5#1d(%_Oit$<~=()@9HBY`C?gUe{`x z!ri*eTwKuISwYN6M(yxI@059zV#51e^%~L1XjbeVsfBC^vRGAB>bLf~F;5}f*upX_ zDbn>0>7I5PW8XO*S2m^KgA)X4Kq{Lsoi_Q~=U5H<`>a9b2mT&1CZ+OhqM3lCI%R_^kgah7w-RkE4{`OIwJew>iOc!n7?i+Xd5 zJ@MF-8p*q<^JZb;$8)*c^;PLTUarbc3EJC9DwScISx2xrjaF%9WI8Q>&YdHC5g;JP2n7mPAJVxn@CHk-&Y^OZd3 zy+RHp*0Lp5K=LljC&8xpVHG2@6shkL^nJf`oBAF4+;E=4AHV!oA5o_PnK}m<#8g*?W*p$<>_M<63buAxS^rKU8|hfTBf<> zT0cB%C!{W}=jPso%mjNWG$cM$fdLO9o{KSoN)1&{UB>oz4v%WQ1Oycf}+lCwG`g@u&b{yA2M1y&=)`o+b z<;&0DY~Sfidge5`CfTu0>viFdF&!oRcPssfir9(H^3W%r;wl~G6{kmtLc>|21F(^T zWZB_q3CrdDPnIlaMdC&%Wj@e2WQl1DhQ*HHeZ=Vv{fO+edLte8#Y8#|w`i4wVd>O> zKKO#yb!DmfYr@<8qXRSgR)U4CrRM2C+2FMQ1Y(j(NfxnmwjVg1R|jT=|04Ex`W-Sq zc$znsnt%L*i+qTF0K?)A56n)89>&5Cf;-C6!BqE!4?M4%f5<-&0xoz-7FX|sTKn5P z*)#6Hhz*{+W|&$;+A*E?wOYIn8Fi)fwYUj+z4M{ht=5HaVPC&3`<$qaE_!vMyvI>4 z(68rs4VSOyMiacVysVf%ptD})*{3j-jr2Ex{i#TwQ`n6AYQ}oRQstM>8gpwVva@Al zAmHa{ucy~6*{mDTZ2V0-yT-Rg_j_~V0>x$Nj^ArbG3vdY=&qBmLR$LdYm);;>Yt>% z97IY)%bdgpeE+(L9qh$^pND@FV0#&KJj7x)I5}9|QWGL}>@WJ!?>MmP`+n>R&2wa^ zz?t7$OF!y8+L-yv^lwR0=XO3GzG53gdQBchzG+Tg{k~H!KKpy7-+yV$nf1-j&zX(Q zyUd&Yp1++pTbYk*^{O-Q3-+7wYY6qb-S5B%!nGn2+W8dO?A}E`X4pv|WWT~2>`87t z)4?B9yymo&C9@(F5pgy$N^d?Z4|hVQJCfM#E`63^@g)~A!Eo|xZxDet;2fSo7wHM- zFx~_yd&Ee5w(67d4xpN!1EHPXpYXnK!ZDdb?U;@DlI(nLUzCAwTz85LA?aL<*gAK=BRgD70tGGq5pDd!$~ei=WyWNq;XB8wFqx0+GqbkS zYMo=TPh}a(*=SV5-o?ukDe+G8H}=%^+bp}rOw$UR&+kh`%(^tWsPxSj?$!@1q~81{ z4|gK-&=A^->Xk8SWEVcqUpKS%*2ryj)52X`iA^g%(pU)4&{!;} zbkmtLp$^taSu7Y&i@nZCUL;4J`}N(@fWFIuUd0%EvZ0&6zOSB>v}5>kNNh8uGO_+%=CJ^~VOg`)5j|{7!PR zLAB%IzHFoNBF25nG$sxOLc7UD*_3sj z(e;VbqB+0mC|nEr=e4)=XXiBse{Tl)f!k8B{go(8H^XWE9>gbqC8Kit8pn0(QKY;u z%3)Bt%0uV%$=S7hDElHniMZwIdsmk6l*pzeJwN$vy3Nx!kEOg``UUQ4wzpVq?kOx( zz7L^$dJ!-DjV#9R=ui{BfK(aqQ&>+S3{grqSNXN{#=phAW`Eu{Ke5p1IKH++Yp=HN|r0B+*{3Vi;F9(yp#Rf`xfCppMx!V1g85*T_F_p#&7E8 ztoWj)9obx?A@vTA2|sFE>8z_ zoXP87Wi@AJSCqf3yfKP?eFn;HX3DE0<#g^+T`EL7@B}t-#Tq*n?fop9Br9)G-~ODu zT{!2&iPxD@;k;8{>&z+F%%%OiZ2C;Tq2lo#*Quwz4%K97^Y4ytb-r#Td%p<)o%$?a zsmK;6XoglJO!nGXdR95w1ixccNdIc%C;Zkp!? z>UKA!HMy>S3F_N1)^AQ*aQ)S2Rk_&0d1&?%wXYg+?zvpI;?Ji>Y_fS|zVIy#x^FjT z!s_#ttKJ;H+Rd?ks@gU7Vr;)o`lj$zFrT0W!RUVUFE{+zsmya^3wJ0_b{kiv1?1qI z>Gli7(SFyR*ezf(6&Pd^)^hsYEa+8BMEka3eS==fdBv)%;-TQ}iq zG3L#j;5BFcyDg=718j(?!E1`^oi;f!z#GRhU(*O87zX;Oq_JYZg+l% z;%50N5AJ5T=Dr`P384@wnQ(7xQOa#Tof*GuUK}Lujto3KxRwTsl56@=%2Rb% zN%B>hbods^Kc!jq?%`cwq?$~6VkmqRv3ruZYJAxd*s;lF_EUoM`=`&QS^2n~(`REW zzJn{Q#Bo3Bl?!UPU&R!4M2TJzX`rc)m<8V=dk21YL}?SJo0^ZYRqH-q$oI%%5p7;g zLad)yr%kh6m>|!^T0H+K%V&Xcn@y(jZSgtZd+8`>*XEW$0!KYHw_?2%Tyz4QwQ_3o zrEPM+?6;A1@w%V2cj)!L*Lp}1^lsX(A*wztort@z>A%vPI#va{k$gGyN$z`r=8Uv* zuEMaH$ruyC!BKYd5Vyf+%vuNAT6%o< zoWNqTE{eFa#CkWuiGDT$K8%z}S$)N1)5qi5aTR%TMr)$7o4L&QsVFQsRx!SY;O`H5 z!c1lv8Tr3g=_mXPU|wow-h4zKG`&+(@YM)d<;d02@B(5>+|Ew5ymghPSx@kK)TV2V z$<7)Xb74uXHk2Oxou`V2l!vM3g?hHU@3*KlHnwjs*Lp2TaGL)xR`dyUkz`E%Xy4%M zP9NqZ>>~>#*6S9qUQ#y(#pjsx9;=!injnPfj)HmJ0~0;9blvsz$8aoR-A#{Owwrt3 zdPqsxxLS{W?0VH+%S85U5>+*jL%`V|aIXClnefGnJSpev*oH`UZ?9s(JNFv@k9mJi zQUl_XkNado__K9=K3$@uk}NMPOyN28A(R3KcDoW@CbR5kix%)0b(`rr3L*PevY@x z_%d|Me2jg7wcALlX`oS@PPUO3WUu-CSgnyo#>G{XFPO=qK2z(g=8a}IcBGg$Z~++* zug%C-yH4Bdds>TWgrQ}I%PlM2{PfJe=p{7LhTo5`aie{Gk2TIgiF_tk*OE>CO|1Bk zViZByYaF%(C5D56_p*RJ+?m2r4>hKk=U4p~>?^%K{fpv|m5po;MO@e ztEzz;-rcQQaDAIoMX?ehe$&zQ>Zj5YaoSmsz!GY+ga2l~(*QtA`P1?yp@ACpEh0??eqBhh`+UlbSc}hpg3%k(g`Hqdq6n69eS3#bl zL3a*M-H!t$6UA`er>E^j{;7IPO=n>GVq(0nx#I7W^<}}~@{>HIQpR@ewxN!=uM|$a zTK40E5+}Xk#Qp6*Q74T(8`3j5MET;6j(QN{V|VGie@~A!<=D57$?U$Xz>;R#)^O+m zz`&N@d_3i8WY&2BzO}$0a+S~-GQdhgt94-ah%DQ?fZQl|(klSA9At#0m@?%JqxMMl zHGKMZTGDHgOq74EmDSmD0LI)>Zv){@cm)3FULQUPeD69 z;uloVjexWGHRR?orci(8FIk+J;yta|?*FiC4DyK^-}sqtUy-I$%4X7)ViM=Ir&`?& zO#fMb#g?Vk{1x4kf>endPK%66+wSjGeaAOc@WL##(X-ZLx-d~B^-O<~GQQQXXsm&0 z?0ZU2fhOFG)jPind3{+U*qq!%d|coUWH$cHE+A|%#!ipoyQb;cJ&7KfBI@>dS;j-F zge;YFZizp1&%tiY(51`cAhOuzXt%Z?QDHw359wpM&1CP_(<6>RRrj+<^`+RU2KMT? zvXxAFc4b?iUtDSRfd@o#xp52YSp`w5y47eBS$6$6)jcG#f!M4Iat$!m*)BDm%33ZoEZCbZFPtlZbZfnt`s)mZ8P1 znEqmddNSLp&ftt{@srl%3|9S&pV@XIAu1WB5Jw!(~R)e1f>}W>uNv0iq<5Jh^kU#9&uEKd45*Cyk4^m+eJ(KjQ zcuys<9JA2_X_UXtkv^)suzoXqdUZ==rqPy97c$>g3|yqKl+N0xhX<&bz77-rc~^ng z&MM~_hreuZW;saMjnVW5r)ryO5&Uey(a}i$wOW57vb(1%lh57TZEuK?x%Kt)ws&qv zj2Nv%;jtH*k7!x4KB)9Yx`{t!Zsm-Kz38S8T>fAZ`)CS~_fB0y(DsMe*haIhWBr5M zDJu5jGppcobLvS#$^SNbBlnG&9=v$(2F%oKfB5hu0H^8{u!E<_o*bH~UE$s#d1Ryy zyjcU95~a;laz3+Y86*~QsRaKYX5VLYU;na$b#25RhKJ|y;FqzqAWqKMY6zacQ5GF;gi_DB_A@2xvn7S6(vb!XmE!NX69g zkniZ9kw5;0{fBw;-)lYm7wNy1-iOoiM$3SVz3t&y{>?A>AaTfiPtu%tv)!{FfGeXi zv<*NCcK49r9PrK%H6!0a#BM21JRBgO~#@(E&wzpu>J9;NSxR2n9?yZfqEFf*_oN9}2?+MnFNc ztd!rMwxXhfF>oDl5GzmN$~|G#2ej{dwPRz_u`oXoAbtqKaUIZ1U19Qt7!)NWU`ar+ zJsx`G2^3Zah=_l(F(QwlmyL<2rG#(r!$@StOAk>|s+hP~cnAasoCASI=6Z(712HHl zh`{(X#l_xe_yM#F1i%lnM0Z+0E}kWUHirS-4QakR*RZtdzWD{h6(t;5_N$zghITr1X?6Rkt!n+%z!=!M@3g+f^*2>hZU%faq5kO zF6`2rC-B30R7Vm9q?I1-9}4Xf!^GEmRD6*LT`~euJp6y)kk&>omw_VI@oSsw0dGGN zsMA`Z++!$q<7;v|<0!%L_2@NUE^0mOk|bjFZ~mx*O$rTcRx#doAQYDZuv>+RV*Ub9 zXCeVSdJBLg;G-i=04crL@E;N=RTfN+WhM-|grqP>S}c1n(d;fWl&UQ@$FeZghddrd z+|9axfy5nUK$9_mqU|5Squ7BkZx!u^9&TzZ#IhdrQ494(q#F?;&kV{+j}0CbKo9nb z#1sN6##6RE?V^T(uv*R0l{JgJASmk{4tNxbCga15-gpX+;se2IJNj$Z+>cOJS$y!Q4w_60D|!P0k3zPAV8Z&N_JPy64N%rr0`RCgjN~2>NsN(l zAOOcqqL3Nr{4#wERq_r*QgBApt7rULBBz<_G2?JoUsJKmrI0qN0OV&VW!4C^dk$ zp-N=F=*&bt;iiBwLSA^^Aqdt@RlE`&#`K&J;n@pK(8h*HyhQgxF-}w6jkvAyYr~k@ ziE3Yd2gZ9}d{=A@MrF$2KrVgIz4aI=!P0Qs^)S^tdXDN#B$RcL1U!R;1;uNRwo?Ki z!639H6-QY>dB4fWe_*fra?ocJJ!LV3cCf%UCK*MEY}RJ2PlDN)dpwZEyKH zMHsru0o-L_L%klwROiqFJVSxDnBx@FL6Bq!n$ZwQflmo1twym?)rf$oM*ajNn1eZ~ z=dTF^r@vz(ol!s8bcHk6#Lk|;mx_Q`CPeng8n3cBQOjR2i8y?mT5+klVlQY-O(w`b+=|!h%4f^Fb725IEd048MwGDA z!44$w>msC!%6=VyK^tz_m1tKRD@%yL?S?)R!=AnD1>i_LN&k`teAQoWFT6PLbr>2! zO9VzZz-qcUV~vRry;IO`1bvo)1IY?RTTYXB!w+yu!-LV;Ur5})oQL7H zFfjJsK?`UB9MKqHpDGX+8vwG34b=_?Abyggat(pS$wB~_$Lm~PeWYa_DF)pyGK^od zc<4c+8GR>Utudh&26B`Ql1c)RZADpcf;{wC4NYSG(p^6;LVnh}Ic8doufdiuh zDV}MMG8O-70PJG%1C&Gv`8iX8kz-F_Br%7EB}8z}Zea8nEsW&&d3iEUG58t)+a!T= z5`&_3o}zWsF~P_J7zSOJ62>nb7PL+|Cb&Qi`e75v;|l?$2PJVeh@ryHLXRsk*8q2P!{ zT83d$sa53~p>^~Lz_5A@I=inJzj94suVKR#kyOQqOAu_34_<^RF<^aya85_;XtI~+w>1eBEP?1e`#`j@JP{(gJS=yGx)^MS0gDnH*?LT@ zKlT8&hUH??+WR)bxt<=ZA7PihXV@tI z#89k1!9_jrrUn#@*7-yNKD~klJ(K&cJx`+k^B$P{1ORuS0)PiGP^v*dw7n>x){hw= zZcGkHTEGH~_F1CyrrM!($3XaI8~~h6hEnCjLT{7<5XO7}7&A6{23h${)D=Eabyhx# zF|rZN=tKxa7%M&a@X%upAdV|d!V~zpy?62Vi_LZTZzB$B?qmC1K9nkw5WSK5$-YWF zR%8l(!XGr5=>g#3m9rm|dMJbhZGQ$t%!UDAUZm)^{f9nszcb(AN;W0o7FVdE zL~QUJEyyj$E|8dvvuKX3+`LH)Fj2UhE<8?88AG?|TGd{PODcGZtAY%udbX$4W5fd`H4fV(ZVfcS1>44SwG zBzCdOS5yvfkgZEIO4WuBZGVh~pbi7VO!(1VRnN*}(sSPiewp5OU0ZB=QzkrYWvh)16qQDsQ2NJAB6m?@oh>3JWSiXy6V957q)oRZbkeL5zc# z?E%7sB+z57#2lH!z?3s@=x90d26D-IVsg$Eop(JCt)rqJIX>A47%CQ?!id%nf|kk2 z&1RAm3-3Qzq0oXE26*iqM&`|yQyCQY+URW3n6y}!0W(@ZJQ`an!`@W<%jk?dYIdD; zW788lN%g4MTN5){HX2$m&ICU(!-T{=3Cq=BhC8g_f?epsRR1cW?J~3A>(9F3R@v`bPQZ9EQ1wI zSqv>A_vL1H7S_XxMpBkRlWevP)%4K#AVkdOclcvZU2@4LA?foU7MoE9##&syP%Xe-yW7+2HNXO z#!?pOv4aQj9^#l_Kw@OF0G4i%ye$C-fK{4M(6Im+{Vyv5gCQERcqS+Jh^Td(9!PIZV~b4Q+o? zQQSXbg0yi*cXgSTCy2uxM2Nw0Jrs2~^hSjzS57@Ui`s6}|IsQeJakWYe{t3`<<=H_ zGbkrYe{qC!HRRU8Mf#oRvqR^Pe>4h*o*w%x-d$?lA01b=-TdxZL|$HGw{^~#c5S}= zyztdq;%1*My=Sshp-TWp@9TuQCAPmhTexJKl+C653E0fa(&8f+SUYVOd9d1MJ1j6=Usb|48LZ|#3u7wP8Awr(lT=!#(&H+M4e1@cd zUYs4)h~-&~Nk|lZ=vp1LX6xCTaHxIvvDIj;`X+$-@6`(pZp%6K2f-Jn5{c^$>ir*B zc|*Q=Q}6zL>89AWbHCTU`J(@W%ID7;gC~EB+`2E>?h2ZX%ooc&$wao0|HSl7_TLE4 zJBJ9}otsanx&5<>dfm&ky%%-?H3KTGhI)6KJ;Mv!LUrNDO}Bbg(rS$6@QMNzE2n#e zYTUjSHSQc|-` zc%>tE82#GEP#4PmAu+APyO(aqJH zQ9S7xQQRX5Mt(*ed|6q1J6BsbYe#(XBs^kTpjeUuu^dn$DT0^>Lr{RfrjA$)2x4MN zq9Rqs6X56Ne>mCsl7>m>{sC5y%8-ii2nh1lyd^yvuX^dh126EsesEpI{r0>AhA~OPW zvd-paJ=m*JqFGTSfOW|&$A@FrkkvKoVZz-e$}6LrV8H53^4=ciE+#va(zN6uClsXV z@Sac^URAaF{!RPZbk8nF)V_n)0*3cZYaBU~UQuGG{CbY{%;juO)_`0`rH$>hCQyrJ zqGRm`q`+C$hVAsPDYIF&p=*d?!v1!Ldas7b&o#`fy)Sy$O9^nM(^yg0Evy>5!-`lG zEeUpkzH38jUvLZ^x%6J z+i;L4YbLdWJU`}_@?!a0$xe-pZ}TYu{j&OE{ll@_OB3unQYY*DMh^@G+08K;Cg{@u zb{~BiXgkB?D|?|hUVE&Y?bZuE@Dsl%>1{aKcUk^G(d*sL)Z23Q8CPm(ZF;cc{p~a} z(7d>md5@ig9}N!`C8J+!GoosTB;*~*Cy5)MzBLw>LhPTZwzajNu6~vgfBnmlRfwdK zoTn=>tTA5w*3rJ;^8Gb8m-o7!EtJ2+?CC-2U232DTFN|k<+$jO4w1bZWD{y=?^4~> zSCPdtYX?eNrxl{|yIp&35~o=A^6#%*PHJ{;so%%@QqD!zqoKF$z>30oMymPz)9)DF zI{v%7)7x7HBI`!n8}FU74cNR^HfIrFLn@zj@k(4=abjduEe*ca+4fHK!}VFVE+#=J zsJ7~Kb;$@*C-j5phr#yp+u-8_NVmllzd7A_@l|Zrz(DioZzfVT_jh{v1;mgOlB9)K z_G_FBypq6_;*@x5oEdn{LZ2LxW@}W^>wH}fj!Yp1;%(MUNsawRt+K*R8ZuwxBA(rP zWDZLW#uYpz%$#EamQ!AD1pPOpA zQY9?~^QJB`MuD))rqH5G#Rc|GI0pq+e(LR3pu!BU+ETe_W8?~>+Q})Ei4f4tCke)< zprS*`Y4%Q*`b`n_`X*4NBi8af)Z2D0l4eSSpem?+fc2Ek+}I%gu(j1lhi=#x)qUZOZgVdCuNZFRFUDr+WrQ_}c8 zTUw_Zt$UH5S`9nCn18glf>!n1_({9*7n$hSsA$%Ap4fxpDi3gZt9$T^$7w$uXhUpv z?|Y8lPeTa;bv-xaMl3SmCf_Hw%d8`Uv7v&!RhqPNPsAelDf(v*w(hye3EQ169paFq zr=U&Un!3>}WF@}gW1Nhj%eC{Tesb_QI43=ao7gPTuK#diz)wC?n54=Rn>?HmJ~@eY zgGy7dG!{Q;tUG`Cz%CJg66^L30yVJX;RVThKbda%1f-rlC0s+5F?7}c{z+N-!ih3W zPGX=BZ#-zgPn8tMKUBgh1&HSpcZ{Wv@>sU<*Pjws3_OJAoS`RQh0*7wjn@uZ!j*1H zAEYJble(iyLpWCcpH1P`1!w479nQ9Rfn8LTDSjvct3;Q|Ur~bj(r69l#=2gDW}6Vp z%?77(7$au!N|CS~E?j<_0p1Bm`nkkHTCRZM7!C(k_kmVmO>Ilv=={LFt<|hj^PEKT ziUIA=(jWKN`3GPxrF;c*Ljrk*p9;ck?q{UA(W+~@Y{n_yy5AX*>MpmUjT1Z7&9<-xU?s4#lOEy219r#yv-*a<+E+Wd~DqjhEEhkyV#JDYw`%C1PDYsZ=q$OX2(cu{~SCD!vVR|98 zt-smM4o7-?V+R2p(rt{#5mSTNcW$?_G{{0`P|<>6bv$kyYH3`UQ!VRK__vkb?22~+L#;=Y`WLt3WVGjGHK zvpbunycwk}mM!@b)Yd6aDXJX@dYAh?K^VA;w{BECdv?P#FUp#CxLKXHyv%o3dd`G< zVdh18$=u(<;%Ta~@jH_&=VK zq&PhwI^T$UoOM>OLcnJ4-S~E)wq;6+(bWx8rgW-0hO2TY&{WFr56>f?;;O2zw)jkx z#@Q8p?@HKkd>ep;jR|r^=r?LYe$+*=1}zSw!gzzb1omi?Of(0gK$eN?cx|%#(M&Dz zRXye4J%G_@dfdFq}5swr3Z$uV(nBs(8zfSW(* zM*6koCyItw4mWpgA9Pl!&&*(@)z0D5tBbI}jR?rOM+W`{hh{;F@&DR%)YoF~4KCu-5eeN_gR1fqT&iB=A>rW6<_z9{s%hC0T788A)W!tjV zg61BVwRj+3e@#ceZaWtAvBdt_-JZqgYLcc6Gs2#UJgEqjP2?mU^I2q4mQ5lJ8b{D~PE{ii?XU+xA5 znvRz)5H$bG8=`58w^jsU zMma4LX(6Pm0q81grbQw5{4G~el;JKw9YCrhbsQ0BJv34eiA-}rss0Y$MqT+^%5rGj z;s00oe>>=>40Jg!ZYyCpMAL*@cM9=5*_2ybn5iBTfdl{~QU`%XBaui|1fYySD06An z=e_?|Mp~}6H!m_x1S1C`P-q=)-)s#}8&_!d6bul_RD3mD% yg+ZXSaad!FF4hEz!Ju@^j12xyh8u+2)j<@GK+45Hf)7Lsr42xol+0{#kbeRuWH|}| diff --git a/doc/manual/scan.pdf b/doc/manual/scan.pdf index 74158ee3145d75747500feac57f0df78278a7adc..854f063bb8734e9eabdf304bca1ea36e3aade05e 100644 GIT binary patch literal 27398 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 Uo55I55K>iD6(k{HaK#YxAMy!7YybcN diff --git a/doc/manual/scan_rev1_1.pdf b/doc/manual/scan_rev1_1.pdf index d19c7d76b969bde13755526e405f97d9f0615789..20b6232cf60d6c2559e7a80f82bd0ee513a416eb 100644 GIT binary patch literal 30677 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 NkOchqsvBz1{vWx4)_wp0 literal 30244 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 D)ZagB diff --git a/doc/manual/scan_rev1_2.pdf b/doc/manual/scan_rev1_2.pdf index b3e7cb01265dd6edb17aba70e2f6e42a06657334..6e9a84e8353b09ba5aacd167713fbd2ad0704911 100644 GIT binary patch delta 4954 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 beeJMt4@!6>h3qY&heGS}{+|)-Ek*tTxrOCV delta 3934 zcmb7Cc|6o>`+l{kR3uATLYA0eGT&J+LI-1JY%vQlsBk7*W;C{pG#y8TBxXiAmWt6B zTZt%Z5i*h@Vn`>E6Crz+_>J>B?{ePW&*y#5^UwGBUiW?7_jNzl%|j&UNoqNwF%aM| zLPD$Mb8=3~0~9mEK3Ta^I(BMSciC5U;QeA;vU&91#G)Th4@N5w&)b~vK7JpfV7(S~ zBCOl3TfQu?)eBC7e3C+YN=eJE}vaz)_j|m+?ouzGck$0FzYms z)(9Kxv3)z4t-roH)W33^_Rg#>s?5~1?n3XoqelagXH->gst(dl1~S(tTjExv`W@

xO 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�`5!(SnGHJ&F#W8 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 literal 29461 zcmd41WmuG5*9J@sFoV<#f*>_?Hw+*h4k;}tD%~B@-5}i|B_W_R2r4ynm!QN*w{$mr zqxb#Z&;7h#{rZmM`!USE)?RzBbFb@K=e5>i7}e$AoV;8DxQsp9arwA{P#&m*u{Exk z7`KXzBY4)a>H$nUYp68nK+o5Nl4(jymmG-vcvVr+G!q0wC!_c zgtZzZ$QmP%&C1#PU+NbVU5Zjol9&9K}ws}}B^2)FzU&cJeu3K22t z`tY-Id42J!TBkG8-^=sH%fr+6y7Knsrh)rz(ZPYc^`;|jc|g+N)Az!lJbjy z;mZT=t<$!*hx>=Z3l}?w&Y}kTEmx%~yXE&{~VUdnGbA;>A z=iKW{7ajN6{PlS)=@-slhhE;IV)px|l{-ojKis~|w&=$de0m~~`wF>wdvXe_H9&f{ z)>oblEbm@I2pt;g+mWP;d@mQ}j;2ZM*F9Uebv;CK9g1%_TV7VKpNV=4|0Hm5@S>)% zX>xF1@OfD7lz*}PaBs3QTt0pFVcgAAu{l*c_IYHi=iOv|%kq_pnBKg~QQrv_;X0>M zYs(R`x^ckndHB`pv0ohfiI|SZ%pu}HOz)4moLFS7^RAA^7gyc=o%5O0Zk(ELBPKEH z4M?{KaGNYkiN@}MQ+29KL28G|T{gNW^TRz}5Tw7@50B=#))xK0Rko0mSMn}$*7aMrUag%iQ{0M-vASiD)B5i5ty9ycS2#9VRuW&j&(_bt z?+3WoZywH%4=h*YG%TIAba$-Id>h!TZnp1WR7JUMDHSl>;1@Z${LXt{ef1cSADgB6 zBJArNT=_S`PR=-e8l$?-7ioF(m|{PizckyOIM$^`uGQL1{~AWF{xGPRX1eW>m#RCU7rn7o7@Q$-WiBTdTt}yYh~fvEHR@edF!f7 zgQLH;byI)RTG5(4*TT0@K-L;_(KAd)J3}QzOsAKw7TLlMaS?v`YRTC0-@_%}caUo;;XF2zs zTlXAhHZP~R8eR3dEq-2ecAvQU6uL~#H_SSQ-?}yJ3f*khi?cOGeSMN;FhA$Ugyb6* z``%#J@zZmDe)uNTyYa$ata>F9xhXNIXitzFy0s0qv7C z99=8;S=_k#tMu=-iZ>fLh~AB7z~cDo8C$P*2Zxcer)z}Mo>#4vm5oout3D!q*FP1h z>@M$!NYH;t=`pi0w0Thlbb4`trCY)rOr%&AU2B^%peN8Y6MVdrggvCr!=lG!1s{1$#KiuJtPug`Zfh z4vbEB(4X_WR|8I-v;9jqs1pfY;wyh`vJbuam3Dl{Qr;w$CjWd^+%K);bR(-`V(;*7 z^|PzAg+CY93$w@X!=4zBald$ukgks}E~n$6Fi?%_*tu?a@>MWew2w;2R$1%JDp*qo>tDp3HhFd1hD=1h+UZ`c=@R}`xn;BGKM$*6&L2qmZnYIz1~jNZJ`vsJ zI=541Z!BJO_SWY1`pFfJqqA{Yj`7Ovo(D3vQMo>?Cu``?$rBmtHT&vFp3lU(@n?hJ zF5lv6OZFjBzefC}Pikcx&X(i4!3%xw6W`aq$2Jar(+vdv$S6l)Th`5udo9$|_skI; zo>nwu_mDh2MxSyJ%BEUBnK%PZj{lI}BlMVi zBvo%Rd2~=e?>EVr?bFP6>&d>~sQ21;h1^l^ZPHgj`OdBodKfWvEd}3q2)g<9}xU z-yqUxbi@qH5$s&2cSmbHqCKxH ztg_cz*s0vh$G-12>brI&Rb;$6$=ezp_L=-b_~>fm)C{f@jgCX`>Ue4&??^h zy!2%3@d^8xhbkt#)vMY<>DS#!@0fbhxm?g@M~WM#U3rkZ;q&%xaR)@04-Mr4>9HmR zqzc?DzXOIKGoR$!`@hQeLllwpc5+MD3a^fM1mYlcewf;h;Sbw8)VmVN4nNB>g(J+C zGQ+%eq>Kuv+`jfa9hh;{RR|f{twvH+h$4IkB&!!Y<3f39u%wtDWdmUtL@N@zy!+x3 z`rYj#xrW;Ti*d5aesN2L>bK(rG1PZo+>4xLh#boqfc3C*$D^+C6LQ`~x6RF>!E`DeQ<&}49@+G}CwF3hjGl>BE=|lkSI3Na#1pxhoI4HnO z8z5c&1Bju(1VA^5fU*#hc%)u~q@`{`poY3KL3sr4V4+MjbigUWSsx+4cxV9s6+g@s zMX5s|jE!lgn%QWbZ@{3#OfbOKd-|IuT~MAe3acSKS5V${F+h6r`%LZh$f*GUy$NMN zOdw31j~>Xj6b)Tq5ugR;-H}P7ZIPp_ML-vNMQDK~52V$Zi)l%cUgOnh1)*L3J+*+^ zjk6E#IddF(5DY-S#u8HJqXPmRP>$#T?L$@Q)C+AT;6$Sa0ONcN5L$PT z8mMg;81(2G<@CE~Xr7-8kra0XdE#$0Ay6m}3e9laUoJBq1O|Ph$RY$u$kqV^vi-nl zQE1Nq2s$)U^nEQA@IM#o)c*{5l$HM(R{;Yaqj6vu{$A!Wd55G!n-K!!w1l~=AK2Y@ z_UILnB`OvW-uW!BtSn>#Jp8e;Loq)`F3aQRvwiST((eL`RHEe~f+m*-&@pTBmK`>4 z7~IXY3%d{o$t4;R^a;55v=f=)4hT#ZwHaj&3VaX{Rp?5nVBXBylu&LzAeXJG6nq{X zJ3 zGX}m#Yfq*H#v7xV0;YJeWzF&0$ZQpP%sYuxq^JX>&>{E%g@{ay*k21Dc(VkJfQI5G zz>-{E0Q&coo{dnNplb}$ZNrX3qB39~3MXwE$QJip4iU!-s3P50>gyp3Li1b9U2w$c zH3@?*Y@&y}LYL?yLQIhbiS$aC1M_lt0TT@`JS2R@9r{cU*XL6DL9%E!#9;wUG{!)~ z8)b5gb4e4R;nDBG7H#2*EFOB<-FGq!zyvIGWf>1$ESZbtf=5=JS}QEzk`QI}R#+B| z(A*AJVvq=7(oUod;#UJLWa3vQgV z8XM|k)~XIi1Xd7P6iN8KA@lggYAVD_ht1Tibjn9;4D~MBE`BdQnM_7@<~n_b9~tN* zFG7#aG;963wl$fo*IrcgaJf|q&vY_3sck(nFiSl)mk!%mrl0lKIX4leNa?D;nWr(d zxSvey%w^Nhd?=%y!t0Fqz)x@3>awp>oC&*||Hg35Uj~n%zN&{>0`=X^+bw0@i6Apk z#50$}Q>n^k?vz@RN9Vm!?nD5(GKnyWLpZ>7gv6MuMl95fG)&kFv;yEne?en3bV)cK zLeGPpu{EA7;EvxI4c3}YCKW&k#^mvX>ny%H%#Yx>#{L-q8-1S zHfg1F=a$It3y(m5b~Hnq_ex&@-idbYdSp3Ffkz<@sJbBIMe`RAN%n~#3-|;>kCmjy z&O>7+S3(SkQ8cl{GUOcJF{K)TmMxmxMcs$rqLSotrM*Jv%sGUb^aoT7n-jA-xcA}Mi zl$ZG&2gYl*-1(FMAp%G32?*|U`M4(?1CkNi)M4$`b zBgjV`L|v^H1PLy(Mo0PolAJdnBIx&PiC6sx_Uw1CMJL(>N{)`jC4(Zou5>Ww@i~we z&7`e3elP-^5_Ojl{%|~XNfd+!op>nM{_zqw8Rfd6x(EZxfxM_k|4*RJVZ2bXnkRHTawzcVSbnk@ zD3&X>-o&-M1uMWgY*}fhm`9R}^Z2=KzhGXrh#N7NXuR;D$sNV)C^wn^5}BRW$nU=I z7p}%9WeQ}9ALQ*}K9*Xm9CW&(6dq2>wYi*;H zth0SB?RlVgxZAl3`-;{|;5(NcV9)aE_4ojs5Su3D+Q@ng`@Gaf1Baxi1XE!Nr{+k$ zE=Goh+wQ)7_Vqh^d*NN(UHNO_&m|$aw%Rg^hs<64f@In1`fz5cMAni!(Cgy+nQ6t3 zrdX)j;hPZHfy)k@J2|b$bV_ap_U2ua9IsS-7p-5`oMqTy4IO~u2W$FIx2Re=U2Gk| zKsPRbh>q@nosi7%8s1;;mYxw~PzbV`nZ&3}SB)4g z7w7<)@}X?eV?^;;S5bO5WJrDu@T&1^0K>X{8U^DRU>f#_ajgB>l_JF$grvt3q);fPhVh3a zKT7Zwy|F#UVaS)vOw)qKM_^m&V{1U_ z81OY!F&=@Eae<*j%NdpV_T(TarMrzQn3I^n1X>`Ev zD|YdwH`?OihR5VNPXSfADGHR7jI|X#$!!TK+AhsZM*XKF9zvhT9|y7|y)mgnsb^xq z^7%4jw3rze-I+;6mM$O1ayXkN&__`|Ur~7cYNeM>o>Zi!H{owFwOa!H+NWOdy{3Oe zQIylu|19Zkec)W^Te;#q%XM{f;F?%&@RMsfRl9+_)X%e>swIX_HSUq#b02!Rh45!w zr=m4o{>t-(iU^g+Mp1tZY&As*#e=$4p-gPG@|l*X90yxdvX8U>o!W^>1BPECL6$s>s|+OL zKYZx;HJOSb23ehXthxmrr9U(IK&8?mLe&GfG3_VqOB(l*99`_Ox% zoI~)6$<@3dC_>=_8JtO)PNp=gvsP@;Sb^nfy6Nl06LKEe9XEr9bx&kLlH>()?sYLb zVOuWYI-eoEF-Up6Z&c2Kreh?t$02R2y-m3jvit0%pSRjWKgXLUQFQv$g?1ct*lE?m zLEpUBnxOt+9? zC0B~AuOy#r+Hb7)u{ZUyf8ZOvUAl}_hk!E0dt-&)Z20@eCwb6&cu_*B#X$|1CmaNo-{1nv0A8H#(CH6%jGD< z^rQ8TZRkPj1DI_TSiYQ}aaz9?OWyR;=DsGonqvJGC5WhJuJ|5E{$3}_C?-h$zQ;6K z@M3rY!IC9qK7%|{?9+&{v3vRtM_3ktIF*z~0=VD8mg$x(3qxYMRi`Wkitu}Mm4uht zl}&hT1=z;d>hI+nQD8spH7a2^6s(HD?~HbOlC-!dQu0h|I><>5=?&um*K z5G$i80kcQnbI)P7LCczhDIqc<5%izK6C3AWVn!Ppc0vr9Fx0Ae9dR8=&^hGl8|r0c zpwTFYJk8pwaK7|jrln;FhX(Di(AME_xB1u6$^jMIBZ3}+dlnQBnIRlT^v{SBuzWRT zJnEY8WQsy~Y&=D(0gj}WoLP9ISUf7DX|RThX~BK6L_j*041H{XwHNw8Smc7e(xpU? zp^E~byu${ql{mi`-^iyEJV8h?hF(W&CPncLw+eiM7P$fPh-}Zpw<4H|zzvK6D?`;2 zHOKb+v?(?CBj_)~V1*w2-Ih>=gSO&b!ahLS3nMd{ttl1{Bh{mtS?eP5n>{lclW z$U05=;VrSLRuDcU(clnLs}*anN9FFes`lt?W7h?Ptf>LY3{s^KNm!XkOnRa!DMGt? zKPBmh&%^P~RIOL4ej-$BfDA2j)qIiiHMzH14yxTE;*uFvBBASr)Ez#i(3ciUT;uM=QW z<=fhln{}i(Z$2VVkI??W180+_(=2WBu=DI$I;1GoHj-j{iZ^TebwiqkLY%|LM~?03 zGx`)IlNz zBggisSCvhWTP?0i12;708;7kNTS})w(P2$80gAuiY$<69jKCTM3JT))1quID)m+<3 z{fjJ;LB6VdJ(!M%QNhwnm=0n9{y671gC!_M&})L6re0S))iBY7!P%Zt+Bg~(FqPPr zX|Pe8YT8yz*tf|QYKEfVCc5}*d^|H@XVENu8Lb_(@^i1f^2?It^@7xI{|IzDo`XxZolv`=7%V}FWEyn_zP}uj zVv-XRRP}q-wvdB@LUf=Tt~C{*9fShmIZgHw24m|$ahP$38~K!!J`7gZ5f&`oET!$)>lo%BQPzU{Ox+%ge zEiyqV{@6DbB}U!tChYx2s2A#-AB3?_(qhKYtH5Sx6l1t%CWV@c(b{a>1w4lInFY4d zxU3Xoj0`9q`^$eQ*Uls0_tk2hG)oz-Vc&j}RiSW{a1HA7H#7Y&-cqBiCH;%bb^!m< zp|Aa$>QL&E>`NuS6q|D`A+J9h)W1JmJ?L!`Z^=Hs^=06{gS`!&S<*RnD>aG)1J&L!oEE1RRZZ8!I(Pem&O4?&lVp zb>Es~W4K_Vvn?dU`XZNB1u6O5{@)tq{d4&d3*}fM%9e8x84T;GZMMWmBZlyP5jOMk z3o-LL%|Ta@t5u(L{uRUF=;yC_D!Wxg)4g3_u@@J8(VTj$7AJmLBaxCCfpP?oENQF5 zJDDLJ9zibgI+^*5ktKNQ59s(^j=L?3b5Vnz> zU5&xfI!Y6Si5^c9EQ>lH>}la?)@d4M>_1${j*MiopK0CfvnpC!CF5kc&|w`@io{7v z8$&%QdaTv!GYV1Jsv;*xkozAv-mHqV6|bk4o;{M`rL9QmN(^{}$Ekf9qg-pH|g@I ztdkAt^*}=;NY2bEMp?2?cFCv`6ITyZ4t*>8xg@agH=munW9-%WJ~NHG%*ky#MM@v5 zXQ5QnY<@4c*Lr-hNGB)J_Dlodg>BSoHFvo73Sxjq0g^q(k1=N@3ap;0SmCmL1S~6h&oOIvDCQ8zCqvg8{LPu*TJ8 zSa6&GXX?&pZ*2m=c+ol-gK`TX7`7^U1zkXBFUA)ZTB2^@{1mp|#U;LdK}bAh5U{== zWR$uIa5ol4M9To8$F-KD45ml7fz*V=7(S6BJyrxQjvev=Qy}eStE+Vo#PhsQj(k!N z5IoWbGe5tYPa;edAcmyC7-5VLn^+taOhJvTn^%;>LuDMpzuB!WfDh(j9_r4uw|fmD6Jxw!=o(L*kEam( zNk7s1Pf1zI zJlNti^Fr_LqEJ3Y0_Hv2LOyIS^2pkCcKSah4MUI%c;-{o>xEL5Q%3%mbGdDOsxXJCh(Tnai4yukiQF5eNwLR$v|43?wS*3 z{F6JcO^%S*$R|h!QmP_w1X{`{v7{@$LFV8Ea&pUBvGxfmgLj_Dk?G6C(1L5SHjeJ+ zsp7p57Q(o9PpwIe*VO~$UK}!o%EjhojXO2>QMuSl=|j*GB`OzF{F95>LVE@sQw#lF@S9y-jrhzQp-tn_ZeU2 z#*iNg{6Q#0U)bYdhOX+BpTaR$JFeCl5%24y&EK`8*E7Qc99*NFoi~hQ!I8pV9;}O) z1l)EQN}n|riiSc?EIY=c-a=qM|6NI%SruZie@7^9MnH-67E#Mcjh=n7`67*=K^k>q$o0zw1elk24rAL|+({trp=UjXO2AR3c}#4mJN_FvzDX z5_x*`rKziG+C|Gi;fIn$^7Oc)dsvATgwRtq*$#f}eTZe% z;RJRP&}@gBFxv`bqH0WbMoOo}B3?4s!xSqQB-U6JJ|_N3)!3*i1;MGX6aJl<2^u;h z0L)f{j$Z{PL#IF|t)nfGe*21(?^$80#VE+`a>J}{6s_2}!Uo-k-MG*apx7Q-{F5XN{1mX{K24lwJGa};9q z%{8eKVF>!MXtwXoDNiJB2VAC)&GVazAjrdK#hi)P35Y4dQIJzZDBs7nQ*c4RwSl&B zX$wu!nt^hy+}ciZL(td_ikbK&R*Hf^=%P^K->DYoQm@@V!#{NOz2Lpw#c4kp1H2VK9M247q#gqI04Ux&% zn#caX5ZO3I2nLGC;vg+$ETbKAWQzh)w2|6OnV?GazsSsMUJF{aYR1CJ=+&T|*BlA# zP%hzRkVz%>&B2(6G`hDAH#Ay2rqfpi{TH3lMN4|3bt+asF91#i5z&){ST+fR*g^5v zQg{dS$?>v*Ngk=pFYz`WhA6_BpXZ|UPuQQO4m8w>UL7UGHC!3)3M|kX7MLNz*k`%A z%&g<+rDw}js*zix1gJVW2$ z4pf|x-vpbIzgZR3&Ffeeq3f4X-!DNRA|C?-pO!2X8N(?iL^DxMf33EVz&C8R+8$ON zOL!C{j#DMQ%XnqrfRG`K<*IjvlrXA&O;nHUN?YaMJ+f0x;p7?4%#B(J)cMr$`o6T5 ze7~YCYsUHVayv;eKCAIng+v`-?n6D|c5RKcTTg$ciW5%xX*jv0nTy*S`TDWWTLSJ+ zhsh8TK#oR! zLrPj&j3??6YA4J^7YkRKvfK`dfosidJlTnN>$eGFe@nL zMo0E>y_(veh8ZyRPy7GIp9${No1NruhU@g3#!74%;hmy{T#;lP@|`!Q z(*NHjYp2R$tN+T@@|7L+;iXdfdq@Afd3GLC_)lBR`QOd6zZz%ys9Lo5->KQ(%J#MY z%Hb}L7-HvI6OL;>J=?nzYYAAnbSOX@4~{0yuT<*-ttzgEW*9UzA%fo`C{l!6{5o(5 zA4>=yI8N&>tr4=)toTg1$gaHaixHglJ`HV~YX36CPh$GjBTsdzz%>9Ja4k2fn4R@+;e>E_#*@JKIY}3ESOMeMQmM zP4_m=R=pt4FuQeDb%?n+ie;aI)74f3pIno=IK zoJo}8fO*JE;CT8N`4M-m0~05jQpQ=m&xi>phw_cHWB;PHM1YmTfHYTlGbPZ)aUuXkx+`TB9LX&77VDxI8=I8)-!~mtGw}q8xI%AZPX%#LCm2d1y;oz zO+c6irR_gN%K`;4sehOh#ahtQ$L`n6*Hy&&{1%O;2>_9$gNn4Ru~KKpe=@WKkRCtb zZeLC&k_k^UbW;L$btpTEGXxzIpUP(yVkb%vbp`Z#u&B`^HMzYa)+BSg=u@Mau~&d!YUToN8P^^I6E zC^*h;bSb}Z+F442&Wm}>mFv5cQF{O_^Kpt)qGj5>i7Rj3-oH@c!^?f4C`Y^K8{f0* zIyyst{7vG+Dp@dq*}jKwEUc@MwYr!*^(qHKAKyQ4C?7R&UzYhjtzzE2 zgsM3tM!|!u6lS_p5fW^mT7hPcqz?G>t#2S3@U_fPyp&myj~w;WXFAM}o?`_+ArZ;g z){m%UQ^fpOXx3rPPVv;Vsh0HVTiAzfR8#R<*)dXRK0jRj{weutr%nh{@PmW=qJ*Jl z|5=_F^fOi7ALy%F6CXFdnu?%T7{0+OH?Pcp=%7t~!Db3ei4JTb#&CEtzx>E9L`bl< zBNUWr2sbL=h|JtvGc5$qamM6iscs_~H5}&K$t*&2U$u4(RPw@kqTw;PCduHrrlH6p z72ydUTpSuj0m_slV8NRK@+j4;4hFDMhVtLgGcV#0ahrx`)JSc`-%=X0k73 zVC`InwI9X8{OZ1gpb3h)McEu5@-EmhJ8j6q(qmDrv|5=^OXx~TtcqhK6GmQtX9?Xk zwd}17W))W`EwzqOMI)WaWhpSgK3dvP6~g;?^>Kh23=N%?H?OL^D}wIY9{Zr1k5>UA z*@`}u=mfG;qRRoclA-=U5GDJ3C7-B%TGCy^KnF85JPHq(8Y)sq1XLp1dN`vK1g>DWWfgmVd|}@f)s)Mryx}~rqu9E z$cc|(iLRj?lBUq0b=B)mO@{ihMHJpEAmhcPh!?5?x55|0VyA>K!%fyHkERQe(JS=#IQ#=lq4*#X0HN z@FEhrbX`)AvdOM?13FDJbWB;(<*Phhh+U{y&GvOZ!%d#bk5Eodk4iEmGy&?YjCnMxHVZ5-Jh zGm$smZ_n|le*4$dg_*ms9W!?0^o|_X)=VZLhU6D-pT%c0o9NjPL{=F_RejsCRYQ^m~1M$IL(`W2^p{2L^=j(7c9-@-eF`U_VVZHA*ZcuM+t# zOQRac0lPhF5hs}38m91~ey3s!HVbmKm-q2rp^_v?kGQhd*dFp`BqG+9_*{m!rQ5== z^h@u)x-?0UkS?_sT7TFG&~7_Bl=FjA+!I4>^~bzyKuEK6waBzGsWOzV#OJf`XHxH6 z6A>fgZy{H89MQlJRd7H`=bYqpmY7A|?{N}XI{uj#8+S9`k$4rc^iUs!RwbF;sNDyb zxOur26ph73V`iWJ%-P={t5#~2ffR`Gk#4on{cZi{Zj6+qUnDBe#tfZ~Ql3BNX#QZH z@ysX`6y=cd%$JM!ha=bAmXG2wc>*pyF3@OHeY7t#wx&9+td8f$S47CplZP*;zh!97B zid!h$1N+BXI*#pS<~H}9gT{{RXGWquEsf~2z!iJ<3F(|~#K0vdd=55>CB?exd2!3Y zoudIpqMcwCv<9-(UyNgt@~<$eB}m$z(I_0-5DoR^JxY%_W{s5fvtvA6zR!slD4Pj< z$w5r-%T|#f5x=o6FqeJ(Ku8JNUwi@N>3X-*Af8Dmt*Zx25A7@8dX{~NT8iL|zA;q1 zXOc{q6(E=vdc&gxx~%U42Dw&7(c7gw`PznbKZ-JhC$%6xHx^DJQ3KCk z4lg;ArqzDV>RRRC`dbu>!TmqO|BKl_qGhJLI~S21Z_&veYX^&_81|m4lN)c*@Budi z~PDb;do=srH48<4% zc)!MijB8Y5G9G&*^31)~U1goObvx)LdM|27V?=AD7Tt?uP?>| z0Q{WwCXqvlh!d0R{iD@ovlmPI+|5HzhKnpbT7*=UEt!^_2+n#~FRhY871*1;?|$+( z%La=KDT=9voo&e#q?SQ`8X96N0I)B$XYX1EC!^e^%whpFI;bM zXC4R;&`9MVUen0z9Nv51xN>Q=Ad_tZYS2kq~d-cSAp@Ki-#-%^GJelVl^nF4F@t^IXhl~@>o%*XRv zmX&f6L01fWe4E}|YV$m+-74sM8iLb;)C-9jho5`iqYt5C3TsaTIeBFQ2OOB-ivrTO z+ffPFW-@x{OmJ}lVie-&ECfqr%dno0>gr*J9YCn_b)?Ze#uRCX#%IuU8_itHH%|)L9<&*UI|i^4f7uXN5ib zy*r67tiNtvH#*GzpxWNGzl+oC6pNAj0QMhW{itG?w89-0umh-?UR6+w zv67?q`Imnk;B)3v}e2IL_70LM}oo2q%zRED(A=-oj5tpAZX>m75)el3aaS0+@U4n*;V= zlZ{d`DKW6Ny+;&a)cm3?r#?_p8Pr!Fm$tz?E)QS#LURBdK5>%b6GCT}kfy{;R{8l& zpKhWpcXb751=_ZIOf~o@$oOp%Sm+6K&K&JxSbY%?8}r4=X=fej9r4J>R+!vH3j-pw z4|c(f)DRNij^&9Q#PQ%>!gjj&P#y~f5(yQ%G^KMF&Sg$5}`u}~xkA-TR#x>;Z(EtFn&IWdC0we<5H*s5N6DkSQP z?x`ZqDL!w2Stz_!`n%^p>(&_(g~AuKDNP)q)eq1}zk6;=w65G&^&}71+B$duNlmLa zo;GZF|eF^J7v

TO-_4*1z=-#tT}V3N9d&VN2Msk%ItWieXYlBOvtPJzI7{c z*s6z}h~Pc_Rl^G}9!B6wFkE;N2ogllD-}1D-LbrF>rtNQMy%b=_y%-;eOCkis1;t5 zipzA6K<=Mmr#O7`7^_mt=qBaM5ToRrNs}rTxOyBg7gdjFbie))9yjr=9X_bqRsDku z;ySXr>cChrqFf5%=B9UtYH%AkT{HHb9F$*6rA=kOF*#Q4I&g6CFxq47|-WOVJAZ)3Rz1Rk?Q&YqPm35tSb4{$bVzH#+ zOUwI4zeJcmhArVFHr(RBxD|ykf{(_VvM#OU&vMI32&eAFaS|KX*Zlr1iHjs7ugB-5 z^F7B2cZ?9ej;;PPKOy3~wzx#pFG|KG84qY4lsd=&g)3KyUZ%yMoxhQd&w+(4cdU8M z&zlru_II=7C7$oq3UJd?8)7=k7-)d~HDKKs-#y9kF%*5icWorUk?nsBGd9bNIg(-= z({&{suT9VCI_7w9!7CoM`CMhh*y|rrIPX8h|IEIu`Ir8M(C~3x<@HN_{f4_{|F)jG z`LNwu+33`FMQfWYtm|eO`d^!xf?wnzlN+498gb&}Bwz=Y)5}8sawlZ#1vyCC1{M2{ z)5Enx85F`oo=ib1q(>nTMR`wFE#3DGDuEeH{3+&Nv)`|%AX8`fZ!99y)4(a29P-a= zYRX()x$l{fj&M{x4=E0P6m_wHbCl02?D`~R=8dg*jd&la`P`Z*`~6nIsS~Z>F!r}K zmOpF0)ME3z?R-uza+%R>t59Gy)Lp;lQ!5yII<2>D+p%8mRd+OfhKNx`5Q7$`A3^?(~cT=*v91k7{$WKwaxZEFh@|4iD*&ZGfdw)i` zPYh7V%aesbtQCamXrn~Rz^z1-3kn!4nDLLL2Je^k<%+{bnFHSe;vj~ZLFyoFd_);q z6XgDuMy=F$hzGH78k&BPPar0fcDkdn2tHK4EfMr8brNk(1t?&oDP0O`fN_VL(t>T@ zj@q}kqW%x&q=*MsE%6M4GaK6FxnWUXLz@sz3V^({w7~6nU<5Ze=9aQ?fM3up33Fs1 z1EK1Tw{D*l!{Y=2I2L$ZgEty4a3v)~QG~pdk6FKWNISjIA#sU(RLZrn;i`5ucsjS| zOs8koC{H#yhO@x7?pu$GH!>Sf<^O2y%j2PH-~a9Vt|p9SY$3+XSjLil#!iH%L=A({ z3^UeAC?Pu$vP7FDLXl;flqFk;)L62NHbPpIqz&nNM%td|d3`^>-|PFCf9`Ycb6xj+ zpL@B^ea`iM&qeOo+D*8YJ>QX=UqfQ2_6w#2>`rJmydoBMYN~{@nD`p20)8&rL*!uonf$UW9%5yA zvznA?Ne(-#wDXDlk(d6M^U~PTEj-||edA)WPZaWM`um;qi8&u9d0Mn`@~b%6cEE$` z??WkVdn)?+Q^kp{Z#@BL>^&Y|ao62YuxfMd?qGGW>QkJzdF#D431+JiHAsd8PuK3@ z-I&qSIqBN4tvwQw;}zUH!2UUX7A-DPeRSyQ3dPIt^)KhM0WeAG)vO6a|T^~4?wbIgP?>9O$CO0|%7Y2FW)JtX&xIFil511WW8eBI$ zZnY1I49iPTFR!h0K<1(41O6QU0U`wOA4Rpu4h(%y7Y>dc4~qH2cYs+h^>rH$Jd^|X zvZutryM$f$Y+76POhAFyJntFzvDfc_D zf$6I6@4B_<2>399$D0+_AEnMQ{Iop)aE`0{>feELBPi>&CY6DHWxny`Ic0FE89<%L z)`yk4K!g{Zf=?7y{)Em+R4A;p(tbK!3x4;%_D*j?Q2w(QBYWn4imsoB@y&p}U%w_L zejY|$Uof3G-}@<0p`i0RwrgUyrRwm@_k8bn%;Xkg2AZeino4%&A3nUo#&rPH;VbTjz_TCn9!K9hGBWSoFt%`J z>UCae>BlFFC+;16++vw@!8yjB=RLtp)N+@i-i;aZDN)B=)_T^n6zy}pM8Ez!>X&Yv z6$(wgYpr={@T_ZS)xaH{OV7?0J$I&Ve|L7&yXby_ad2#xfPRqdU=mtcPi)Hu(?Y}wN(t$ZoAIHYJ2ty=MW3tR&7`K0k6oERd%h@ z^H{kPp~fED3!&GD7@~KuYbGC5^RKg~WGCf{wx2s#Zqrx=E>gPICLwe2_bmdrzif*SHj> z9sBNt=jm-j-7N1=C_Q!MevEk4WXr-i(#d=450PzCl+dJDf!#>ziTXjC>pfnRMaMMY zb)o^-*Ci$;yn8V>saqLt+ORY?v4@?hSRHZoNTI%N>Ad?T)R@9Y&pnby!es|p zF&HX0<@o`$1z`o7eTzpFPB zTc6k0v0#vUW?nJev|WV>silc5!6W3HeC_SHX9Kor-uwc@5w_fPZ5v!Erb+;}0J6KH z=#RZZiko@p;j(;e>u6zT$UBaD1~CfYiKMb9>ybWNgoRP?vE|TCR$Y3uUEd8&o6BbvO>fiB+qzBF7 zyfNm~-9ku-ZK@gRIXG|cgA?O;9&q~AOnes<295*Z!MO2C`y{3HBI5Z6t zA-={5HjP(Ah}D6-9ldWObOGyDuLh3OR;@R^kjW)Y!Uz%wvAf4aEG?(fPA^)^)PXnv~W&`$pwipG2;kY#x!dH@%?zxug?FfJZrI^6G zIckNg9g!A>IbHK9OBy_^$P&H2?uyKM#LbKM`jxj@od_fR!?sy$z=Ah$!2c)PHZ3UE z@=bYYbz7$0HPMKK3sy@1 za?eg4p&EwrK1ben$$a5;9`Md8|LL6_2E4PA*+)PzY9jB=O1w_7tEBA#QEQfPgu6=x zipc&&ipxR0PcYg0^yAKB78P~9bMoLEqSsvdE+p#X);Cy7ZTyXTXxb=ra;HCYgZ2&+~#0B>vSo>m@*(C#h+ME6C&x=d8m~N68h^SR?qc>AtF9{KYW(fUhiXCB;vci!SB%ex%P62XoU`vpJo-GR z?G~3vJVD#J3Qa28M%ebB$&ahgKP3vgJ}v@OTA!_#;jT#G-S69bC1> zCCqYbBWOGKS%nA=v}4nw$=KG%CmW1C0^Lia$%iH8g>W0_6T@a{nM2*X61RtSKu;Xl zVii91^tOLm+s(C{ai|~mrLwdwNs^pB(hyuW-c)mR}FGlj8z+XSABa5;JnnBB&r z+I5NgPs_U5kdK=w3?wjv+AyNrp4hTQpe!tH`)Kwx_$bvhvP<|Oiebx`E#N{G@hIN#te;#ke6>-cZiJg?+3UIc6`elY*T)NL^PA; zv>4ZcU^bWGG}o{Kv4{NDPo9er1yW33%_@GD>PI9?Gf=@jMeFs#QYH*LCR+`dGr>$T z!`+w?IG#anKqs_Wkh$;K=I|(5G*NU*e1&@E!Q-1?y1{LkKM{1j#Gi)%m=1LCI}a<% z9P^#6^*iI?Pe{rIrQng)m@W^q$eoX#+Q2 zaP`r?Ctq!Q8;qt#K5UiCEBU@jQ#$7mX34N>zwOdK#Fw@P54pc-WinpaU3zi=b3HJz z!962`o?JG6cS?JHgKyfVl<-0eD{5(+>j;2(;g6O@g_@7r^jTM3pw5XFlq0*|?X_JV z_SluIXD*lFQ213#ztDBH5`;1OGDm*sKyxT3?wU@1HXNz*gLul-5WVZ1D^EO&x*6g; zL@E;8&j+)%!^JcSohf*xvz}eh6&ra4AFuS`^sr>U&1=7yKz5Ei-F<==*=c#MXQvJs zmUF^-z6Ka-jh80L$G=0OWX;vse}U{0Yd&%jBNiO#*<#s~r7iO4#t3fh#IEEr<`o0x z3eir`z4W$qjT-3<0&2%272!I7@Sv897K>im#0;+wHGm2(qVKz%IGqmadfYndC057A z01c-cjOe&M9~BJ!g&IETF8=7v{h9lgRng5J4!@9gQCjmoj{p*?(tgGUjzM<7xU-GU zUP525=om3XGe}&ErZMT#pz(3mzpx9%s{fm%sO%YAd@9wE{Xe6I9pz0@3fa4UGjyZPE|S{1 z6s#y4Slgx+3rj#%J}OCZtLO11ffb&wm+X0)R68n}xA~IFfY*&y?ePpe=+5A9byCHG zNA#ULK1yIlkMG^2p>j_~buspBB?~{jm{X8ycm~DM=`rWJ3!&u*s*bhm@;Un0IE)aMhQVQ z@{5>-aLJ8lh?pJ$jL}JCJeRESiR9a2Bd)=0mK_$EibOVlx%wgp8@7|cR})8B*}DKN z>h|a$e>GHz`6gU=-j?w;DiO|?!sOe95V|?dRZ+gJmU#LfR!$i00PgslEMFmmEMdi? z`eKk5w|dIIWELq^>iZjH7+vWoM=$#u`5~lDCtHAlmJ@!aHvRL}^Cyu@UKfB2%l`{x zc;8ub$v~vR~%b3wghj!QU#LhxI~FP5Rw@e>C(XIGl246%Drm4FjLul79c} zmNB%Trg)IP$4{p0TPxZ?MP5yNUq-zTZr`hy7*My``F)-ZT=#hofkIb#mM9zF-CE}* zt1YQY6CDPG(E6=I+ZubmjucJxm8(fyC%zeB$|&rzmVe<9eL?5qAjQ{v@^I^fgykyH zW91}r&HA$R!cpp)5y;Mx6AW7sR_MtYR31LLvouS&r~DYD@T7;tV91I7-LRf^NpVYW zoN;7E_wccJsq`CqJfEH|oysco{)E?h`_Hd$O0^tMZfmexikOJUsIhs?d8W5``7*66 zx6!x^UNV>KapjskV7klGrfOOztjv}ay)?IGK4289Bg$fb zdZcJXIskfAO2J(uj&uZnnC%-9X4;iGo>tA__?|6&SDRZAl4bI8X8;{V&hP?YB;$vOhapm z`~p_ zq-f{A?Dg{U2iHh7nC&JvBDk71q^*!t9o)1qt$as5gNM1rRn2c;kK@zZg(&8Jk#nv$ zgMxB(!YkQ^IR46JysWzTVvC&kz`6eP+KbP0cdXX#_K(qYTs7f#=j+CTJ9LSEJuM64 zK>9`0`d%}qU|+F;ukEeHaweiGtxLJVdTRRyq!k$kuP3?IPi3lvDtg)3KNa#CW9!Ku zz)s!X$l_jV2SyGjmnH&4kJ&}1X8_IX%~Tn4jEDeta;a&_u8~B38{JGuMk1(d&@=7> z{&Q?PheFq&kU2LeG%{EW<-<>09CEbe<}^N=kcdK$GNtrNXb4-zDHFA>bXc%LGs=qd zvtPY2DLf^NZqVAV6$sGp(<)P>I0|0|L+sZnvidQvAZ*1%K3q|}71|t0VL_T{`6VPq z(h_^QNMX18YIEJrPr)cJUbRf=x}L9Ov7?e0S3yT{0;b)9Ya22C zI5xtpPg%CGTNnLM==n|6>ck0bd&dVM^tg;-7w42BUly`UTviyAa+~XFS7bb)!=h1% z7@sazzvyg}TsO+YpHvp_N{SFa?{2wmhF7V$11=o0pI3`49-Cl-lFN|@j`xwzpan!S z3nit%L)8|uEUxCCyBL_xm!5=9Hf)Z6=^bmf9!#!dO_t|iMtX_kQQKL1MBJId2#L(( z4>9?th3T1w?Sr>#+bq=h?%CS$EBb^AS)LG_PTtxP*(I5qUT2%R=x(2O((UNTbSX$? z7Wwn=+UJVfmQbU{>l^_5+n!gX zn0p`o##fc}T}`*N-uGX!U7JBJ?wMUU`y|8=FU4h$-e8y}Nr#^!?uQM!UFz9h&ES`=rWd_r1KgTq6SCAsVF;;S}JS zT~EXj`j^HY^r#i>^Jx$|Sa*Kgvf7Ft-`qfFr9X1~m`_?Z$&RY;Krbd1jPJ2usWJ7= z8<_MTg9{d#Xs4F?h71L{Ij>v{HYA@~EMk7MbB0(v;d@Z^@rRcacMoux(l4+gPD_p9i>=3&X>pL zk7=9^4VU5nEX9!tH#Ott)**+ZSwP%=3XAX9B$J{NXin(2(~=X;P=X%0!#gxKvLW1ey4ypHW>(-CE|&)gEs zcF~C0T{KghM&%6a_vc*C>tdRgMoTjf4A^>VDX?6zEc(dyX%~L~q8b%DxKpMgH${8sjuOH^SKjtK^+ELU_7kv zJMM67%MT9v8ln7H&N>JzUjFD{_tQAYHUl-v6stMdh`b*rV<(*~2qS%t(bUk1RTx)Z zp7!p`3=6Yr;s(ay2Vj{So@ z1ps@(JGh*gSC`~EgNw6>>A^ObfRS4aSdmiMMTp&!TCmhOjwB56IKI;&#ot#`5v;YJ zf_1h4FOv+mxbG||`uZ$;Le7Tq68lP1JTG1O!1$GrLqxndn<0$NFHP9BT9f5+OCG;l zP&f9BI=5RyWZk2KJ{fGw)8mjk1>85LgVx$o{Loo!-h9u3MzE3@sQrSL+v!19yd*O) z*`5Zcwpr*}%$>G`WgO4;+&{A~=%SBL#<>%B2XlgTTZa?_DKx6>q!|=)#^c z)y*7EKs6Bqnodiu5=`(hoN`AYU=zM(fp}R@`3f_UHt}S&-Z*5ud99hLQay9C+?fM) zA|`RO++A7r9&gz>f+N^YghP(ooIpLb&Ta~fG~KHOX}*mTWhv#yYS4vjo-J`*w`Q^0 z70fh=0En$_>}$d8Y@FipOeG3T;xEi0PDmzI71^RYw}qBxBDqcsB|cRlan)*Qn7Uds zjd&%ngeo#W<%Pv|=;{Z1>kGS;b59*qa}?5M740sMchq?%BydpDY;I|X%en1rk8hY9 zf1kZvon>;&#)^%W=EJ%XlT>GA7n{6Jtpztk@P}4Kk^rmNT=KjD>d+|2FzrY*N zE1Vv93{h)o(-8YKoK`i6o#c+B=yKyH31(@h)JX^OhL+?^C)MRCjTJO%zW_9Vg|dJ& zO*^xPezUr4);^JH$U&Pfj-diR$Z6Rf3tIcyHq$%ati zSwvFda#K*iyZ0Rjar4phri;uwR7w5GW$4KGnpp?sEc;^87m%Be2j2ZyB52|!CHKB< z|7!tK|2JBRgvsPfc1ndbjk>}Dt+FS$>+MkV6D3!No2EE%kW|BHCCjFhsqz%%T>CUH zI%P*SjXKQ>wLws-T~TR6{3O*kw33m0YGLe9y><*$TaZ?g3nXA#$p_^HQWNa#6< z^rlIg1qXffrAb;hCw)}HG|hsWK5Ao{)?Gz;5Sg2oE=Eymy5;w>`q@D8=MFaJGeF zQf1@rx`&WLG@Y!4;bY^0L<1jtHkVp^ZAgR=N5uxySPFpTFpcF7kVMf~z5q!ajYUO` zgiR?^tmj%7*e)iU1=J_v2FVBN6Lo`}1L~tt&=$p{aTSV*Q!&X^m12S^HeAuPzDOlF ze7b)5y#AWv!cH15uDF$^?J8yy(?vsyiMz%0l|jdEP}qu#aqIdK>nw%*TWd*p@CrY) zc5w*ghH>+HPD7HV+&mX(t#R)hK^lSw;@%XqWqQz$uh`l?m7$;UU>9MhA$Ksl3Gvd9 zFM&k33|dt}QBW@;jc`yP`b8ucE(*k=$Z&F4L5`hnam|Ex8b}6AcuUGD=Ce6@T>_N! zl~@p3h@x~kPcFm8eZ+}itz~M9FH%P z-hIf7cTUvpLhJ1uv&lvmeESt3*^6)QLP8tq1oACuRFz2mj;W~cD0brZ{}xjF`%ShOakQ? zQqo6~KwFF{3n(Vqv^+CSn&dlT$z|g%qoE8n4q+m#I%`D#64IvsWRS_LhSNq%%nJp!elh~FYo1a$ zM%FB()hpbT&okD9NlRy&l>3z?V@AC!ibkU>3xkocC_WDQM^kb9ySjp*QBHrLkO`AX zqhwa7Q6B5U>hrLoD}wI;g;`cbqxa7A6&FXs7jaoUEHUMUra8@TxMehBXUp3ArW$xi zp&@xQ@(c3Iv*-_3-`;9jdvMrez4J+{A={I$z71dcJNvQDM1KQ=r@i@aTcf_D8LusV zeS2(u)p+e?)3=q`tG8B{bdJSeKU2JTA?4U4^+Db->8a~d%Qw@aS|09t0DH7NcJO3S zi&1x%yg=}T%=8CxH8gnG%>$C%Yi?W0=H8P{DFwEtqlPlYZPy`m4VM1Q*#y@oxlNsq=D6==Tc z$>+2Rt>FK9>)YqOC!!hyq-Mhg7eDB%f0^(mo}VNhdCw~K)x`aUfg!z3KXZNUbu98e ziOG01_TI6gYR{#~qaU7JFzhOw!>lolJz{<{SzBRSZfqQNn$!CFEuX-qBMpCD{Pdjg zsy)L)F#KlC^D&3=$@d@H9~viS^dQzxdVDiBKDPSy3Fg?>VTW6*>toStQ*S*U%UsXD zwVKxXZ18iFN6Xsh_x*1-gYC#3Jz{uXXX0w~`fC1@uWL(5#_KDq(GM@WbB3)oc?4I! z<(({~fk8Ju1O{q{e;vsGCWvPGmVpcK*^F2O95JFCF=87rQVpbzo(9imrq-_zNG=gU zIG7{$AP#1a^C4i(0>dHhaNsf$p#cFj4)DO70?9x?B#4F%9FPma1&|?{jCe`F1zc$0 zp%8CeC=f}>F(lC28Ao=90kM`KFc(}n8PGHjCtEsiDC>RKum}XS5sc!Uc!1bSFcfeO z6c`F&#AMpY+H4@BhVL<&fWm+lLN=Nh3W3=Yd_p1aJd7J~;yC~TN;t$Ql2O{GD&nW= zrX~tY#u5V${wQLz@%A_})(5x(K`<14uUqHO0)E{E56r>Q9)d73+N_CjQ=5ULoOE~? zYEHj3gK?KXuIlpW{&|&gx_QwI8;WD}3(N{f48xHL-q?+H!x(uyFy}*FWX1?FIsvHp z=S}|YE`h=OemlQ3TW4Me149nN z5PEugFt`RxLjwv(Ktm$}$k=dbK&U)W-$p|Su0PcRLe)3gr0yL^f)QL{2z5B@M@4Ah zc0ve2WI|v7gi$fpEASB6Q0dSif{(tAmKIV6jzB=M2u&;$f$-IV!hs)DPg`5p2dC++ z0r%DUQC-k)&HST2-~v#gCeRPSkv_0sd=7czLJXBG9qk~N_`p!|_xd3~cjzg>HgEsG z)hb|Y{=FA~0p08d13*UKKG28Y8-WHEypaZ60~i+#s3zP6uB8vx)7ONn!V&s#xB={M zlEB~tswf~(8W1?`|3URP$=_51LtKCT0CNGN9EJ-CWef;h9ga}>UhjtT zrmO*sF;c(v(SN(wutE0r|9iiYNQ{Zikkdy8dLJSI=FA%X|1)j=+avAc{j9sKGgHaP0Jumdkcl{>jTLB0 zB!5335*RB=pNI`OXs8qp^}+dK4-v^qM$X>YfB-_kK?srHi&GCJ5h2=e2$?{_g+dM! zfbe<&fsjzZ{lE9WsEnn0LuUj zH|(d~G2(&zmwx}ff_@oW;F)2lbeLgEfulbk(Hg%V20yHV^1m4c72tu%SYtrvF;s6+x;pkKOdRl zAvj+iI0T`=!?2&M4B;ZG$uC6A~OMm9+z_o!V@Sk}| zUA@2S0s;tNd+~QU9pHKWXPyp17uXy8El=a$@-%?$$KU0&|Ea5~^;;d}5G;X+3jv}| zLSW8>NF2}y5MXN+2y9*$TLTEpI>0v&!k7xc&dM4MaW_Di>mcB!x>^>dS}1KZl$I{s sLJy7B)YXQYYM7%n&5i!E!~w>>D3pv1A#ZfNh8`TL!=tEZ?qI?5KV^*u)Bpeg diff --git a/doc/manual/scan_stream.pdf b/doc/manual/scan_stream.pdf index ea9d9c175762cb0cf42c2f04471fe2d294cfcbe0..e8c52d91337071862ab7904932502e52e84a96e4 100644 GIT binary patch literal 32832 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

A39Gj~p@n0$wj~YkrSKfy|B3 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 diff --git a/doc/manual/sml.tex b/doc/manual/sml.tex new file mode 100644 index 000000000..d02e01fbc --- /dev/null +++ b/doc/manual/sml.tex @@ -0,0 +1,146 @@ +\usepackage{listings} + +% Define Language +\lstdefinelanguage{sml} +{ + % list of keywords + morekeywords={ + and, + andalso, + as, + case, + datatype, + do, + else, + end, + eqtype, + exception, + fn, + fun, + functor, + handle, + if, + in, + infix, + infixr, + include, + let, + local, + match, + open, + of, + op, + orelse, + raise, + rec, + sharing, + sig, + signature, + struct, + structure, + then, + type, + val, + where, + with, + while, + at, % non-standard + atbot, % non-standard + attop, % non-standard + letregion, % non-standard + region, % non-standard + sat % non-standard + }, + mathescape, + sensitive=true, % keywords are not case-sensitive + morecomment=[l]{//}, % l is for line comment +% otherkeywords={>,<,=,<=,>=,!,*,/,-,+,|,&,||,&&,==,=>}, + morestring=[b]" % defines that strings are enclosed in double quotes +} + +% Define Colors +\usepackage{color} +\definecolor{eclipseBlue}{RGB}{42,0.0,255} +\definecolor{eclipseGreen}{RGB}{63,127,95} +\definecolor{eclipsePurple}{RGB}{127,0,85} + +\newcommand{\fop}[1]{\mbox{\small\ttfamily\color{eclipseBlue}#1}} +\newcommand{\kw}[1]{\mbox{\small\ttfamily#1}} +\newcommand{\fw}[1]{\mbox{\small\ttfamily\bfseries\color{eclipsePurple}#1}} + +\lstdefinestyle{smlstyle}{ + inputencoding={utf8}, + language={sml}, + captionpos=b, % Position of the Caption (t for top, b for bottom) + extendedchars=true, % Allows 256 instead of 128 ASCII characters + tabsize=2, % number of spaces indented when discovering a tab + columns=fullflexible, % make all characters equal width + keepspaces=true, % does not ignore spaces to fit width, convert tabs to spaces + showstringspaces=false, % lets spaces in strings appear as real spaces + breaklines=true, % wrap lines if they don't fit + %frame=trbl, % draw a frame at the top, right, left and bottom of the listing + frameround=tttt, % make the frame round at all four corners + framesep=4pt, % quarter circle size of the round corners + %numbers=right, % show line numbers at the left + numberstyle=\small\ttfamily\color{eclipseGreen}, % style of the line numbers + commentstyle=\slshape\bfseries\color{eclipseGreen}, % style of comments + morecomment=[s]{(*}{*)}, + keywordstyle=\bfseries\color{eclipsePurple}, % style of keywords + stringstyle=\color{eclipseBlue}, % style of strings + literate={{⍺}{$\alpha$}1 {'a}{$\alpha$}1 {β}{$\beta$}1 {'b}{$\beta$}1 {'c}{$\gamma$}1 {⍴}{$\rho$}1 {τ}{$\tau$}1 {~T}{$T$}2 {~Z}{$Z$}2 {λ}{$\lambda$}1 {_1}{${}_1$}1 {_2}{${}_2$}1 {_3}{${}_3$}1 {ε}{$\epsilon$}1 {->}{$\rightarrow$}2 {=>}{$\Rightarrow$}2 }, + emphstyle=[1]{\color{eclipseBlue}}, + moredelim=**[is][\color{red}]{@@}{@@} +} + +\lstdefinelanguage{script}{ + % list of keywords + morekeywords={}, + mathescape=false, + sensitive=true, % keywords are not case-sensitive +} + +\lstdefinestyle{scriptstyle}{ + inputencoding={utf8}, + language={script}, + captionpos=b, % Position of the Caption (t for top, b for bottom) + extendedchars=true, % Allows 256 instead of 128 ASCII characters + tabsize=2, % number of spaces indented when discovering a tab + columns=fullflexible, % make all characters equal width + keepspaces=true, % does not ignore spaces to fit width, convert tabs to spaces + showstringspaces=false, % lets spaces in strings appear as real spaces + breaklines=true, % wrap lines if they don't fit + %frame=trbl, % draw a frame at the top, right, left and bottom of the listing + frameround=tttt, % make the frame round at all four corners + framesep=4pt, % quarter circle size of the round corners + %numbers=right, % show line numbers at the left + numberstyle=\small\ttfamily\color{eclipseGreen}, % style of the line numbers + commentstyle=\slshape\bfseries\color{eclipseGreen}, % style of comments + moredelim=**[is][\color{red}]{@@}{@@}, + basicstyle=\ttfamily\small +} + +\lstdefinestyle{smlblockstyle}{basicstyle=\ttfamily\small,style=smlstyle} +\lstdefinestyle{smlinlinestyle}{basicstyle=\ttfamily\small,style=smlstyle} + +\lstset{style=smlinlinestyle} + +\lstnewenvironment{smlcode}[1][]{ + \lstset{style=smlblockstyle,#1} +}{ + \lstset{style=smlinlinestyle} +} + +\lstnewenvironment{smlcodemath}{ + \lstset{style=smlblockstyle,mathescape} +}{ + \lstset{style=smlinlinestyle,mathescape} +} + + +\lstnewenvironment{scriptcode}[1][]{ + \lstset{style=scriptstyle,#1} +}{ + \lstset{style=scriptstyle} +} + +\def\inline{\lstinline[style=scriptstyle]} diff --git a/doc/mlkit.pdf b/doc/mlkit.pdf index 6b46f266b37afc10627b16fd5a2faeed00c537c4..b402aa1e8d47a17a5acc2a7e87c7512bb708c0ad 100644 GIT binary patch delta 977659 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 N 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%0A~YDX7D>35BR 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�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.B^jur-&6)6mt$l;nFA%11ELJu#lC*5`84{` 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
Fv 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%0DLe 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 SP^#K$NEDxp%pPk~zW)dMwccR> delta 763748 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 z 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

i97>u`NCme6s7 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

S2fevz}R@CeXcOeTN|%!CN|Rdo!-Bi9pQCF!(_ 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

US(ah~tO0jhtKq|vcOO!M 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

PeHV=kq`bW(y8@2X~GimW2~8Y1XbP6~aP{%i=D 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%0A2i|{2vhND7{CC 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

5AHisdcr=_Ep=85()Dg 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 `S8Lw5X~%>1kfp_ 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

$JkwS1?6@h6ALW`BA}6 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 z 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�Re7ey1*xY;MlXa=hU>=zOOoqebyMxY)n?CQ;n{A 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�Z_xm^`1l{dje#3Ho%&aTQsOm%CwZYEb zX{Ymt=kMd^=Fn*kmHX%IPUwJH|64hi3%%(8@4Qy(Dj% z>O%P?^=}`KuP2w*YD;dbxSDi$Y!@INNv6&8-WY%7dqA&6&zlrPZc=qh6)!rBPyjVJz*$3gd_QD)Dyf%mU zlZ?`B2moH1B_WZVphtip|$4vLPTw{g}`j*+P5j-q`IZ@MZ6AOaCHF6Te*izQn=-V`)wLGBo|tX9b>`6 zl|K7C_I|7OGW?!S+kTr?7O|BBJ-2#<@Ae1M5|GCL35Q4PpC+6-8*B9t@sjBGoAucC z(Y*&{vMBZ_$bz2zp+>~n5${t+S?FY^&Mb_#08viLN2+^aK&eFCe__s(K#0m5lTKrQ zBJNz_lww{sgUwDRHN@8v4?tsMwUBC877GPx?WL0c(=LQ;y*eXHyLi}?AyPiP?Ai}) z4?tsR{(yg{)tqNzXn0P)UGF!i1?f{mR~K{(X`*{TV@h?CG?XCs`|*J2Z9nO8_6F>yCz$O1o{1t))STE3Kl6l^L+Ueav%A6IkV$?#r1EI<>NRg$gE=^($ zX*g4%SV%nE4>IYp2BRRQo04i^pqr8m01(^Nru||I*(ANxhwZlf*5V|7cTVs7&n7|J zO?0sldC3ZRayQzFe!`2tqKLymC~XY8j7Bn=WF(T?#TpY!V|^eS=uPjO!z6vy}MyNd?N;_mLS_~I4_?(QrufklD_c3Fax;1b;3T@qLV zgd|9CCukA~76=v~h3(>+&qVn6{zi zgA2)N`i?J6WTD@Z=%x=FWM867^cv-iXZ@ps;dt}83Fw&4CnQ8odu5wBX;;=*}#WQG>`V|d7RPP{0`o09ds1@&!gKUKFXGy zg}H-Xt1*XZ9kSg09Kl&JxyoKeGhZGqDrv*E>xN)e?nUv}33Ew~+0~&eJKbWsXS&ie zj)j$@NovjcInRXJ7&I(Pdrx|?0 zTfUsN$?5OB+_vMj`CgO%OQ+|1RHBEknjr|*Lqfr6+g_W&Y_Tp%Ngh-1NcxKP=#{~) z3w_J7Zm)?Kqs)Z*YqvL9WJ2&2^e?Dc`Yyj--bk11Wh|X*y41X=?2!ij)^hy?%F|


w{G00NcDcE$jlqpv?Zy`eOw+O}CB8&!+*8~!2_);}w&&4q8 z_Mwd~i;=#GH3K7kDM2eov1R7kD!^zLFk0(h3J~;snJlbHSBe-N0`&?pib%u-#D^qh z99!&mzj}L(zse%gZxOLCl{9?07g#UF5IC9EwDV%FveACUfGr=dsp zBUNu(xZkg;WlObW*&06p<6u(4NFbxZ|EM~^5ApbRc~t&ARx=lu>us+s;KPVYplu+4 zvEJ7zU>^!}b2{k&JKg0lrUAe)yopp3|KWR8Ykr6VrBsK&oI@@rYjmyD^xqlDJqIMMQU^3^xm7d;H}H zdhPYgxErHm986k5`W4vE-$NTE_K0t8_RGiz*a`w4tQF?eMfQ(a!W1=D%>W_+(6R_$ z;QRG6>(isg!7e}o_S7sS$oJOo>eHpett0e5_>lemj{QadkdL?qY}OzSJa*JC*@0rW zs%kFF?-)W#QKlG@i2;%^+Wd=59=Z%u#W1n*K^lt50(19SO+idn#E@-@@&?4ciMc^zM)bc{k5@E)X|78?5Mb_v+1gd9P-&+dM-{)Z^Gq5!@wGsn*9q45G$> za!62Ns@|$`>s7Y-4)vO~HU4G6cY(YpJqYOt)=SM&2nRxNzkVBV#$f1{*`8yDAAGs0CBXsyfOP4bN&*GGtKRiZH zQp}tQdfa;@+!?fR4Ug|YdVd~U{id4a&QFm}x0omJ76EYFY6SO7%`YCC!mCB*$$&<6 zu!U94QzWp|eBKiH4?tjv)IcfBXo&TYUt9a8SXxafv&C+J(`TXyi$IFs{Eo8`V1atcuuv> zX<3MRgE&L00M#v?+&wjQg{u)xL;OAod^5dsK^?|&Nuyu3(~lkYTLQ8=ewOs$%m*4M-v+G`@vTq| zwu7eFirlA=_XSH3egz?jxVg$k0N%n)VW_At)+h0J}lT?4pah%?R68b~0MxNh#yf!cX_Q3oUWx2eqhPa2wP0RZ? z9bb#ndo~=)+#jQm)0p+2aWj!J0}F?W4p$Dv&ayId&Hcyo{Ebt-;zPF(J<^bdb=fUU zI4G?2VFAQWEvD-~W_~LBl@z$B95Zi>=>f!lysySSpAsCSXBFoEc;8w|S&2$-pSE=T z4WT14m-xl2VK7V0AKj;7|2Gg_fm|o9{~>Hw;F#aQ9*k+08ZX|Lcfo~kRbpUU7le@2 z(;dd-4s|S80Wu?AB({~mYw1{l3;1IWA8giHry({I(PQ}OXdhiAu;?GaLBVTC7$gzf zqVaHB{7pha8xFU{?w~gM*DxDZ<*kel8ooZL<1!dChY0k1z#%a=fiU=48vq!JLw>@M zW3ZF7D!7fpQ&xhde z=P?@`7!pTUxJF;jNua6{$B*4v>t7L=PaemHS`|_n(TjG0H@46MbBVlI#TVcd#2~Jg zZsN!0JQkSuz;lKby@UhZh1D*;sd`zp*z%RH^Q$5FgJ#&Qi+3V1LEWW9j6V$YvYwtZ zXcQD#?#pJTUjx*5)Q~RNE6f0vl7$A|YHY~CrFy6TYIZX3zZ!pQ{Z~T^z$npJFT?!D z05fTV344+j9XD&Y}qZ2nckz8R$^4NBP=YtIg zi0btbD5V6Pw7)o#CX_R!Jykg0Pz}ptm0yIz6_m#-WiHhaZu+#XfMf2cU|=(#B9+KL zmm{|ju@$v;j_#_FjUyZ$Kcz9EXTg!Za!jDqAe^@bI{*X^9Bl(wHBKErD=w#%r~Ku4 zzpNH32_4ShBDg#__(0;Cvp73~Bxv{-_{ub=y15I;EcF{nU*;pQx7ZBSkffSqL$~^u zN-4Zw0m7LK6e<$*1lAtRZ5%~;08a=i;Zg)$5vY|TN=2d@D$E4Avsv9^unLqY{vzm^ z&1-|NC>DEWVsRz0xI?heID}~&cfv;;nNss4bejufms^NY!z_$&ta~O#m^kJS za2kcek^=lz3>aLp_{$&^yljh^4RRF0T&Jh=!1~|t^z1s-?)5{o=<2_n7%0 zJGOGZ5kj>`fgohieIhDe-XH}hp=x1pI57BK1_c;{cj1G9I`r`{>S5WpjUx=1Yk=h>b?xZIKa% zz2t5h?RmIxT77@1@Yp3dl!8!9I)qe%f&a{|S4TzlFy?B6cAH+#{5o?PHo}$l-xMh~ zQ){shJk4fz3s#8Nf`h2oFKGd z(JL8zDCO<$N`{An*b_x@oJJVH9lFN*z5lS%e`!|wD|1bQ+z^$(EeIM$anNOBC&YVFM1Ab>c;#s#{%InPQ>7b$7Y|NeOI6{eDxPeN zgPqaa2iR$e(>+1{-Xc02vQPq>7jP}JJXNlj2rgma|z=Do;B&AQFmt!MDojzGrbUb zKF3jvO5sg^1Tb27x8J|gDhe0?qf2-!#&d#sbd}vrR%Qt8~Y{;4Uotl5$?EHl0UpqU$ zOY^Upo!_nbye4i2{(Cf^A^9`%do>^S|IGZony(se0Uhqpe3*bU%kR_t%a~7U%X6u@ zA|JOt^t-gcC9a~BHihz`VgRqq81Iv()^~ zalK{{S{RFHFV zEO-$|a%!a{jWX~iOK#ATZF#ywi_Avd+HS4owlQ9BgmV<9^YdD-C#rXq*4u0AU9I(c zUA?Pg=Gu6TY_xxyhPkk(cxlZCL5)=~0#CyY@Pwdq+R+nk#jjg>K5prWEIIIL-i_Wu zKjj33ua(;*>p!I;ZaMO0#a!eUW1j%bScMj={M9Q!Zu)xzIA4l`&x*?d<{wnH;ujbN z2}cFC)k|*jmmR`Ai}WXQT9HRrbEHre)3;>pRL$C^wWpDBlt$-W$gHXa$wFOheD!wHH}>(cQvPO4e`~e=yHNeE{hY8>IV3N75sGuv+D4%RFYGn3mB+ zengEYNr3WTc1&SgOBB$?j`EBQo5<%ZR200xgZWB3y}tNZt|6N(xSV*-eR~CW?1fqj z+J%j*Hw{Z#G$|k;L!pQr?aR=dMy493e`%+;`J~}=#tg^Y=lvk1w_&GM#5A0M48T;k zYVjE))!B+mQxWtp<%@MQOl=lh5WXQ-aE(o3+Rsx^A!=P*5{0YGP9ko@U&T`aPXHml zxnf+y-nL-F4p3+gu0zrW!!dZ163G49QnU$YWpSs@RwPnP0^Iov(hji&wOwt@HZng% zy5`Q^^o2kS>49xgthey!3O&?4hx==J{{rYU>v?wm6O^NY`6ChQw09Px67&rU-9>cn z;>IyJ=N2JSj0+#7a*4@7>rvNn38JZP!BGppn3s!e5x)e&pLmLhzIFQA`CE*zyr}x5 zNc1H*6wB@B8p?IKOa)>-rw4~)sKc%C82p5y9r2HZ0P`HODgtmXe)DdSQ5ax}hDkmn z7fX>N5a+tyFJ1%B0HPkfYH2~dm+5~nGA^o{Nx%;;9xnk2TyBA zqUwRw(6y_fTSEDLNMd73&HucwNwmnAc?_!ILT(ahbsi@NfWwU7iJ7yaN3uSL8(x2V zNB2ji(&4ZYE*e0k5#0PnUXB^K&lZ}I@HL`U@EX^u<2Bym2E2vlNca}}?s%IA`^Z}a zA1>sf0gDeJCGhsByv1~-VYZN3p}t-PN(?|*z6h<-^XVRB*$O@fd9>V*UE{~!f$OzE zzg-w}Ol<^Tf{s*EukuS@v@tw;<$$LN>;)NeJHmRoLW*~NNHiuYfQcmR6#+Sv1GVG? z-Nw^kmw#jdw4mh_ut56AZSgCZOFyF=r{TKrr2 zbd$ckO)ux58hA>rT;=D65K*&K&HQY-tEDPW@i)l-Wf9Ddaq7 z_s+t_;P+)Q&|BRI8*w-OE%0{w@%`XRkZd1naq8N8dJciN5hVDyUkrceEq)2E`)|Gu zMYh;G_db3vnvpxoXg`8>&lYh@oV0JTJ9BqH+JXtWVyT~;zn~$^DlRpcih7Mtl^niN zO#pZ97t38tF!TQ5sRpQop0`3!hn`T&_`vt@6#ojeiCC=viUa(-`($P%(GbV8s8k07NIAQm3bxyhAHPN^#M69IpJR6Bn@3L1+Q>KGpvP)>|W`@4{K8h z&ihT5_?P3S(Z3vaBQ-)Aul`vuaH<;H>RDnP%e+ke$M|DrYi ztG4(Tr8vIp$ph4VAJi+;I1GZwMLT^T3te+ywwwhTRfqi8c505i*;L0GtWCwwt#8py zhZv{>!djdx6sn>7zVa1;vIs{{ZuA$m;_n=cfY4)h7hwiMICzX+6e46c!m%ZzXzvk0 zw+%g;LHrA=FmHRwU4x)J)I!%w#;~K)u^+6p_XWqyHq_7?Gk#5&bu9igzLLTEsq@x1 zU-h`zV$WnEvJd)&&VLDK#9hf`pmmUL^W_>SB+SRx6WF|qkjKrR=p>)1sFuAItZ|gF zV7Sfi-RS&Nela4KN*H{Gy>Tp;*u$>EscO8!B_l$gX{+MmiYQbA1Ca5b`l4n071U*y z-+*?ZODs?7Z*hDx61ZQa7=8>12o?ns;Vf9NxE$fG#wLF;_@vig{6I)c6AV#0`b%(a zY%yuQPTXjm$+`>l4l=ghWcv=4IS2iV2Yjg7^vCGJ@u1vYBkoK8adhF=(U%+jRXF6A zgCCDWUee`Pw)#utn-(}Wi=LALTpKq}TeTLaS+O%hMc*7cgL7@Dzhej7ta+!U!GnG= zPY|4!2HYpbMc&xBtHPCCZ}+QsK+#_Br6hPVB*CSY1eX#yB>|&_FuCU?0apc_o`UUi zp+sOjWkiEKnpw_0t^**!ol~R*rOQiHM{pceIUu^+yyUBR3HImslNL}PS=PzOGQ) zz3f*1qO8lcLhgSDg>c4{WAulh)W^_aonW)MYacFYKml+ULUP;$Bh0l>Da<(C zy`^dOwFK`Mp&*yYRZ>8RL-*^)(1^Wb_Ys8MbLsv5vFG*3L6ni7ozdj3`Ta2ZrDEeL z+U*>%6E@?W(!v*|1>zv*3e2ZS2&>xiQo&cd6Rc?d;6i);piM0jB%L04!iG|-0wb>Y!!G1c@940r zmT%rn9rrz0Qy&L&u7=AAVuenQ<=7SO=3mQ{LcS-DS@r2l!D*qur%3_1(%ioILtv_g zy%V{uipyhuMFD?c2Hg#ltPI5RZvltH2E%8M5E3hFQ-S?=I1@OMWIHHB;!4xWvE(pN zdKyl0TwD2;S~(Qzgf8N>A#$X|b@QUiC>P1SOq8eF2!j$o-< z@&KM7nrWv&A01iC;6<9S8ohWgwoOP4bn;$0sp1p0QpR=zm$f_@8pE0f*@U~SWwv2}u%M<{pB5c| z<;x1xkwG7#iqbFHM9~$By$R-~V(a3k(S(K)oRCn0b?~wNigqmioo@@g@}KZoyLMfD zS3Wa@j}qEX?%8;PSNy)JaNhvi59jjZ&l5)weeW;y&I15GEOhK(U+&;=pWQi_FQ(vq ze_~Zj_(8C6(9T7G&8whz_WG}a0=y-FFD4cXP6zQc?wf}2j0HuP^Y+C!#dAD3C4Z+* z;-~z1{^7B&@))0&#hG44X}*Hbi}|?pMgAcmXkzl0a27LJ9VgssLaaW+Ka$Bx)v=x_ z+@27ldl!#I0l^god{rErmcRM@shXbPMdHeru|WKBgkY1J5wNuq!MY^PBukXCMkyMP?#NP#i z;Q|F0^u(J$$6EZ>LMN(4AYSds;OSUxEXL*xsbh!}4qxN1e-?j=1Nlpm6bov_#HH}h zX?#@zEu-%Wu_@?@#hT(%vF8N})&NwnU`aHe&lW5jD;C&HEeVP)<0veWzAcjKi`d+v zpq8)W#BvEyD+%JPwNM7FTqs&DBT^p3S)rWe%L!BeaFds4*06G=0IuZQN+MKA8ds89 zl>(`f5bPfv)c8sAMUf6akw6$P{+yc99C;8DOTI5y1p-U{;9N9{$K_8GJS{S|IwZ_n zAb$vC0nu5|bB2sGqfO@9HuHsTk_eJt!cnrre5xru#om<4*q0Kp@)z6DN5U)Z0W+Km zrtlfsq6IR_MFK={s0~i0gOl^VCn*-ldrZnHSD(C7#5uTtEXnsx!JPL3U;fB@a^a~o zAqWZrf^T(lEs#N9z>zHG94VH$RlGJtYbM@BLh5-c1^>u(_;2`CO)*L|Fq~g5@@3W2 zQ$`HeyGy=TXmY1yC5I=M2g;T}D&bQH2##4HHl=(^@d?oks5;P-d=(Z?Ir-0f^`SZJ zp$j&Co7^7|$K{tWBj^r9>v~d)Yp@=nb7$U8V3p?j45K^FC{XAXEWh6tqidY*EaV?M zC8w0INp=mOE<7m_eGlWK#m4*5uP$)l|98vqD;GKb%0L=PAr!1EZ(5maegS7CFXomIm0(NbOAyR*smUk_(F%7Cq#lDWk#LzXh^d@FgPcg zfujZp(3^9Dec{&$To)ACC_Yp2lMEq2P4s9!U25#xR+mDk5tRKa_*ZX=qcKd2ex-L?B=|DJny(C!+J+u$k)I2;QD<~4%9Y?r;pFK?!0bu=o&yEaO>%MuJhcrUdP z;k9Q_>LaXnP2{TzY13lp758#)UKt+awV=Ire&#zJPl4u(q+KCEO8i2imeE% zNF;hQkdUiW(vaxY2x3uh96 ze^$qhuMF<7P7e1Cq0KQl0FAv9?Ey{rz-$#mwA}Cz;^J;G>py$^B<~I=mmu2U^NU;#*YPnv8L$H`b@H&6V!-!8O{oxR-w)D3~tKNPelK+^H z{mnvL8lg>e_EegegrG|Kf98HIDUT=*L_nfKsrf(m3FWIKBr>8r%~@iL3v2~jJw7ZR z2A*~Js-^#%kL#TdKk@L98-8^r2FC{b5#KOlBwlx%cR`fniiw^C-YVUH9)=-Gj3Ty> z?#IS4xf(}@9eb6n_k(U_GBWa{UC#?S}=fA-HQP!cI6I zdn0bf=88xV_@}VVhVIhzgd+xbPKemK$**kjUv&#(kFh^l4krwzg@%AaN<|WAR()SS zkA}Zg@92bG{(5}#ZLPl?S6Ki6rA_5Ne2A&c{JPu#QfdBK;vUlSai*Wi#wWbx5{h7* zbpIQK;0GIYhuj41%0KunymirqScUHH9>nwr&zHf$V_kMDPOc3YL%ouEXsv%yJATzg z?_W;ncJK9m83@iR?1j)zwoIkk&*3Vs+`CsM+)w28^K$d%qP70YF2B4*S2TpA zEbuYc|McFq#3yDxT7)BEcWNIhTKHW(?p$k6STZnQy;o%CQXKEqx?j1M6s<6yzzrHp zcllRx0|6hB_W|TtA|!$JpR|R)tlPfm&8L7MrK51rM+3IOEP%|NNHkV;i=TKTN>azg~@WJw?&iL24l?X92DKUBeWr9asWzw=x zCLwr8qz~M!kxYU)OapQWoa@j|uo}tE0?l&kMWNT5`)UVqC`0_;K`$Hz*s%@b&%iK+ zDajqraiCZNy>9{K6w(V|$ZBIJgGYJ68>Eu#9F_9+LT2{hVL<-vl7}cPSPK0_l}^JYb1rIJohXP26WNlZeNoY?k|BJ_zd` zvcaCwb7xx5{Tsu8no@}x0B^ukaTWF-ZkgiGO16g$hd2<4`IiG9e1)j&6hhJvIx=WC zq;`>is_b<|@72s^jdcRU^5xC;W(YVtwCpAP5l1QDUCxK!(Cx1_EwMwlx0>}S&=$0g zZHL=6OPK?->S>PFHXzx)>eO4pkctWxD)D?r2E zER#pMCJYa@8N1gccd}j2X<1wfs3GI zedr$g;SAMOnV#k^&_``!nlIdLpkj#I{u~{ym}R`O%SsbbTH-$dr(FYhtGMl{YQ_Q>H>N6nTO|D$8)Y|>dxYb--{$lLPDrx^ z9&TJ=`f*+5U#nM?y?%j)3~PhE*se7{do7l3b7BGY@0fY%wLp{vMAX!8;HUhrfJC$S z$ryZ1DLEIJ_*95Y&3wq*Ada&|S1{10s$LNK-fOvjSD6nips{hRM?x#Ckqe~$T9A6T zMe2JFDHsYLAW~gK%H1IKsGY|9>MG?#4wubu!z_1=rHQ<^1kEo-MsR;$L~E!#NT%a1kt zV#%2Yh6{K83hspPXS=Ej-T_5Dmh-;(P^LR`EhqTpDK z26w+!pPH-j%n5|fstIJs$VwmglI=juU77OCz zF0^iNgS2)y#1J>?308;IP^s324~rxT%o`D)&#RJ_p}mUR{fgV*>p!*@?ifn5{Td7N zUdCyti)wY=zq-d?ZA00o5sd(gWEVc20xAW0S+ZbmS6~@|+rmB@`o>_rK^&QtF-8L7 zNYgkBAATI-rNDgXUUrfTF3UE!u)2;=+tw}@IT%2PV z@$x$nAtq%1ye!#^&3}QuKrK~9=L;0pjv1Dlr_7Xpu`AA1uGl=Gv(1&pCQTivtA;uThV&3Go^4Hx3n zlo78!qhl)UffFI{&z{C8RGM%4ybp04l~3W>Fc6oKLzmO@=px$3<>)X1+4&J21`A%j zi(!v2v@p6j)6OZPrw)~ejRd2CgA(v8sIumN$Cht zi6qJu2k!*9A9F-jN&Cyib*`j9WM*j&rME~$USW!UpHy)Fj30yhUG?dqd-a=S8wnAS z$pPZouEcdWsBp86h6x^@fj2^?;PL-M3_VBV`X)RbkmL=(FGY%!PvKOAd4S3%@4fXo zt|AhJ8!F;GPx$^{QxxI*lHXl`=y~(O*Wx^yBJ}MAu_uIf7vr0QP<9sp)FUD-i89$5 zq%waB|32URZuExBAKrZ1zIp$gH@H1O>U?m{n?JK}emi>D2FXPw`P z>Tuf~1Mpoek;2qx@br4n6)a6`iVb>-8t)eW=1SqqrO)zP+H%!u=>4 zGp{R#y8+Roa*AgYPn!iF2XPMTqJ`BHR}udufUZM%a1E>N z!l*(Bz%#^%TL_{}Tn1X?!a^j`))B~8NK{N}p6|m+zb5JN-6wT>>eEL#@d=REQk0oz zaFG0M`^YD2>`+O0rWHXL#1)oRNDx4A`ueEYvj^h~BoPWzj6rg3?I;u7c zKbb+7ESC>5dU5cBKu*vlWl3Hl2V5)7cP8+qZ}UMkS^8FD{yE%c95e5l5Eim)cgbnY zT7%nT7n)|EX0FdO#g%^C{5e+RnEB?+@@Z+Ya@;S1z{^91@iZa6Fi-U1JN!KARGQzP zAcPazsu)sE8K7&0l&mC6*86=-P5RvH%%FXYdUy6MP@HtYKtw{#9dm z!l?}+1K(H`E<@6y{^A~Zb+k?Q5oO3oX%tv$oG)OhBXpPja=;>WqqgXI+bQ|_qX}?L4)CC^&L4F% z^HL)7yZ7MGQ?v-KnS=bc3$uIg5`1CQU zWOd+&gxE`Efxy-umI(|I>VpCQq!=r}LYm0ac-%$t3!97I!!(pZ}r&Rt)ctE;0!_ z8(+mItWNx@XEaj-^CbjPkgXMA=mavV@3ZG=9&z4w@ry6@SM%+Rp~n$Ibb5*`2%kU` zE{o;|dscJUv5y8h@*R{f5G1%bX%m{`McKG7egiJUXXkj&#Z!6Z8IfbqCinUa`ALMm z&@1s`r+-b}zqlD@)K2@&a!lSYV9cl@t-yu#6aK=izbx-p;adYdtfi+vKsS)$GL)%p z@-M^1)A-xuUx)8yfMA$*Sa7iW?ct;KYy=0TRp@+6rYE=)7p=Ku>=AbLo7tjk5ha=@ zw|yJh7EQp4CRj5;P)A9FE6^H|-X&6}6!%1$w_wk{-24#VPi8i0jpg)BICrQn6;4o? z9XwZ4X0T+|nFBc1NUr29WTqzO-$2v118jjN5f5vdME5V!h*xReNAu{zgMJxLb;(!f zaY`;s`z1u>MT8NQnctL^8~3OvD*p@dHZKR2*P*)h9;o2n6ivT~>j(I`0@5>Xrf|b$ znfV#|PMmCm|H7bJnUVAK9ktKZ_n$_6mk)&DP}mE&?}G~;#`IFEcbELouRY;k@<;w< z20Mkd=E#(P^DX{$2FoEH(*Eji`PcB<3%BzG?XnyF+wozLTl`y*F^&S|XJJQ-lI+KX zt-u<%UPMe-;ggGS`k1RcjC+1!1Q%;OL+cq~Bj!i4remtFA{(LWpTUb(yimU+E|+UqYr;#b|~S06#+yF@uCHu#FhQZvj>L0Uk!5$*PaQmx8-7u6P10jn}cgx!$D zN+D(5ndOayi_QPQj&AYe{^Iun#I2${zD+uVm*CI;S+1oY%D%`9JnIFL4`t8N@x58p}_{;+Oj+ZOA;qM<|{p@r!s-pUud};=6H4 zLwvhmam+7nVA0}+r|-Zgz3%W|Mdhg+*9Vy)T{(0VU6AE}7z zCyJgsB40RR4wRke1oqh@9Oi4y?^Nh#jm{n+U>xq%FF79;w=@dUUP=9^`)_@#dFZ=H(Y zj>y*dDMTj3&9eB@2wf~TgYnw5Gavl=x7i+3 z550bc`LlAsg#}m{EEOjCk}yf7d7|PBM-j{85r81O0l6oH1xwABj*wGWh~LeU=b{oE z16&p7R_B|ry))-XV04!471^!xJa@vZpF3Xe!EJwO{B(Hz+ev>rZ~gGhX;{Q$G1}hc z{_2nWWi3#GZrLJ%LrXz;d~yPQ!6o=~&KW>#vYs=p6Ekvzvu#4sMFX9&srx`?d0Mj-udi)e zyxLh1L}f3E-i5Vm5yP^4F`8(@lKmhPxhp}%3|9>;qy_q%s5zG-yesWjV;u2KGkzT| zmXoVzi^!aBmyue5mE&e%Lb57Uc5)}R>J|8Owzyk^;K!scRTCO|NO8z?82pe|Mpucbyu`g36~x7P5Zsl=W`0UJ&`u>BXdaL-h5<;!W|)W4>M z@7flye(duX(Q>Em1f2?Un3HNT$3W+m>>y5%Gt%O{EedY5Ex|~XL4kTLzitqM*UFGL zNmQW@1in;1yOAkvWX3?Fk(2+bMxM6Uc(q6Ox8bLBSnocM4Uhd#%HeZ7X6)&0WXl`t2Oe8xxJH2FMTQZyK8%U1jv(cMY zDbVS;Ae4Tb*qY3HjCMgeKuZd^1LJA$V5)B{nIBCKWhPR|Y+pVz>ZK+}lAVov8w5DY zBoFlEQeJL&D49#;xA$d+TE~YEq_SSNFOy3RBw2iPB9+DU{71ckzIC8}SL>oA9m#E+A0oc&7F*mKJeZg9)S(sphx@XJG1zh# zkQKp(LJP-*ZM;+2<8UU2`zF17uS97|<0qo73+gO%zVmZrBhwr=zE`sPtWNF5pP z8*0b32QAIgkc``%p|6pH6fMvib1@i~&o63%l<-_4`>mUT%ua<@uqN)@F z=V8P^vuKEM?otL=WX0y|Eko+9*+N&JlW6&~Bcy-B5=$_2+?6M3m&=M!2|v4XCp$3Uih8nrm!I;uz~ ziN7}pD1Af8bT*Y5%H;Cij@GW4`kQX5xoPbUYuDGT8P1Q7q_zyEM!?1WcWqyC3Ev1M>%92M83rG+*9L%70Y%~*Cck8`%*j_`%e8qKc3jG#|my5%^C=?zTui&Zfp(2 zO*#c=5I|e5FW?2xKzIRMhyQ!{lkCq=dX^kA5gS_*4ILd_kP;N#kZly^A+vQP5{)el zg`7UZ>&kV8L$+DA*{~UG1_F$Z=k1)=K?Ij&vm;nfM*F##jCi@blar3E>k1YunVl4z zGFK@%ao@TKcnsb!Fi&NNGb4TZ6j;4~ba)sfQHh16=D=u9*aXq1Xw5E1B2Q#C7Kjs( z$m1j9Sg1AuWW4ISH?+x95FnSoT2(u&imaNPrw0PE4L zH%!?0vy?zh_ zi~%Vyjwv~E*uywN1^``(YrH!!beO!QNk~o1^3(*@Lc*iM!Ag+GnZBGGsUfzM84$Ke z4ihw024W!zG&+#UdLl(!GkD*Bkh#fZ{%+wiJjn0pSZbuL0H1-z5nCyl97s)2#3jf2 z@&|!cZhS~Mu_2qaMFz%)hmS$-rbZe^wq{(#K6W={vu#P+OjKy3Z)7w#luC_xpgE?7 zpw9j(mX<2gJfYn^IwB+*&kRUO!edDgFbgzsyZ#VZ)dCsDJeMTcHlMPfhZQigDDILu z>Pi3)G9JU~j41(j=deKLCq^+9^5bJ2U|y;v*<&as)Z&01<#Ia=*5&|!uzmggsa%e- zUWzaa7-dGt{CuD;BO^RCI(oPdYT$sS314P%SohG2foKd=;6RZ)8p0dS^k*%#&|!?d z2MM0f11;d!pC1K+6Lr)AF=m-;PI;@b4Z-5z6hYZ?5Na#4p=rFpI)xIFLxR?gk*WpQ zWm8A7ev)v?<0y=Q!8avr*M|@D9re5PjIO3hB2a+z1vYr#7*c|<&!C+!hzwalYmlgt zpS4}d-7Ur4Bmk7LzJc|Um&wUoN+w4*@kj+IkLa9EF*br63e%`t5$oBp)(kh?IxV9@ z07kyjF=8)?8nr@vRw6UZ4rfN9c`Q?Pi1Wm*gQS=L>Zy(C$P!fmfo<@K&DZ)|`j0EMa>59z5q$QUXUpvveF z#U7d=KtLDS#de4ouqM)^sEFC&92q}}#cSB(91+<)j2WBlA0ES-EGrFS^szvtj(`NJ zjgbPFp7uqUtqE{^W_WA}oeW>3CTBkPN|B}tN4N<9!F=g_T(0+$0Eh^A3u zh1ifa(iY3)~c(Dehbc&s?Zd_71F3=cZQY4A88AEfN`?@-lTGgqxCF4-!P;7jWUN|pA;}O=Vde!wg;d^J^6z~X$05L;8x2e zLI4p7S}CH}28*^Z&?Y>%k=W!70HD}dDP0b8U06C`*~0v5?;A`dJ0ba#TX`v!H#UZP zgW|;ED+u>o5`!aU6STaO3PLL8lCrd5bsMnN^(A@kZYyNCs=&ZIa0mjL5|WK}(G}Q| z8ivwm>qYpb6~r%WP*(*st>xECh3#12lg(KD3%ewGzz!_L&@yNmxwaD7%-E2v?!gU5 z-xrpCd7Xsn3RP_|rH`ylmAmsm_ApH@nuxZb_!vBT3(!XhE9j&nUh8OETFBQpV!I<` zp#A~pDVPvsW;v*d(8^NK6=n|+>0XzIYbivxE}QK;W}(q97y*Onp(NE2v+e^Sh?aM> z?&3$REyY=>&T_?oj%Fd+?6Gt$0pvJlQQ3J1t{pm>MNSbD2U)v1H@y6C@*rHdm=?** zWEPf2M^|Uvj)r9Y&c^0#9SyB4Am$MYi0iixSF$oa(VsiY1Qe~DEU#f&#GjXdLP~Cf zOaYRdIMj*A{1G56DOu9EJ`+%8Bn@*=-wXh)f|B}9GX`m(!r?6?g@lmJM0pqzb0CvW zOPhE;1`ZNjIN1~vVkO@Ww>V|kBiBw2d;~p6ROY^%n4D+@fHFDQ971+!S*&+J;=^bf zy0K{T_(r(`#acNNd01qwGhlwQo?xr;S%{hK*YzX9*1E;m3pN1q&o^T{4>aO=>M^I1- z%Yf=<2OU>;HZ*US`bsnEW_c*6#LYUVU{s`%uvDmDinq#TP)(na0rM@N?Et$$x9vX& zWW;IO2O?mZ7#o6Q9i-tg2e?>8qOU-s69q#izt;!JgN8AlP&EM}M`?-e5^1ykUpDPN#+dA^Pc}DnH#Bcb*4NeVY_JZ)@m=6CKVjp~9ZdL|Z$6$pci240UFOBgkKGk+19QY^#_0O>J9~^=++*jy7n1 z#A;_L~(OK6G+BI%d%5_GVw3Dzsz@xn@Aw5e?lKla$u46}pEWEL8 zT?t2bbYrWfQ5|U3+}N4G4+o08NH;X3A3(Hh#kjUcP?X$4XKbn@8tM}qv|+fRFkQKU zsJ=W_WoN`k+-kdH$BLUV4V|6IPSCPpo3x^oY^`f)2wOsJ?E}z~=C(C7C+b2B$Ayap z!-kf&j$V`zY)JPcC^7?WY+^uY39XM00^HT zhm6DLc^KOfoFlZS5xZ17TI-rYK|Vv*w!PX~565y#NGQI*j>^cykVmnIJwvE7kll2U zM9tJC65vjHrt7wC>u}!|rI(O=|K;KqnY@9mBLMBx^f#Gu<8q918MeXK!bsp~Zs; z!2S=Hj1GY;D?=+CaKvgTr1{1fT;9=;+}70|LZ7jOC~;Yvh%5OwCbzeBBuHBUi@Chf zJM3h5V_Ubf{V^yugR+GKN0jVJQ6jV@6CGWxD%b7o!uGiAQju2Lk0iHhw$^nv2+bmr z6$-QDwjCXHEy8l0y)84yBNU;?;2u1wt~!Ol52ZON3r_;%=2%}Y2ZuYI=}Km-6zL>JjL@77&YW!Fpy^Dd#MQ;Mqi&B~b2_CND-H|N z$uN_2V|55~~FalW0T017tBn6j-z)fx=-sGPAf$ zHE!)nSeh1e1>zMFESyAEeAai(kT&Fjo`mWZGZD3{WrvEgR_dr5GQN^?kD*Q+eqlY~Ztiw>>;b($lh5Ieo?;`e=9$le& z*EbxxXi=n_)-Q?E-UtcKM531}H9|Y61hs8#f=1?gu>)v_dXOvuku0G)uphTop5ur<>ABWOnOva$+F13I`X_=Qs36xoZQpUxMOD`g6Wo6h)W<# zC5N(`=~?pDu8*n->e?UT&OIin)77~X(x3PeJD?CQX^rjOo2AIkHrN4CO*90B2=g5R zIqazIJO>3zUN5lO*|4n(Y>f#%Lp$1-?A#L~?3g;_VcC6@X_6~YdqppST%cm&M27H2 zbNj4ZmBe-R^=)0P32B_;sT%gS2H@OPpJ?kyQVp$(B(GAaxlM(Ui|HXnEv|leT;jzmQ!gxI0o8U*U`}k<454j zqA+9ni3kJ>h=CXic5?qlsi6kJY+mL_+sPrNEG;9=5130|3aP8EG!g~N0L-8QmJy{} z+XKy^z&Oc?^*EFtb=~vIwa%To?AJ9zN?B{pE<$W!Q492?H(a;Wc6>LqDQE&s=twL4`56t!C)~@Xy_VC3OuezEp3e>QufLe`D zd8!2~0TeauWkXA{6^oJ1Nm4Tng^3$ibP@qPm|V3O9XC5Guq49T!~%{I^*h`4v;s*^ zqxyuk*$S6NSOiD=GI=tH#HfMpy2OU8k=Q$9PAZz1cJ;g3+n}W?rtNimtS!|bk!r~f z==<6WPU3o4I|9&7ezBjWrp^gSl(0Q^sjbawmgoZ25~q)V1!>09B#`cj&f;En?rdm= zZbl~OHnJ{H+aY0hv?!LkaMXA7BJha}X4M#L5kzc#l-tl!0%g#TWM@}9m;>>)1t`l3 zrqa$$qS=!cc9lXY)KzD3842Q|@`#fxqF}*htOjBcBX8#VWNkQ@=FsFsTeU>(%nzv2 z3?JUnNxP%&y6Ns*W4B95HkrRV}imE z6s@%8(S*>%vM2ROg5q3NQf}wqdW>?_XYIFEgmjM>k9+{_g4H>l1Tx0mS`DD#9`*$4 zWugm>VTndWr<7{P(k4p|Vw34KI~qv}JJp~9b#_vQ%LEJcGd|H&hu;ayw7{An1tYB& z3{JB{x`q!_40Ef|k=@D6P=|-M-I0Xx9Ib_Dgt*%_oD%LPu^n4D0tiz%SSM(wTS-Nx z%L8MGs9UmP>pKc`B{tWp%BJ*;RUL7{kU`hY z4M{tRqJHk~YU~C#yD=v?G0vEnZ}}eX>puujrQ%C4(ke^C1=qf3h6@gvN{Qx%9d-4+ zQl~&OfEE<_5kaM=_C4J51pycD$L7EL~UN) zODDLKSWre_FtE3Q@!KXcgR0rG8m{byq$}rs7eTS>QaIE34BA|l$8ZVe;w45+# zHZ@oeIE=oOP0WI#<70>xg_oueG0npnf~7Oj>)hFerE1$A*j3z~)>ll*d5p}+X8vN2 zVRVcUtK=iuYT2;a6A=rq0;0RHIXHsQVUJ}Q#e=wb2mnl;gQL0pfny9Fl)dIL#K5ZV zWx;THlCbg{K^A^uNTF`4uWz^Tx3zGKbU-{#?J%f9&<<7-p8%Q!ls?$w**Zp;(m53s zCDh~r3>7v!*k3LToejI&;TNI5nqh5tjX>3ds<>I?r5fbp2qF`;Cc7lL43!)!$PD{w zyT(GGh(u&+bK+5!{s}d)3r7lbetX$H=n|S1Dsv+ynyJ{>PYp8)RCfHs=DB-}t=Wmh z_}C37&DP+HB>e#MZdj`r5FNF?5eO)B5E2A_T8@PT7`lD{Z&qg9w;gW)v6;3jTp4p7 zsRtY-FGNE~YH5EUH;MPaVh|y=mZO9PgkFw{QaG%SfRl*{>wA@AmaJN89OPlVZdg2b za2(O&M@KBJgt$2g*B1VP$C{)Y-z=285lL*7*@nFX4B;wd$*?B{y|wHiW5@kujz~fC zn7#d$d!VgsRqq8RBz94CD@3}DX$0cC0}+-n*qSZG@|c_O(0hzNhFicgym%U;&Z1*N z8(<@xfddUWki<<-H;2(@j2=DFnAQ>uP7sBiQfgW-ucgRMCAv+|&GMv>9UC8NPV zC_|=E6rpQ2^fc7#gPlFu4#b2`aIO(F852=zoE#pQPMT<#EQA>`T-a40yDbGvh11T_ z&5j~ujO~sUBeIrEXwZf*b_yG^dSb&?fjqHQLh&H8o|!luz)6-zkA(2pwjdF9;<*(g zWQW7fOHL;xrM4~Hz-Zvj$#L>k9-i|QxAd^b;x+RO3J*{5G)p@l(%DgLCXe;?r{s`V zhsz5OCm|4=hm&~J2cm+3AlQ|SYI$-P%VW4cwvi>^Ku*bFLl(R444V?*VPwdFji&iL0BETmK)OwVVH=^~v!hrFt+$i^^F&08MshGoVeTusooKX=O^=P3mBejwYHu?)lrnIzRlqA^{H`UoO zdh~}_NlF#e3JJhL6Cz3QQ(-oiBqhS^_f%vgNQjKm%puZh5yp0a3o<%bYz*gew4*$4 zMifOW#H5Q#3N@kulp|UabJX9To{b2J=lbbzO-=Omk5fgMr&C%sSMVw%o_i%tWzm#& z$?=86kqsnqq%H^ULd4^SjW^b~6JG`V26U+K$03hOXf3&Hs_XvpPHP7-jGX3h;^aELVy9X4yYvx-5% zoY5J??5Kr^k;iagGM{6|M@2#_ViEoYB_Wk?b`)n;?c9mRVHUCNtm0%7Ogz{tXuhy1 zJ9EhT8rDOZp}MaQqCIn|)`5)OtQj}}856YteqOJ*Io`HNhMXC7sCS}~o1cx(Y z1p<>G@d)XIcbq|zX24?3!#4m_{kCc@bzQ5qGD$;#zpC?+S@;xc&3v#Xi|Er*HdNhJ z(PkMnB-Xmmey?L5EG*kJZ7t@g<}L4J!&5RdIImz$7W&p~9&99*6ElhlHPCn!%Gi)z zy`Q(gF)!hgueDhVyq98$X%?RQZ|ug~CG&p!8}qtc@~JSZ+apjG&emL$;4bF_c6~3P=DC+UA}lVXQ1|RY_~?qa#KKr%e~Y~J z(=HvspMwNJ#b;HGdAsM<+&{a~SlFZkkKvEcVf&(airq7}7@>bGqs;bK_7{BUl3%v0 zdA_Mt2;#FLh=fb74!L{3OYSRxnwWM^2cv>6S=jvi^U&e`sj%VQE?HQ4_Z<2-vN`}S zgaA5RvNuF%pG!JiNso>YbJtSL+vmVWzx*7D>(4tvi2Ggg{Whz}yJxXWe=#gJhvj14 zS&QiZu)n3A8C$FuP|fLNRQhjh=^`%|p=MJt&kf9Vw&B2garx3Y<#6v-Sn}Es?YZz+ z@h;om0sD&uz$G8GS?5~-Je(-AD@X{SJ#Ui_*xw>=JU(U94@JdX@{xjK^YkUmx_?kx zdYAnL`@7_O4>~d2>5?C?Svn)!)6b)VE_s7(UJJUX&JfQzA_3p#15OU&k1fPf?-Z^* z(|<1S3JYYh_oHj<%ii06TzSpK)3ci?tnHwe(elNC!*%cDVeCAv*J`TgpM7Pdq8A>ut&A5X&x?Y!9`6D67FHo1?6#A(y(bHf?)r&jr`vd0&=Gtvvtf>#!U(m`W zM=SM}@gDrxarcn5nJDLy4-}SjaA*Izc0L@olW<7~8tr^0Y-ciTC*hI>?R@6=Z1{!G zbKBbO+G<;(1!LZRm%PZfL}Koqc25o|6m&_42lPXibSR-zAp$egbJ6K==zKJ!M$#o+ zYec7G+C8}jV_t_#y0*38%qI28HQW`p(&Lham3!vsE3<()Ko0Gg*XxpwiZSm_mvkf~ zV!a_jw}u0Hr%P@tpnUJNdvaX{M3;13M!PQQI)GBMv9-^#jNfF(+u>H^ZJKuJyFy;L z(}q{JKSoHknKR zJmkqv*Mx(|Vqu47CEP4=zcH`fB`ZS;b-R8!$S~jUv2R@?s5lEWZ{Wx%7|2F7&$OKiMqf9Xmel9-^-H&Sl5-Av;b*Ns_SUf3c1O0WLrTt}5l!v+2N#mbjqO7rVcLJoCLI%k>~2sT8(pwSGq`ow z(cb;WyyWZ-pGzKo(xMU##~g1)%)8uD!%=4*Q*ypSbB&03Ak8r%mD4=$eTy{p5B3*p zt4nSTNx9D@>%**em)sd<&6$ZDFAkV%V^A8Ji|Di(PnXsiUm%J>@+UJtjhFM)Md7aJD(Q;2)!h-Wn5^2)4Tox8hxa1XK z)_#|CfVDsFDQae3m2hqoyIm8mCgGiHOe5;JS`eQuc~ywxoi6FHBFv6y_vBhSxAFvX zEVj_9L#XX8SrcY;yQHH%#@n@Wb6Bd~C8LJVAq=0gWB;`Mg(!5%FFUs2Ja7*`u$em4 z$~OgnA&|aeOSoUGKrZ>5eO0FNWBuCr&sSYK59=$y8e4j;{RL_+`OYwFpG&?g%xZVZ zPlQ?LWI)$OTUa#Vk`IMh-7e_>D+9WxsF`_b?3(Bd;q7)wSM&S~I2S;N1MpiR%>6Fu zuu=wePp+l&*iHABE7?C`e?e}Sd@0P@?~*^VS;`0QX=#K{0aMIKx@LYagqd*3zYnvz zUD5$oio2(%nRzMhd9INsLx{Uw@(VUgq`P}?0M9=V4yvmKN#K${3>(_#k`7rN2>0Y# znn%x3GJVlP`bG$`-PJ7)soU<7i)G}C1P*dZ2a|@+?#t(H$M_+duH*u*)LVQ`+3>Y8MQLG3 zr7o9DgjwA#d56tXW_3^5s9-_=W+YuR6=BhYOLm7@`&`liR%UfiQ8VX|Lavdj5aMo^ zTyC?3S>1yJcz$MeP+cuBt4sET4efVHhpaNIdvYzEM`~PTVO>HpDBztyIjoMGh-a_pnU5JI%W~Rbq|g{;9Hk;4WEl|T`TRDACvYM zAYAhCFss`oKW?*>AKlZlQ9%c`@Yglb6&6dlq^qfnS6Hbq?Estz0ql0kkA+$LT+(5s zT;`r!OXn0{p7+#3ZS+s_k9=Nn?;!9x@372#=&rb>m z;H412ZkJpaHoea!9ac&T_vBhS4=L7L@LR%Wx?J)-VOF~hJfFss`o zuL-ldT=H6*r9_)a8T({QRD_iiE?HQ4enWAYt+YC<-0qSN1FW3$Hfu9amTKaC_7~H^ zCI54n)$Nj>wprR8_w>h6L6`i~FssWYzdobxd^kB=-WgU-xMX4F`AOjbIv^hof$Vn4 zPlZ|gT+($xIm11DB`WBWt`{JuOBUiZ*FIB$?yzzF2)w*k^0QUb?%AORurBGq7DE?F zu&nD@;qUzx!`FqFcDdx6Y}WiNr)bTt9>9acrW}knMqpjifhAg9=R(V&xZc*kHG<=k zcZ6B{T{0PFb-CnSHcLC|4e!g@KZw@Q(cFDrZa~UY=g9G6ZhOXq2y&=?nF6po(?j0fSV^KkuENp&050B?H z*-CCyU@JT5heCLB9BRH`?vQq!4ZI`5V(!`X0Fv7!9YSQW-M@&%o+?oSeZ~GlaJl5) zg<0J$`9qtf{N$d>!cKI%MtSQNd_fqLjns&%%ZiF6nA2Cq-4}rse|K?STA6 z2zQ@LI?M=n_q2PuD8zH0OI{jgC0w!)r*rY$S=;0f!lv6D)l3Mn-L>l=&$El-I(oYW z)Di;ha>@6GS=}xd9GP#p-ctV^B> z8`|fR4p|);_vBhSkFxQUjT!pN|I6K*fZJ76dEfioo8g8r$Q&bvkRUCB1P~A$0w^kK zd(OT4TyF5(8x#=5DNGt5khC};IDnuuP8-D*lvc3;Q9+Fj+BhN33^KGMYO5#?IKj8- z)cUQev#a(=Xnnu;dEW4F>tAcH^x61anke1+)k9TW#ELk}mv zG$$qS&noIyhz^9!6@n29sSYqUZklLvMy`IblI0D!y`|FwlBo-5yrPGvA?0-ySf{Su zY}t2#mzZc0c&UnfiRoPx6oH>IQ5X2>0b8mcx5V;xGcJL#asH?RQA*N*?bh2;3j*E4i{S+Uk8Y#uOZ`5Z&QMC2)f2O4J0bZIbPAj(~#R6&h2?x>i2|_1FtdB zB=D0ea;~}+y{`mC;5SUv1%7kDww|)@6V3b0yaaw&Mg8@KPRu!cs>6(>tTVuC%~=mf zW`3CHeJv;gNzR?v>()4?=BZw&_U6Xf1-{folfYM~$k(0TYl33FoH*IT6ieVT74^$W z2SVp&NIBIMD=8)L<>sgdBv@ZcdUzVL;vO}}Cv}mwvKRnwGtngQ9u@ft(fe&sY^YF? zx+!sUhgtW45c>+z3vL>hozzVSH+PzwX&}VDX!L@c?8Cs1D$iBM*T(YaK~%3ptN5U9 z#6Eu?GS$o6hxFw0mGF_~wF^8%Mg3_jCgcJ%;VAI7D|SOR0?%$#kt`tRO&(%sdZ zR%R}cc1)h$?Y-cHV&@9UGBw)LZP|6%0=Iow)l@*VtKn6m%!LKKSB_tBppcJXS_WiDY%3>6}@YMB9JWH zX{>IIW6BNuJ5&$-Ay>36_~okpTyx$9t~Ajk@P#V!BSG(^pa?wGL|x!%1GW?{Zi%I9 z#w9Q|9zGH&Ne7Y_7;g_q3VtN$oe~s*WFaE~jAP1;grufCk1@V3@ChpNm5i$ZUO&sD zpK2?s5%BjaYBpY{8kYrQ;5EaI^;oq^wP?jV@MPV@Jy-gxgD>EzD%yy9u8UN4@4y0l zripsMXRF9pfZj`kBJdRhiqtl4alES;m%!LKKkG0)(2P64*tlVO^utIg#-TXeSf_!c z>JlHX=)F8B0%P~X7UTWY6rVD|fd?DwBoK#oZy&)iK^I5_rW;qik9DriS6f<{Yrt)E z6LXFJ4(6^4+)+hC=h`j)@j>w&ZN(LEuG%;4R6kae+2%TVpzagAO%?w;_yEo^+esj9 zhlcHmZ}Fe3D;^n$fp0d^4DdV^`F!YIWQtwjmra!Y#5qh_r$?Ro1c|eDZD09^W`1`IXnn6Z?L0$|si^?(HIcsmun z3xXo>A`_LsIHsl}*mKov+RWP&^YkFXFU%V_DP6ChS^1i_GC6_2H_;^U0Tub7q_>TE zp9F5NBCkmAu|YAaas-Ly+vd6ieqTlYx=uR~Zg?nRhQ?jrDant`Sr16SekkefV&V6I zk1%fv+>sB=Bq%`4OV`fuIPyY(SCT zr-NcNei0;^V@$CGzDz~^p`-)hhKCYnEM+KxrKoYowFF9aQ9plHR^S5xD<=BE7?dVl;jcyhrix zw3X8m;9phLA4)n9Zg?nR#!`k7INPG?0SVX-CA~v~BJdd|DuHoKO+)!NO=fd5Z&S?O zg9yJcZ(t}_DJdV&l%WLvn{JYi7y>U>ksnHWHwH!Ee+?+oyFDl>sx?IOT2m~6Z&Fcz zDCt1B;h}^XOBqVw+s#=INWgw5>3u6G0>5XX5*WwSG?Z^vv-g;Jn_^xUMEHey14F5X zg}%uvC&FFe6O42ccz}xhP}1WCI~j8z@ArB|ddCMw{N~$jOtAzmR8fB@=|H&Qp~MfC zGL*oj=Bx)KU_X@fjt+{z<4jZnZZlXyb&)9tU^xhm4 zqf}}TN86Zk34Ef7dcY^CXtX$Kbwvk%esa+Z-g`Bd`VRY^%C*+qOatMNfdmG+={jA1 zd6sYAaV@08CYQ0mY4bA!Jk~@VAdfBOBW^%KaG%i!4+*CqUO$*!m7WNO2lJ8;4Deq} zG_z5T$&1J{pVOP=!t37z5YKw=t&VsO1i za*I8F=>or@qNcT?C@{Xsj7wl_oZiauHzn%kvx}3*=Ik;bimwJ%Afd_E_sq8x6mas= zD$Z2Hw`eOzh_Q;!g(`GUMNcUf@6xJ}T&!E>_$?KET6h0qRk7IQmnTdQC!~|}A)VY9 zl58>8Atd>g>PQ}kbADKHilU6Xy?>M^340TO+W!a_}r#zL?`M6$SdK$iU!38bz=iPc6qy zJp!YN&rWLDi46MC?F~e`oiez)jo>G%EOWSblfG`+pYC;ArhBgHISQGcISMzaaun;d zWIP*}tEYOFBleUwC}jukJ<4^HwlZ)xC-m8Yduw9ZNiCD|yFf2UEXPyJWXSz8M!X+X z4mWh*kVE?}-TY&18%DDz>U{n2tP_Uutn-E~=?FMUN-txbqxWN-qi>o8^EI_sS&Eri zkSb+o!5+#nWn5D;34L}JJUX%Lq?XxPuuEb&o?14{0^;3IIovD&haB3k)Xh8xZkz>m zzWywz6Na&_^M)nQ)Rn{=zb<_TE*KLOnYDytPnxn`M zoS!G_G|V?yxLx1{Dw5DvS9IQ^!se4i&nsWG?N`g>-ZI@`i3fw!Az0!VEB5|AE&$T>D}!eT0caZKqcvAZKaBLCf@PVp%7 z1&F&=@qFG}z@2ElNIl{vGtrdVhJr-hJOzK$k{$F389}l8$E8NBEIRSi(isV}^=Y#hTYR^$fz<Z?vYQTMW@-G9x(st7S<6NWl!z}kR;@&9v^X(6#dE{> zLG{VJkk6$62c}4UI*6^G-O|Frt{<%e%zVF;kQlpuvBImP{MS z%Pz8;t*!8goBST?>L#K0FWdV_`WGuRWs|ckAkJmQ1M*sgOp5E&@P`&!hdMuKq6y%L zX6Y7L@RlkQeu}urM4jCflA358q9TS#L_iXEvn?Glm-uKwcsP@FCv`HOj##oHxSMdI1{E-I3oRna8RvYG|h`K5w!^~U^ zk=~({cWXOZoZPDDgs@A(UZ~`vH&W3Fxs>F>K#df+#pg!#MhRtzLP!DK;;UH9S9MuU zfG4Y{VXf|SV1BpK$eahBV2qQ%m@z-KiUP*p8)FB!$`~hrF=P59r&VmDCg^1bO8oS9 zW7>skvP9edZ)DJ+9V=cXH;Ubz7bMG6oh|b!Bu}qx8LN=A&BaM$6&>0!xdHB7AX#BV ze#^WH$;)b6(z6BmK6}*(rAQ`3UqgyPiwQZpwGd2pGUC7k)PqdiwG|z56+IyNI65$y zh#K&yn2rvaie8w+0r6(bsM^X$zku_NPEG}bg-33({T;R~Y;h9pMohtm-Ke#d#)V#H zipmeZs8Zn1r2kvpWr9+>o~P?yqG~s3E3pD^R#8K&$_BxQji3ZxXQBxp-2GEWTHb8H!WVJf=4_938w!Uth{-jYPm*rgtn45kT<&gT%mV< zPy}AAA~`F4aU35QAK}dwdwmAe{J?mE=PLax%<}}0p!lR2eQ4#ZhahNM#aiV-IWt~; zjTVK#o3H^-SC0Oirvow3;F4B8>ZoQ|NVVB$ZEKAxL6?coDW8;ZmC%yePHsLeTdFh4 zfep{8=O?snXbETx+T5fpZqZC0&{lE;9-!RARv*m&+ssSgerhh`0E`*aWu{NjKla1= zePitaA7QMMK-xKS5^$nC>!ZJ`s=8AEk;`s{WKZ3Kg}Sk(Rm@clBF>L$KiExG6}NH) z0i<=eC0zt#nb`c6c}Z-+#=^2{6h+;sJ9guZ>@ugAa>KbrasS)sY{=Sd|4Oa4m3rMhzV9LrvyrKwHgB4FWu+vwD<(+K4GWDrxpkAwD@Gf z`^cs-+4PK^7M~*BWlI)U@KKLvYz(h_E@*?q5He|=-as6MyD_xTE!9cXRELeEl`jPH zb%1Xl<$adhA(t)9mH6ROL&^Mq&cmXX-;Y|hG#x(+99DLv{~f!VDbegOc37FL&;4J; z-oGly(Z@3!yiRBOJ8hTg0zamr=7lFUE_25DH6}IgEQk4(msplseVU zeDj)Au{EV+FSB@#0KUOQNx@oXhtg;suIq3k`si^-p6dn9zu9xIl zO5(vyzci1`}{+a;1gBUuOgl0LGNh_@t&E7qs}e=t9rqVky`^@El{yQ zH_CgSt%}Z`=Bo=NjJ_Tn0ueso^I|?aA<(YHqQE_TJns>{bFH>+@?EcZp6&$=6Vm7| zu5rlv3&j_7lZd{o@H;_tyTTs_(a#nBIf#G{nuwe%f>wduL#iaR@5=2P7DZ>aNcDCx z(k}2^73C+EKCv~|fI8vqLQar(tss3;@B=(pMee~-S5)aA9#nzPtEtlO236pZHC6h@ z236qkHC6hj1y$fW6Lo-;iSQ`|ZL5IqU({H}J2kh<>RdJA(s0mPlSo)5;I z`)nRKxSj~E0!p2Z;}lCb+w+&j@Ew*_HwPTSdGp=hqPSLDnP0#MP1FO1U+8TEXIXa1*{ElBfAMmIQI^2JnrH%uH#fh) zxO4Lh99(AyId$5>DVDCVO|>~n1LFgqQW@YIE#@BZ922!e+5tg!vZ<9oESm=z<73UZ z1B{K+MEu%ZH=kX|eYIUHD2PLj+(1~}Qq~dGkVlMGZRvYwYAXc-USOggF#I}gwm>Oa z2^p5n1(I74>X4t&l~{mBhgg8em?#@dN>)OK<*-=zdDflGOBcA0iF&|&O_Yr#B`YDr za#$?)=+8d>N?WN5kYDa~?~Z8ACord-n3$Y8l)I>et2TYVrBqb{$!?HOMxf`YIN1K-}aJ7kgz*9|> zjU^>3A;YpcmejbDGj1yCA`NX%3(Ny z;MV522MoW|nvEqTD7Lm3a#Mo{F4#x1#r_pco&?1BUS{rdR^u@Bz^ajAdX6=yl3NSgqm( zspSiT{vdjv!p{y;DR66zQx4d*qB)O6e^ zy1*B!$XAu#=|OQYetIxI(-cb}9KNdb0%NwSMX^+w2u$hk7UBE5N5rY`UiD)O$0wW&>WD04ZKRhmPY%b~2u z;cm;J1QN9$L3$4bMPQsm^D`Qk)2V7q&@#Gdq%R;QiYZz^qHuEnOesYTNJLG`(>pYd zt1X!}ka!07zl9CE)N&>GXCvwYk2X;cc#Mg%i*-s?LWZRui~RJsM}Nueer;uf1IIS; zCUQy)oM)nJEGbzD8J5klq{f|`asG_y5)J=SOQQr{ucBtpa^paC)|q)1c#(;Ez<)JS zwhDo6jVYGE*P3Vw2wii4golM(oC0Ixd}-uzP<^(|cNch^iF&{no2Vf>=$>PWC9pKn z6cD=R?BK&fvIEA(P1zOd^AYB|3*5^@J>W7EHDm|fcBWVYA7!F05W42oh2opq${GT^&qO`o zZ%ouM0?>We6ieWpCh7vA8#V$ke%;JFKxkwHfH7m!2*7xoF^&VFkr4pKjQJ6O4+|Lq zU~Jqp0_!x4w^=w{;FTuo0Y7e{h7o}79i~_U-(#XK5V~O_0OMQDyaR+rMgSNyHjMy` z7aQX^5E>Z)V9b~w0r;?x5dg-e!x*=4y1-Q?>H$wMQNsv8H))C`aN0y&Aauh< z0LJH;c?SrMi~ulZY#IR=R~X|s5E>Z)V9b~w0r;?x5dg-_KU2}HuVIkQ8W8WNVVZOV-TTIjge#1l!*+KUSQ!Ig>F;N!?U2}Hw;8D#! zX679rG_v;qW5x}o{3&A`2SOuz4=`rT?>$6_h3q}R*tlu$IZDGg(ZcBh&ofaEc)p1m zMgY23nPLe%!$e&mbi+mf##fqo2MCRf05E238UYwjHO6ruG%^Cfm@z*B@L?e%0E~^B zMqrVKvA2cO1-4Dp19nW*Fapr+XNo28$tLOop&K>=Fh1VQJ3we;1b{JP(+I%$L}MHW zLL(ypj2ZJI03Q}I0>Id~X$0=kFZc|@XLqG1_feyZwfoOJohXn7$F235<>N3y<4(chHde0cV*- zz`b-+zmQ8Sy6}r85LeA#*x+3850_-wf16}!MR&0ku>*XpiF!by@h_Ox*SV0Dq#K&U>e#M{J@9 zj6LON4qmX3nFEZCn`h4VG?xFiJljA5)0smTeyKVTSHouxu5MRXI%DWUCI?Pn%qySi z%sy1OMA>ez1iHYltEhRDG5(wxm%!M#d6Xgeh!J#vSDR=GNMJI=z}QWGh;f013^6b^ zPKVgN^@TB6$utJW#%Y57#3B%om4pr?D;Y2#fjz7QS81X63Us-N3aoTf^9W-6R;zXi zjE&O-St%em-3U6s*F@es6+L2;9D%W?{2<~53mHUUY@8oNj7dxe5f~e%IWmY4keGxH zBr6$2Ab~xs1m|n5o^NIB0*{W$*l^@kjU&vs1jfc`f()V@yw&tkM$rL2*+f&oXR64r z!1M@M5(mca^COF6EM#PXv2lK6F(z9XSzv6OCeFzIUrckI};D!M=uQ1MWAl$Cz;}t#VWzGO&Px(267fK*=1{fQs z)nLv*Knea&R6{H9Y^y{UIH4j}iTrREs__gnE`hOenxGql{y#O`(g-@hFj61;CI6sUS6RV62Fg8v{#?P~&xK+LW z*u1xa_o+y)uIR!qS64t>4ZpgoyCh4!%A)%Ni=+emxrur}qT#xnJ|W5A1Nmxyc~=TZ zzzx^s=c&Kz%x@QXgNm9b1IE{yaS4o#^OM2V2!i(-K?lfB132%UiXO2^&cN7He&*l> z3z<2<*tmJ-T%_T>&%$g22~1}WUHGNyKwJ%yghT!E!&;g!cqA4JO$q)l$H~AsP1r{>Iz}Pq)Vs~ARF;Pj=`9Z`B7Vg-q?6Glv5HTh(ckIm=r#Y%p0Rf50@Bqn51`$YLq6Lg& z%qQr|d7pgl-u+vtpV5}1FYq`O`GKT&dQb$OHK6GE(!Y3mz7do_xSgl6qW9{c2#h_Y zrAvK={1zBl2e?ZVcBi7pm$geJfd>yL(tB251WpVn(xaZj2qZ<9aK{p+o}vhh6Mi^@ zIG*z~p7AuE^OT>`ad{a`swUGLxR2GP4WwkE1#AZ`AhSWVfN`C|#2{ojngQcFr4xgF zDwhGXL5dC}6WPCjOohy>5G|5o9*7o@Ng!H4hDNl2ai0Hx`LJAf>g%+Xof>$9iu_JZ z@25c#`0D}1xNv)J{SHU( z--0#pqp>v|iYFrmykUTl-Zujw@Q#>}4n-D1U|fafJ>6A++)p%T<3Iv-X^vO)h}oTJ zsttj7MS8>{ioiIm=4FA97<<`;ft2R&oCdjFIFy31mwEyj`Tr-U!FjqTjM^0F0{M1w zSMP2`@9{wqxW9_LV%W6?5uP4Wv5YJbZa=d0b~jHYF!r=@J2+l%G_M`tH&o=jb}D*5 z3yQ$s4k*&2Ofpk|MD7{s?O=IyfICMO>s0ipr!WHJgop3TBzmpIKMo{f7uI-1kDz52 z1rmr?q(>~G2#mvO-j@l9VgARDcz$2TF9R+01b$Vk)8CirF!UQe5&G6?9sl?9pih|A z`(aLl^Ylz;u9ig()8xd)9V2LW}+z|Da)t>tYC z2pD_%JL;_C(jQ^+qPS8)AjOqh0ZI8EU*}eFi{|}T8{XvW({f7V$wbXCWxo10b=UAg z=%QHkp{Mtq9H_1AW56R#Gy&|X$nQ<`rcE))DkOlT$Cz>n#G%Xv;PXvu5{S3CZbzK= z*98@V;JzWtOD^|0{z+TO5xBMa=>fMfQ9DE*qmL-fR;D-sgkw&zrf?zBhjWhnx6HNlYq9QjsU6&$)J509=e3^~I zB=7_knK^=Y2Hi9lFCn9A%~J^^2)}sK`&Li{;>Ii1J;~Wk|JghxfnFvoaJ_Q=gFLwi z@J7{Tq=0yn@3|x?iYr<`iYr<`%KGr@+?u^sQ+&6TuMH%w5&4=zFqIjRA3FM^nuNG> z`_}9?s2ZknAi6%W%q)s;OYA!JAuNiE5~W-WVn;>4r3Ny}z~gl``cbBs!zYiA1X9K( z8YW0(nCgs~?=kgD#XpR$Rcxm@g)oxugPUbFxjWP(sj%!N@)K3c2CMvN6G^?^cIAn; zDWr1wufx`hiXW=a-R<;jV-ml2>waq*P z_2aT!nV+GpjS7NKo9kZcI{A{tR)Nwt)K0!u^a)L0G(1wE^|PS;q-JfjTAI6XKc`t6 zt?h&M(M{TZ`rPt9U(=sxD~k&7kyeHY;6fF-#jD{Zk^YogrEISYtiXRW(FE{ACTf3J z;ngOZ_=LjGnQnC)b5t&aq{2eWb>#a)fe(pMKkI|L?=1X<6wo)qK116dT{z*lR zr5bf#%M9l=Mo&cz2BPR1Q1V|3Gc$k#a(9E0b=Q5Ot0!-_en%CG`SRn8oMF=Lvw8&>#;L539=8>h3( z4=d(WNrn~pvVnrpqi~JGI$zE9wEA>`Qzn`Ou85qZ2}*wbVTE&BBPfB-iU`Vz-nc1F z0P)l?thjiJS$2R}4jWd?NmYgwNUAcdz?d=3+6^mw#2~{8jE$Ry6?3X2!wOtDP%wHF zu5nn`f50!ocWEmL0>`XmlfZeAlQcnw70xdhX9@h1id@ahir$EMngHUdVOVkTD|68S zVmWMBF(=i(Cu=vX@DYOyD{y!?es9H`D#@?{zdBGbdK9j4SXZgpTdY1^;8iA?1YR9E zX&Bbovn5SfPce!T_@RiRtmx57oWPH(;_Tw2V%g3WT|#IWZ#=)(Ja>Rt4jXUGsez0) zkQ&Ht42&7ma=7t^j~HaUfw6JZZj3p_lkoZjD(_2#t$yirARwyWRUf}v|$#V;@M%j{pY zm1+Kv!nt-Hp4|L!Q|%sA`>nR_w>rSH%rtYyxhU4D$+_CftOs7DB0uhNtl+a%<3cl@ z0Ag%+tgwmOMQXR3*>{2at0?chza$oQ^Eq-G%iY6-<8gr&2yJ6nBgH+HABG3Dm5RhM zJM4xJwO^~6t2y{@W||C_Gk2H7zfcuSWUztvn|0@p3jd<*9GS559$Zk-4>4x$oHdW?@Kq+71fH%UKXd4vYl>aq zLc2XX3EWvl-j?3sL9rHC=qmkj=B5M^f!~MeofQ;;xbcdCI!3KxcQt&b5ww96#XZyj z6NQ^EFIE#`Xc*yrR1H&ksPVGIGV@U5DT!TXX+AVj${r|+f*`4moCN|GM59zz^-&sD zK1i7Y?wGFuK`Ljubw&}zW8knq4FALETE!QWFftD{@b^|#mYUQ9bBEYgajh!AD(fFf z?PrsD;t+*QyrB;@E>Oz%neR3*c$rSUOylribKC|FaqMrN7sb14ZteCt&aVvd06(iD zdv;Ne$~M%iw~0+VO1z>wm6-*6RQO60;7%rL19ve|a?c+h_s#O?kJ^e4 z;K}B;2Ry|@ZQyAp%J?`yH$KUfvU}!}b@SochOgI0^5WqHE{FTvxx4(^Gh_n%PZLc7 z|4T)FRi^iYpyuQa z2SVp2y#$UK&$bxHfw6J=)>5bdLE%(h8vAv12ncY6>~%zE4Q z$Hronwz5hAXPI>mINL;R;3g)@Ru=wm8h;7I(vMUdq9YNdFTZ<$>~^sAmqub`*&?Eqmg2t3SV28ua&?@n5YBf%idbWN+2=Fq6#D& z$4{DZivuX~Y_Ua*|D;*`&Bmn-45u(NKzxi8YsbLE>3-WWW)7H2EwmC$V02&*0m*k> zF}lNzhXs}z;tcJ43%m<_n~MDGsoA-waZWVS|50NBSL)vNZQIMbz+anaa=ES>*V<|} z3FHIxa#lW150kW!XnQ+?P9COkcME+INLFH)#2pJX8ZRP)5N`Qrjr?7<+)V>NW1;Qc0=0RF{9(?F^s)c}S9B}Nfv*T^pHxWQomcQ*g4&oC zn!-CZ@Z)U|I{PU+NL!}{o(^iqD11qz27YT$`!|JGM`{c&t@BVHXD4Hznb@v!;FD}v zJDl~tJBU83@asXue3)x{M{?hxRd53HYmHX!w*BiuzgT1z$?vMxuPir?nPH!56@+)C z#v+_IJ+hJWBGvkswzB*MGDWR|`Tmo@xm$Cbe81C=hjOxa?4$*fI3H+^b40ZsrENY= zcCY=c=*b~g4$r#rRoaTA?A>W=^zOqw;aW#qDIt{e#V%XrD4PPPpD0;{0qgC)#fr$_dxy zfpcodh8<(1K>M8|c;Jmy!PPA_u$_dx~f%Cp*PPF+fTYlW( z+RPoL>xjU4Z!;&_ zlS4V-S`|1CXj%|Q3bbE2loPHC1LwMCPP8u=$_dx|RBKN0+pm1lPl18IBL$k54B^A% zyd6BcQCqpZ1YWkI-y};n@S`g7=f?D|3X0IyTio1aZc5;X%(@4J*k4)E3vO5#>t2e~ zO$Rqun44)J#Li8pq8Hq-W^RO=aol{w+{^$Wc5dXu`>GJ!%+&ey_$}hkYPtTZt-Fc? zFEmf>M=4w$L#{sM^5am}n|zIbS#LXKG#GxhnD#Cuc18 z`&4HSGcSQ{6HNkR#`I~p_W&bN$lX}r*~T~nj2ZLyVndA3$m1~JYmKo7j2ZKH*K&+g zFrH(KD}ga%{+?@&aRrR8H^ymT%(x;NI1 zSDdugfAA{Vnez-~ok4B^#(o{nTXs{+A#>!)?L6zX+RAPS+|1JH0XH{M8@Q8+dca4U zs9g`)_peuHcbL;Q@O~4G<6+^3=y0-^+8$^eUEql(>H%M)B7g9s_m-dteD8oFz4rx0 z;H3kKL>0FyRO6*)+{W?Sf+)67?1s8{nyO3%Rp6^lGzsCmf{2(2Fu(q{sLZR(vJDLU z$y|~rwyIBd{e8Qhgv$U$qLw&-*k*Pym=#Qp$6FSr?gU{XH#<=hDPCUdnC2)T1L zUeTLlg5`qSUm*XGqc~H^D2F@5 zfj?x9W`NXVv^aBZMJE(z2JeiaquWJCmjs=RF`^x_F(S*HmfP)*)1auN?DoJDE#66Z zX2SS(#)sJE$`GIcYPb5myAB#$D+ z-7I&RdAWxCRSSI*c)yB93poX+^I*_RlSv9&6hBaX0?j-n?_cfq_r!Y6Zs#Fsh=c%0 zOtNzVBRBQ%8umo3`*Mx*aLca?JjFyk;OkW6N0r{$K@oV)fMR`&rQd?`R5NY^Pcu<& zGRkx>RpDq;Yy*SsB;gTD{*c^{ZPC^~#208Qa~t?)6ZH%Rw=IQ~F*D30kB?)Guml!H zxYD4CT&2q@b(2~Ay`$7k2R9Fz=NW^Mn@+|}_PCe27{>*57%k4f_e?S$Y*XtgtS{97 zM+>>4rURv`ME1&GUo3E5;9hE(t^iJ}$kD8*=rPKp#i^}|4&lfw0RGh?JEK+6VN}K( z<+5FOX(a_5Eku1V{kV6Ivc6f{dGat!FJTZ}qMPIz7I$0PZ0YQ$@QK=PDg+nKQVN6= zFhBp@(W7{gdU>OHYXk2#(If#p&H|WRrtk?SO0Gx3O}$B_Vr1p{v_Z9Z7vWR8j9DRr zs|g@3QKcW!oQP{2<9oL9z1<(-TNz;BcTCg+e&0lG;0{)d+{)A^#m7EoT>@`2(F_n` zznjwwZnFEI^OL&i;O2YgW*P{wbJMBl1viZ+>$ut6ILCqCGSMUuV&`T&<0f;Q%w;k~ zCIr~Hnh+ia^0T-=Z2kW3$2jL^5E9RjMPgs2 zJi@5kz)zcKB>~K`U1jAwg`1mb$Re>wsorRm6F{ilo-gaI)iSu60OAr=`XSAUTA8i8 zYQBdTYb&D+JX6ZXI6*P5GYAjE#5pcmXUE)*`g)YUkywlh~VK*;@KLGQ+(2>g0qGbCWsG7>nQ1gZo1^b}NARkZA*aP_^W=rd81)VSn|_(v6u6esRL7#G_}wBN1pL)tpEn-zaY+ksUDA+cpvmHz!? zx%$~g?U@$tas_;dZj+0D;JAra0!tHRjxX2^Rq|!JN{jHFP#++*mYw{8GwFQI{I-GQ z+t(W?zI5bFYu2n5`9999Cx9f>KmDciqM%nNoMQqeA9Gm>24pxnU82v#5>+6Hp-P{u z^7mkhd$#a#EZNexGV_7QXek>H;Ff{0>|rb=@bxBI2|UL{UEsFr%k95qMejK_m@9#u z0Y!R*nt2EyLB^*Gnl91FK^OQNi)sQ$94@L(CaQ^CRGo^bo^Rn#014DHh5`;E24&1b z8V7D>oRh#f%5jSlPYvUaLtIe>`IHUtQu96yj9pEcE2AcS2A*ay zoUj9B+t~)My+q+MZROi6c9>K=qwT<|jF9*;t8)KpP*&ylsB1>et;*mpTcj(2-#5`T z@GcW&ZdG76RLNKCAmus2_}W0`ME}%_PFFLR-T=h~PZk3qEXnLl=03irn7Nt?1nz z6oGdPD8d}Kc)7rgOJHoAzN^9`We7eP2!I6Uk}u^)(dmCTr~>hYY8;}&b#GKcc3dFr ze`ir<`{jgtZl&8!V|#J$QWsyP&Y}2fp6jz%KAjD)K{`Gj6NKF~J!4vJD!0!b|$gW>H+PtxPH4<~r@<3Jti8 zihM})mIOuM?gNUs*qhv!xZl)RCxJM0?#qha;-CnO-KRURbDieh!EtPyzEkF%)y>_* zE$p|lcxDK3w;;;bf}cEsL*_SdYqMPm-D86&PZ!4XOE#_(cPZS&tS2DcIf#ISymhg* zII~#zyrunS@v>ddEEYH17bfE1v;7aK9`AZPhlchgjRTh|P7kIphCV?+kkx!c5Yl0%QgDp-DG{qA56czQ8 zrUPMf(oa>he>TQ8(VQMcgHa6jxN9b(47|uz({wi(G?<36R>xnk3WsH_)DkGw4f{87*X-e;n5;Qc1*0{>>B zaUh@7k?4Wj*~A+ME;dmY$Om#HE+D@*CS1T}W;hPqUqz2_W3ayE#$c~KWqzF~5Eo$<6Gi?u0ODEoq<%g40k=9L0@Q-zy`=X-*ca=$r;HSpk0sc%ya+T26 zb@fK}Tiv#WZd+9xu{f%@9R-^nREljxWs_oLf%`ja!OkZXJ3FmaP;p3{1xukSqEz-@qnOYZkl8Txug7IQAE`hOeT9MfEW6ih&jE&Pv6kpA! zsM%p=-abO%${;#k;fX=y%?JO^*UgVIwJvZc6*X4@;~mYo1jfesD#-Cr&9*c14v-k+ zfCh{i^QD0g3t26Jv2p&xKdI-3VeD$UbuF7YGA~b%ODc$|jFYbxIekKus|p~|x(92e z+@nvg%iNBYru#64uFz;Vx7v4sTd1gc+%cYK#w9Q|ZW?#Y=a_j1NDMOWz?d;V?(ktD z;|`3C^W*M@Zq+94Z&AEPTUi`|cbaG#c$bOVz~7i?+B2np@o|BvmOxls!OM!?&w?Tl zH}U}BnW+aPsizK}?l8_C5O>abC*!F)z_B^)vO} zZyd@vV3o95$c0wWF7Rj*^?=8is11CHi88Oq?W`MjGo|Dl(FL@Ao)7Dr+R7RMyj?{@ z7ECk0+008IG%~}1F=Kuey+nCFW_(@XwHplQJk|KuU<`z}IhWM9%o*pyUZoz_2G77Z zsHoYqEYzxVx|x?iXrzk3m@yv?Gi{OH2Uwx43@&hYb2SOvdmvJJPYsH|r<hAMj zW;~xhV?j!FajLEbuYG{l6>x zY7i|}2mfS_+D}$UP2}-4a8frp{&WKAt0{8(i*mf)9E}6tq9S>7VQoc+dPv!+#;<}Y z@DH&molv3iOhf~s7ppzdNn*f9S^6`;olR5%mzijWIrJnGl|YImPs5+9TdA9P1cqsq zJhm^2uW6(qx#ZyF9*?@2=YPb}BcE-3GRPGMbKyCms2zo2dW=&HCax?t=>ScD);+pXw*EGPo69Z;nAUqKQ0^#MhC-wcYty9N~L{U|5`|7Spv-tU4U@UH`k^yb=F zb%9%|$Y)J&$DlZ@itDtRGB`jin+Jy>xXFw=z}Pr<{fFrbE#VFB|AXN}@HQiu0y5w( z@Ttu3PvwSxs!E4{DmVO76~q7C;2Ow)d)M?BbGbeSGT>g39%C+wKnC0^(qqg;5y*gh zMS6^bC=S+dL%p=VD{}Q+k*V*BTzyw$>boLW-xZnquE^DQMU~cfMXtUpsw%B1$l-iHV33kfVs|=}5o!@UJLN)6|&!t>Q@1p^Zcz(Aeh` zrxjz%cdqD%G>;@r=Dt{`X&#xTd1RXAk)+8S6|OYRBkO6pH$8}*0EYxT%sk}P1zxEo zaO+U|dv@|$8oE8ozwW{9IH_6}i<^defNYUonmk@xIX?jIXUD4^@QEgB16PqcZAwJKiC5IHQUKFkcNxg z_4-cV*R+*A2>4ACwSnJNk)xMGpkZ<_)$75c3fv+7Ub7zQDm?(SXh5u2eRsyl~lY)S()i33N;6V$pV^BF~%Tr+alt4?nk1+9SC#H)#cWbgE za&x4>^TRz)NnGu~yQoage}RzhKuwA0xJ+!H)pyH&(HQ!v%P~k@X(D2s&1}9 zLGgsZ3WRl7P`-N0^`7Xz*qzfZ@O36Cfjocnqet&crq~7YSS>%y;@U3E2;fX3DSiRY|3&KK?b?nO^B$_`5QywKc>ipyM~65> z4@ew+K41O8zb{duk7_F)ufzwjXFhS+Dp2~2+PQBb82*oY%I~o2=`QeNCYl6(PDTAs z#nZV>g?@zTaSK`E1RiANk#EhSvs{IZ^F!k&&?_ve68K#c^?*d-X9v9>nPLgVedZ~W zb6ih6lTBtIieekhYFBM#@ayByDt6S3k1?g>`Yb37Ve-t2G`Xi(l3n0&CYlDGqM~7C zPZ`UUv6o{^cPbZS%GZG}4kve4nP(^b5K^Y-?m&ndwC;cmCeF;eBW~Hm^a!g}=lKc= zP7dWRjr8Aoy>Ic~+R70LxS7#S0~c&W>0$h`F_ysXjj;!e8S|xwkFX>aU~HT#{jD0p zw&pjPrLOd-LF-BnCi8~Ur^Zou+zE4c^)vz^&fn;hSdP+=*I4zsz{^cE1N^v(hV2R| zW0^8e=NNP2u}VGuy9JY+4!bFd8lGH9!MMuo2!4LfSMJA|k1lZ1L^HsZDjHUUl(9@1 zr*n+C8Z1(eM_Mr18lZ+JR|7Dv8f&m#?}goE_r$uuS>|>cxaCIFAZ095#$JvwSA%bA zT$@-h$*$$*0cv=1H2~u(vupWzuu6TrCDZ`;aT84guUFBqd5|)eDPu3kn5)5S)Z?`l zOtuE7;mOqijH|{PxJoSY<&bxM{Xbcwf&1v`o}2>!4^WY>1HG4;Vi$O#iIVB-{k%f` z?PZD+D-_NIQA)?Bgw#AV>l9v~t(;l_`Iw395D@bFDWU}oAt#k~ly9u@yGmcKvh~_J znZme{d~VbJkF=GQ97rpn{7knlv9&te0}oe`pXl^n5fp3e)=k}%xLI!26F`Wao3f%8++=5a z>Y{@SEam$;KDpLnQsBns*P1<#XyiM4Qm-rPmeSXO{fpYqvRo#Cv@+21b?Y9c)d2>_ zld0o|+0IXf;#@oc1KmtYmw8i3Gt(?~33CC+PkGAQP{6m7bN`MEy-%3!!*EmL=1pcj z353|s1$x0vc2z2r2VPlMfLP||f{f>$YI~N&GM#!&pV7IQApbv2t!QOX_yPA<7-0v9 z4|nCAI?0W@xZoG%4>Z0u5I&i|DP3;<>cFqk`-11#{lPBqb9$#&-tz+9s3N}#(EFdD z2>i`}qWa1-xaTpRoT>vqW2`+O4*iUv_w%3#jNRu>CVV6hYR9YmSzitTjsKbcya=OKYCx#D+BZ_wC2ZBw`MvC z&cjw#k?{;nFED?C9MKc3DOhtaTq4$EI z2;`Syy`p!K`-}S@nEMj=RAcP{ap-p&decD>7`xB!HmTzdjxo+IuP%x2X|PW>$192D z=pf3ad#_p^Y--b3t_-5o($85Zhv9xJ*d*{zCYlEFY(^$AaC7z3|Mnv~Pd4Y1#6uOt zG>xYyE>UNfnbR)tDiv*L?Bzqjx?f(btxP`P?IxN4eqTkNmtJ83OaMm)0-(2Jq*%+y z5udN@A2i34sb&61-Dg{=^e;6xZQv;;>H%M6qBijLCh7stF;Vt`k6h!a!sCM?@SjaI z0eqf{HaswT-$~8}y1?zUW)H`>%o*qRN5{VW-lzAS9ILH(2VQ8RN#I2)@&VC%cTm)T zLo>QoH`2xCxHL{mA$D%2Dtf_9cG|hg zkh)ocn@5C~EMe3{9UE}k}3*ZtT}(aW@zDGL0eiDrQBQg8j! zP&!xG?4ALBGS)L+5x{L_K1yI@d->YP#2~g;nr#Od*E{?d z9Ob`-I^$vr7g+kqWJ%RP8siEG&bJsRfJEhI4m~_&?#TDgC;O+8*Ju%M*4BN2uwnDm z8&Nn%+mYgoG4KvS4cE+r+;3V1-#e?}K}Nby1wPhDXMiV|+Nv?|SwRh-q@DBKzoeMu zu0qqi_p-e2vWYbVB-j2g$I%Ii&!mZG@6C(jpDFn-we5e(l@4W=-y>RG(FtyngFwh9 zt>s=;%YU{aO#`W)I9glL3B{aFialxp;dnI(F~TpXvSr)ukFE%*$h zZNFaOIYIPZh1Ug97~Fua*UeuDYGk+E%FuLfp;LG-ZDk4rFH=$fB!bQ-gI)-rh7!sW z%D0>KBoJaZDrH44xXFDy&G}25bW$fPQ@Z4aR5;9SU88gdCOFTwz^8%ds>ppG4w$6m zX+hm}?l9-_z{7#&Vd7wgfh}`N>1J1IJA>`hlq33b97KUOyWF3ymgLz#RL}{w*-L}= z5Bx%Sq_#4ffG<^%8|U;5W>*P}C(O76#>Tn(5G&Q>cr(pT_x1nn!~3$f5+3ld4TdMn zjhcPk%uC=8Ow<9!jJcSL;z2dqCPckV;lV-VN>l%LlvzasCg^Ob&F8Y?W5_y;k8a@NN|~4-m$unQ;k>jq@Xc@kwUf z0mjDp8TnZ?y3LH+w=29Wi0ajvU7VvEuhDj-NbmFJw9>QlRIA}`@O^jtU0{*L)djv% zMa>m13e5kYG_nf-4^s2~ET>ud&$SweUQmUP!ha5B61%NO#?*i+zvLCeycY(iFQS$&{e2y8Hz}PrH5*VLl z#vNd6oZkg*R->Ppar@^Ae-%XaYRxX*sT;qbZGIO>wQ{>aU8`Xi@Il;nm){ZQSaemxeUfDdiWJZ;Dm)R10-MffvR!&WFY-Bf+~<`Q4O)h zXucXg)(G0b=bC5|H%A3gOak6rH$TbL+E}g(BD4ovrq?rqBJg=8>H(q6Jo;)CyQ)6n zvcMO&1Om$_={+!2E4~h}{YcsDei;D9!I5%DIZZ-Y6QDm=(F44^&HnlGBIu$h^ zvoOBYj7wl_oEy!LsmZ6!G#g$&FI73nRJ*`8n`jdF78UuZ>0J;M(^82=_JhifbE4!j~6*j7R`CJd_+f43Tc?v7 zNv+}&y7hBGtMU8SuKd0)(=W7@G6A2g=CZH?pQ0i^4e1>k6zd_oJ}#~|7bOtOrb^9L z=FQAQW*RQmjkMWmc&|GDv$hS>u&$P$hIOqW)38u~PqgH_!1tS|2fWloZQ$i5%1%T0 zXPa6H#ImWlMeA8=G-bx^GZnrui0Wf1msq;-NNw}e@I|`yl|id<8ZNrSPs8K1m1zjP z(?mVsJtk@c|6rngnIs8(Oqyy5yu(D3K!|yctoAE>%OLDumRlHL5-=J;7ZdF&y?^bm!nP~O7 zN56f$pD*vwR_2RAOQF|NIAWqUa3>Qr&KG=~Wj;#aLnfL8LhR=Yz2GK0UvSYiz77ye zKQYKVZa<_(51R2r>NYcGpH=-EwUxd1X)&+E^0Pa-^|qjONL|bI_tNbLXe%QDe71^Q z3i%UfjQ2L<5*QojPPLw@CWo78a%h+}dp6HlhquM5+x&E*b@LOvTDQ3;u;8;yws!?S z*JS%t;0sK)Zv}pr$(~SwFE!bI75EC1?O%bfGT8wY_&Sq4u>#*YPFFxitU@DEM)lnVR{lRdQp|G{L-D{xB(Xrwr}0&ixrLn`q0COfnOKh|VVOU@bn zWL%|B6t1u*3tiwJOf(JrlZu*WWXe~<7aQkhqzef1wdT76ghsA#fiYuxDL32L&Q-SD zvguz;z%R_Q7Xr!MeWkPV#C|h7=ExYSDm+fZ@yTFew^s4gQ_}(>xR!u$FzHV$K z@Lv0A%9X%hny3T3Vn`g$j_KNgKToi$1?G@>fxF`b2 z+AGovHAwb~{!{m~2z|*rv;x0-gjaAo^UAF~{`j^*27cG}UM81c7wa@2c@Y7x(YfH* zeyRBPkqk^Z#1u$5oGG}p88dmh!tVsp{R*F8(`B+=Jx50Q-VoI4wR37dz3^9l_Rk%r zNA-g@@>A@7heu00byS0_PfER7)D=c~4vW8BjLeT?$Kt-F$uchs?M0CaPSoLw0 z-WCji%=A7nQ~jkoMBeHX+lQdjm#N(sGPjw$eIc`!N!S=T-MS_-PPeYfjMJ@aGUIgXnly8k z)E{ZiJ6ZfIc2T&ewlY?$D>_F8J>aWN@BH;^==@92OP%W%)5${g8+Fexx&;jU7^9d0 z5`|L(KP{*MUttlQxwfJcB1(=g{Uy+USziAy$H@EjP&!*y1bH4s_fK|&U0ILc{kDKQ zr=qj__wg%IplYHCBtn@`H?5(wR%z6nZpdOPsjG{6`-;9c-A9?YuTA&SChlu<7+_&{BM1JNs>)eUy^irb*ue&PC6L;V%3^Gl zeP+-DG8_APbV3PNep5|YTHVDc__u)$_%{{x>8vx~4@BnNjh(FjWe1`~{~;~(mRf*K z-L5ru}X1cq1DTQe@fK@&_Z?NLe{d4jcgyawH7L&Y_1#**N6zC|idd z9%bve7L1uL7cxLb!<~~-@}FDDXMRPgt-8rx>&jjqKyd)sVzq2~6}c#wo8vYQ+dyh5 zuQT4%qQe0|_S5yrk~(5^sLR7{KQjjZa@rKsO5hb1NRsSUgCqr~y>oRc^>-M>kI+`) zJo^kfoY{)-zBP3Ipl86&8azwS6XbqBFgg*qZw(y|G@=LO6u$4H7I2~G=YE;}yW)Sq z;@>YiB|lCv@ktO5B*D5wGtoYf45wZ}XcEJ!O)dM?rb95!ANb`~*a=`1>)B_}A-;xK z&pxAGS--HnP^ZX`w3SPepDO%a5CQjLIMQ$UWtCd3R+pOfH1IML%>ZvO(e#%U-V;Ri zkh$nsr7Ew})-Ax`cbNIgcPqr1D-Ae!Sy}f|6yy-nP4+BjG*aM{4CNy<^D8?4uI}Y? zLh~y+B;41mdu|n9RGXVEi{z8_a#dEhi~4u!#p~93#<)rGUOwbrAlpv2?OptC58b$8 z`H6BNvG|Ys{&5eP|8q9E@6kJ*=(~@Mbaq-;VY^g09v^d@Tx^&C!^4$e-bhyE*_`NT!F{iklm`6j$a8!((ug8yCRux2fcb7WoQ{ztqm+HY#`KHZHT(pC;v zKrX-J!#wr*A|j>qv>LIy#m^p)Fos5&ZN6EKT^0*Gj z*qd6#(I=?dDHhAoKnfs-uAA1>1B_{@1-nPQ4H?r@TmqSuu{ttFTGWA5I#!Ppci8S? zMH?sxt72@AEEMFJv>?Z13UbRoupq}gyn-C_a0*hNA-~bt@qE3{xn(i>0E?(w(#(fbC*lMOgb6mU#Vi2@rK zl|+FJj7p-w21X@OU<1h~3iTq;U!ueG3mdLu$%m*~#j*I`Mh`wBs_#Q0f|J&tec>Uh z-@O9`#vkMo`=CN5xj_XS(uVspNC<+Rb8&629la$EY4Pv3-eaNd$ZNGU8)Jj+g%869 zUG|ub@k7nnr8dTfX?UjYh8tspE-TK)*r3b&*%+Jp1lt%J#+G(AKw8F|omcn<_Uh4F z2giF`8EU-$M#1@q>f`{mAe!89FypY82wl)2Q z_1&~pyfEU3;L%DqYIMgy$J}WZ$w68~5l0^mo~$tD?1Qq74D8hv8`$9z1vW%W)gS|5 zGK2{O8`y6W1vW&B-Jpwl6%&Sf5&Yqdf#yjN?Itykq$sjGp;NXS??% zCwFoRd~fc7%DuSuzl`Wh{!1 z>zeRuZH4meM>kLg?O&<(h}_Jt{~IabdYRsh70#QQID_^}?cQz58SX2+Q11mFtF2tJ z0=ZY&pZYv?j2;AUV1MAhcV8-2vWdqU3g5t2kdb-qNh()|CIy&Fi(D zE#DIJyag5AubOo-h2>)r`fT7y_H-fHV~W;Zx)J5fd}83!+}`# zA70c$a|>zRR_gD|TxXCuK0iBoM~&ll^=}+?hpB2NqnuJ%XDW)P>+Zmklwop4s2y*6 zPaBA()Mkg|jKI~VZfkkf8KgElG}H!;66Sowapx+`^$hlY(sUvs>-_I zPdpLqY#eRiZYJsgA8Vp^Juy7JP*q;8tvf>ouMOtFvs5In8?3G9oE`M)ZdwH=Z?}bW z#`iUy+RC|-YTat*j3?D8`(J6!I{-YN?w{Ln&yLHC>Y@PiA(32b!n{e1?g-z!fIy z0gqPEXt8Ehb%J)@74(3Yn`jcq@2&QK50%c1L60AL{ho<>z`Il=URPIieiHP65144u z;3mE%eXlL;Y_6@mQ32fBL_Oe>ROH@j?^g7l85DufQ&B%WI^!l>wYs8nMlc4x-bCZT z_o>J`9voBmYD52D^wKxuuvXKbE$<5)y0oIpn8;$A)^38@Q5*UA3vjljAm2Vphk}XT z4!V6OOQ8fVHc=b+SQU-QmsZW$Z|N@cvd3rW83g$XAs{1=FN@zLhD@SO)qj7K=-_S$ zXTQ+rX=yLec8-*ImAq0(Kh$^v$P|}C0k2W({@1zExlVY-|fE z77Wsr5*y7H6$L9%M6gFt0Y!-g6%~mEQL#j@fHn560UP$%72Da_`~PHE_hfwE?_A%x zt`jd=JHNT}tY@$6WRlEGQu~T^XW)5RP_dV7TAAQ`k!>ztvGJd^1-Ht|A7q4ol+m8@ zTQXL@nb`IoSc~9|+fEA(AUofs!8fkBowsi}mbdfv2r=+5Z|D0o)CuczR)*%my$DB^ zXZyF@u3EE|#p_jVy(2|}drj;5kOs2Gj%py8G+1Ao(^e=rHr`lg|1j6+-k_OhZP;ur zydNGoJ-VGcrJH$OId4q_$){^2E3q`$CmDm|$Tr`AY9BPw%omcG)^PC~*t9bLb;agh zjcOEghDZMIXYf3|aPS~GdOB$R+HTjl&GXHM=}U|&MoSSKM8Ts$whty6++mMkb1Poh z3CL&jlm;5j=DiIxkIlsmWSd_=wH{f9kI{qHw7p<|th;{I?)q4FRyjDFZPO-cav`jo z?QEqRtGE4f9op_%;aXis>$X>;<*PPmAI=ms*mz;=cFr{tJc13k{@2Q_R4K4F9t&t|@XY;z72JdICJw=;!?oNYeckQ+VS&V1XD zvvqr}dO!_&nN7QDf_5ABFWPF+Xg^zeXGG5{H5!~}wuZ0l!`_dnE=bRLjTWS*Ey$Q^ zw>@n^?rtF4v^5Am^Q~b)9&O0krmaDcYgmx48gjNE&sG)3 zy{P_%t6lB(Nx79n+_p!uyDfu9Nx>t%X4Cb6SpIfn3$eV7q~l6~eJcfQY3|?)m9TBw z+BEletR5@H<#M)dA5Is1o7a7=lxwupp6$+ZSEPo5Czzfc_;w`+kJ0SF?^<2?M$hG1 zcrB`zv=0yqeuF4_*;6lH{esTl(rfv@TqR#UYX6(PsPywQmuT48!MeURe-Y9y7iW=z z2Lr#gYvRE`b5BbK-{N1X^)0^AjNJ5s-Z2@hUA+ov>i}nO@^04D)$xP|JrTkGS;Zg8{8UgvprL^3Lc}K;D_NP-O&20^Um;E zRKIGSo>c3ihPE5-MQw-fsdZ69+gtaddUZGR>>IvKRr#}r|D39MP-v+dp%wnC`NC@> zIC89DcXqUT%orTW7lNbVXf|yOjv3puU90gDc8g$Fb(YF?Z4)$H)SjkP*QU8=U$mvJ z+>KYi%tqr>ja3Q$u#)brRE^MzjY75Nvm2ciyh4}G;QEH8yO~WJgQc_0hJNe`N_7V- zSCY^-ge9Kx^L#yJ#jbK&y8jG zf@{Y1?D&QS*WQDawY}E=gXg=^X}mG{0C!jHESsRN^tx(zFqaSZfy~lyPex1zTACn!%eN$95rXC zu17<;>UuPkYxD%!^R%;C-$aA^3(q=lsGr=Ed#HV?_f(CZ8$~y{8Vh3A)sEH6_Ovn$ z?Kax`XvO1PrhWCYN!#4IN&{@uW>`5m!fXGuqVi1mL@xMnwLs73*!-7%nt8VqdWf-k zFpHj=c~S%CzJjK6v`JeN#Vm z2;LWjNiAKoq8kVzm`3S9wZe+YRmY(R!8G@^>Yb?Mi=@@ol~v+as~yfs}2o%AG^- zg982TACP|E52#Xa`O}KcR^(xtJ*cbojkZRp@wc{S?HW~T^!;hYX7<3<9x&FNu5qZw zbjLDXL!}zi*@I$xFj{lE#-SS1J-~Dgl^RXA{K9%(oFB~YTK$=CZ`Y?kzN#>y?mwx6!{FklgzZ#0l?zFDQDZ7znIxcLS9tUu<@xa{f3=-%=U;7z>h;jvo5>d+VhkP+#WYnpzXIg+xo0=msz=jY=+U*8G4+EM&Cv3+>gx5jO?!eAJa(|n z*GT=__0hOuuf`Pz)~ZDobkHHdT#RwxiWZQ2UVT9KCIG zRFwwUrtROqtwH08y&6{>SgT^KHSlR-OtqPsYhW>(sj>#PZBx}atfDn2@<{XB>I+xB zZFAk~w0&%IW9Z-3pmD`sjVlhQRk79@ETOM>wV6gYt;%s=F`KEf2DWWeHMs^E=D4w8 z4Qz8kmHOD`OVGcqLF0^&V_B<*JUhuQcEud%}?A(#nU~k(zx=M`>-)N%l%(qcB*z+JZ4{M;tFcg7vgVjnYi{vv4E|)_C$i+vrTKRWzgKJ|E$oq z+MZ2b{epqbzH+6T@FFJGPxT_&k)1EuOVrg{WbbBd4ysZg+Z+l-w-h@!x*=#~b!#uGPrN0Q)r?rGPz z*V{H9t5P4^dPtn7suuBGi z+Vs#EZLMz5hi#r;rJlBFV{m<5(P-ixjVEsM z$_w87qVmunIIUWF;uD;LZ)mpJvr2tza{v@weRghxYKMJnvpp0Aqtdnhwdw1sbM>;# z{#6=en>Jx|wc0uRrJdj#uWc?reXWNJ){5oNY?v#<=G9f|VVi$fX^?H&?+*k|HEeU! z>T1;ZUVb|z?yr_=^eY^d-dghIzSY=3+uMz+%u2N6i z+`UQzY;(UV^{~yutJKpr?GUMaV+ek`b%W^!y~(Z`d?EN{iA^hCvz@Uqcphb&4Oc}^ z`=yol8)ma#NU`<**9U7Uj_q?9gJat^pQ%zG+k6>{4p}?*QA5x+mpZ|Q_0}z$zTsDL zd)el5)v5z+(jm zPxL+SEH1RLdf@?9Z*c?ZYBii6OK4m*oV3ksm3r9bZB^=Nn>Jf;qqNNr8&VAuHEj8O z`G9Jyw{7->qQj!$B8|7~_j@m{-0p%?aJbp#b5-hTn=e37T{~B92-@ZkPSDP+QthHJ&i7ypzqs5#Y23#1IDd5$`R|8D^?zYp zYglx?4P!eQx8?j!jC(U4%(z@D;ikEbhm$+LiToY-pN#)7ZZ|yYs}o~SMxE~q^4~N5 z%xLx2=5p;AG_dvox|8J}c)sfoP#M|^!T<7Z9e ziySxh7-R|O?axWdoVP!3_?7d2GHSmgxEaJXW18_oM(uYJekj7~f&k`9HX z`!IH8?8d0|Q@D*sasD{Q;fyCRrWq$PUc)$*QS0Y%8}H@(9L9$kA7v~sE@AwX@e4++ zpSdkspS5m}#&sFnGH%Iu5Mxu9f1En=8J}VNPnSQIx;75ye1WmZc=R1ne?u5YFpg%t zj#2xw%dgJY*J50k@jqRD7C9U5<^0c#zcc>HsPkvJUl}+v>i<98KK1ha%9m$%j~f!$ zMuVKU=fyUT;_=qijCwKq(@Y!RO+22;^0>#w$(+yI;~|+~0dC`SoPVA1Eym9n z<>H?G^1Y4CSBesKjB7A%$f%d^gWEWe^Jg@Xx5qIy-pb>Qd=rm1*5$XJY;42%4H>nc z_&Sl;*n#sqFm__xjd3r={Ta1hw{;`wC1ZciYyJY>PJ04lmhl=!%@^P88j_7~aQ+=e z&2Ro*l;4`M2V)<`V;P4so-E^N&W~r*`a|B2>f3lc=TBzT{Jr>tjBhf&$GDVn8KYkQ z!4IPOY@EmWCm1!~?87MEg0Vg0HjJGZ4`S5IulG@O`8Z>H#%&lie;sb)jhw%U@lnR7 z8JoJiU2YLM8#R9qU(ZXfsr(P*{$O0c#QrgE&bTGx&N6o7{2q+j&n38xS8)C+#=9Bk zFgA60yWGR%Y}EXXd_5<*rt(Y3eZ|;nakT$2#&sCiW86%}EjYg|qxO?t64kRY%X#~F zd(Ch8ag^VgaW}>*88tuW(AHX=6 z@nlBLr{9V4)0+6Yy=#+=yup{Z0fjbZY_EkmpJ3dDu_NOij5^p+aS&fPgt6vN-h!{$ z%i=a3LEe69e-!73FzWCZVDD~YqrJ;dn&I*D2$i*Z%dmvh#L)*$=(#IJ%4D&HB`OO&yO`NAp%!N1I3U z_7iP;M}ahtyANI|O4?|zKiVIQ+TZBdXn!ALqx}Jkji2zuMgIV(seZPk5BtkpzlrAq z=GOltayK#BAMJYVkIvWB{yjy$p4UCgO+4P$%Uj<5=G6YAwW-V7U!Bfko(CB1uTbrm zgqym&{vntC6_@Vs+w9k>%%gv!^`EXEyS_K&`fSf=f2*bQ+3|2Zxsw>}Poy*-;~SE_ z!|3*$w>J*eyuDxMS>)`kSnd5YHUBO-duK}d%v%eJ5e4ejA%xHgA zV}DYk`EU6-*U$3vF8gHYHvF6_&bT?_wv79ia0jC~o8U>wXil+ix^N$0n> z`nS>E%-`PnU-R~!`Su3+wk~$PYJM*F*9#bnGQP(7HyGb$T+FET{^fk-5$}rL_y1_5 z@*TUGx0W~I=>5Yl#R*h?@>wgte&Ef$Ixm^)8Ya0X@(#dLIQJahnU?S5hk0(1-uU2L zt@>95-pmWGXFj#Z>Q4^5GH-E2H19+n!r#+GorlTCI{U#^!)acyS*hcTzl3MRKMB0j zPicO%K1}QV7IXFDn1zhLwpRr`tI&}PRBPE ze*)iG{3HAT@qa?E_k1}XHVvN&)q5H71Mr37$KxxX?;bx_;z{xQ@hRfbk8|i z4`1gXx6he@*Sh`ACGVZ>=HJAV-Ch4R^mO_BI8{8jCoxx!~I8NmL z;X>;8QYZS6S8#uLnA^{@PV$H2-nnj_Q_cIheog50URnBlgnV4;yo+a~&R@7M`3=ISv_b!pkDh|pc`3=K z$S3={eU8O5lD`GdOa7VA>%Eo7?(Z#s`igu`>a<$DlB)9({ru(Q-u8Gw^4;;QI_s}dX}jKw%l`U!Li{+~7rz8giqFPV;;-Xr@!#lxGz2jPl~^br^Nrk)8dGu#(%6~06h zJnj-t;3@IwqnLvA7mr>-3Z6%ZPp3{+{3$#q{so>FUp=^~SMDbZ;ydC+@jiG-{4BgI zek1OUch`SD9uxlzkBhImUesqoe0$s%KRoo{@wt4zI2BJ1^D70br)zLu@^kR~2)~-G zY`ksxF|PlDr^MH7Q@K>|{Zzbj;I*Eo96&yIp<925xzrgSdT{@6g}cttOJsFkLFznD zomj@L|1DmU{OaM4HtM{zOUjC2OgW?&U*wN7awhYv74WarzHOn z?o0k{yd?QQ@T}z9ZWQ&O7T+B&i64O%#LvbPm$?03hsVU{;a7=&Wcf?oI)CA5@eSfp z|DL#yA1r<>o)RCA=fv;CW0(2f@~4G(LVPLiiMQIga_QiHLwtKYE8YXoi;u?Fzud1B zte&P>9r1a1TKs*yB>o3p5O23hWvbwQ<_f<$XJunIydXXh&x>d9toV(1S^RN4Bfc0f ziLbb6?eC9k2VUtvH_5MTR8KqN$t(S;RW^Et9z4&I`|Z)>3sPr_xzw3QojasXiF`@w zc$-yb55Dhb{mMr5v?=ag?N_a`u`iyL{17}Y`HS$f;JdaxyJ2tme}@m3I%{tc_1Q(dGu~Q!AYK&D;PJ_BpSR;}#9zR-693Zb zOmXY1vSrk#FZr$Ul=z`|XQ`9M*ATxJ|3vCMg2!%j`*{aXNu6c5f4!SuZ>y;P{8ZO> z4?TE&?8^Nsf$AxR$Hm7{Cw`q@%~m$|Mz%W>a^avQZ4v-uH<*d3zF}P zrzJlMkIOn-ho`3bm5HjS$3n074wU{E<0& zwU^4qBs?$q`>l@T-^7cO{{=5gzRk9kS%T+@)BVau_0$RX#QWproBV3FvN0M@N`5My z%DMSRLl0i3lJzO!Iq?;@tIQHSe~~)dgdV)EBKgC}$8L7#JsFQn{}b_q%EBP*g*Lt3Q5c$GPx6k3`QsyjZk?_0qT~<3*V!fN{~ht2@p#_d-=26`@+0xY zY&SpI>WDv#pDF$UK2N;)uB@~4vkC5rcg3$0AA#q@FUE`FcjImDb@!`?C&jpLkY$qfSx(1@V3G)B|q)qwtdC zFTfM`yZIS-Tzny(6#oj($h@sO)2HOO$Nv#O98XA{)A6ME6wA+X`=5u$#XrD{Qs*Ds zf6%S7(QZ-yF{!f;o)b^uDXEjevy#6Bk4ye(yeRq4@r>kK?oOZLTjPnj?tXQ{^O7Hd zm&GUGTT7i;csKFq@Z3Z0ykFoc$*;Oc)PGv?TjEbh{t&#CBiPaUai#AA^^~$K&23?!0&6v3ag9!sC+v68FVd+bilbA$7LHbCOTu zOTt{X!ronOP#;*viQdPR4y0% z-jw*hc*psEB~U#Lwfua)YL$&k@bl*Tm9y2;Y&<`_*h^;|JV(+VwT}t$a0j z-A3x{h?m8C<0bJ?cvgHW9+!C^#*31FAK&FEw@+`ssLzu4rg%ZTE1nh~iu=;fcswup zJMrQ(Za<6gwAA_1>WHt_HR?Yn-T^O*_r&8e?-}?};@4Xp@p*V&JbEXQ;Cf%^?$=*7 z@3XFNxPR1tN_=lTDSix|6OVrFq0U<(emD8F^z#Cq5dRL(i?4M+)Mr_ISG>5$-LKww zT>K0?B|a5TiqFIE5HI1y=iGV!!9DT#fl>bj@dNNd;wRu`@yqa>_-s5O&m&&K|B^aq}oe7l1yUk<*%h#xzhGE?w# zXQ`9GeaRO6t}DEfeWZ;;-W|sq+)=OTPZ_sDEFs zmtD=JPG3AFewMk^xem`u{xQ5H{t=#$I{)Bt@lAS0{pa6v*KKce$sdgu#mAXTof&vs zd?B6`{}L~Yui7i>Gb_Fw?tkF+e+V9b-}Mu5Px2G-{^GOoJvBrq}7pmKf+_;&H8x3DfqeA61UFAcvABF z;V+91!*eCK&ZT%>>fePYB>xg#l>E1rU+mUjv#%GNf}cx@?~1ql*vur{MJm@h;|4XE2_X`~`SH{8l_Ab)LdK@z1UPr+%fe z>ZwKl%4Tq!NPY`EFMg1@)ER+$;+NwI@!5D${AD~X{sUh4%&+!d*;w<4%D;7PY@pJS+YT9{bv@^BG>0{3-*2HiJG7ll|HbkALabN#Y5qpT_f2XA+*2 z{QZ`f`fuVZ$a?;PkC!?d4vhNGOMVYLB|ZpGOP%xZoaApZm+PfqE_D{;1@RRJMST{e z&SrQ_`~ch+AC8yAFUB+CcU%4M-0Sgq^KV`M8c&F?F*xc!A$2<78Oa}x=fy|jNvU%+ zUY7h^+%LO*zKLg~&aZe|$+t^I{r4B|j3<9~>-WRcl0OrlFMb1_`N6GIusTw|gr~lD z^D7+X1*bai0r4&IQNOzRgYlHiI~DwQfE`VEct!$xcCrrxn9PZOFy^a zzW5?@sq+P%m3-Z?QU3+;?eUb<>5hBir{LM&+;z*EOa5LwFaEl@)cFbb#OsfX`cH^= z#*5`UX=X7c;at2Kf>}- zX99k^y}c_9R8Na=Py7o!A@%D4ELM4^PYq!rOuUBNBllK zBmO%6y7=#SO6F~IJpGIBf#+6m`#ciQO8y+YEPlP^rOw0n(B^La5Ak0mzYH&kw>=^1 zzbtk3#7mMNh$qD}xVMtq&vZPtqU!~#BmOb&i?4KI)aTXWTjOz=_aM9^`4jPEOShlP z%%#pOJT3kL?zM31e214Mzt%}n|HEb8J@79ie-xgR`WNC^@!RpMr2Z@TMUwvo_a)!v z*oSf$tPR6>-G?ySlRV=@U-NA$Fq`emyY_+N`4RATg9zE z7|%<744#qv&3IAr^R51>Zv9X3vgB7fCF(OH`7QBSom=NX+><)T}*t)?e{7 zjtBA0a9`@|hi4=|6pu-M9PWwFz*FK+<7KJ86i>?fv>ZwQQfEs%FWwbTOP%BJxcCI~ z=og$SlZB_-@tour;<2^db^glgh_7{erCjj-UE;go=ZGJHCtJJq&&5YcpVRRXYrFZU z@S$y8{~GtDPTd(%pGB$D0pCgb>4m4H&PY5b`N{YSl7AF0t?Tyr9-fu_pLj;{8;y$k z_v+m`UCbqaG#;1y1$avGGjLz>Pvb?&FU9lgx&5>p9rc-(I$PqOOTHIARs1ZxwfJ$`RC#Y^JPTm22){HJ(9@++LpaU#CCx%A%^&r5z7 zo^9vOdjVeB!1ZZXU-FOOaq;)9zV!1ao|61V=S2JE%eV{{}oS z{XB-pq)rJhi2seJ#pCBj{THRakLM+S44#tf{d_zoehXff`U~)+OZgPe`4icu9O5o)y0xPfPu0@uK9v z#51zLE1&NLr{H}j#J9$?QvV=4E%_7ixUAcycv14R@VwN25syioGCoqg^#xJ?Iq{Bo zQM@-Ell!03@UrBuvO1EVjVHxl#IxdG;fus$W263uZnt-3qk7s2Pssg44}8StZvJ#U z)!y|fcwX`k;zjY-abN2EfR`oT`oc=f!QY$9^|&*hkUD+w+3$eB>C4ZFa7+4$E8mF_^AJk_%3)(yeA%$+r=q( zLGqLEr1Wz??n#|D&3ACG$Di?x)LC~z)c=d(yWxfH-8uvDnE2UvLVPNo6Q7GG#oxi> z(*N&xR`TsGj`}Z)?}jHjxc&FTW8!Dv@r0Yd8qZ4pe!M9D3Z9fYWjrmu`Xy2SCGl8iR3%t3F*Hto|pVtcxGpJ-W#pXPOi_#bK*$G;r^~}{k`y{_yBV` ze$K)3lAn&JCI18->*&tA1kXyoc{b`lE&0vyyyUy$Mad7ty}jLe$Kxfba|a&p?B<^j zJ$OGQxxT(5U-sSnx>rU0`%I+(&tP(F1{%A zdT*EhKO}w=zEJ$>(1YLamHt1$bK=dfjn=s! z*Y75{C%50OcuDfd;VH>ausZv=*Y6#8LGsUAojz{ z{75__^InZ7q|RKcf3REs74t(~{|e7Zoi(OJ{U`Tx^BwSF57&F*sjjY{hQ|+deG;DN z=KB4(e~|01;YI1^dpsk)_SC5VoUGeUctP@ga8LRlZF#9P1@|RC55HRcBRsypyI;+( z<2aZ6W_U^F-4FMq&QLsefLs3}JR|uTmKR@u$ED6I1%3-Pl_k;l+;h-S;n8V$5_yy03 zx0%6l(%a2(gvaE1S>g7me_!smH^K8#XJ0%n`D5^u_*gt9ejA<;f6D3) zbl3l5JS+JX?_mAKx5WJ;-8u)GOa0^VgygTlGXvZ@_u^Mc{teud{BL+l=3Q@Q)PGs( z?2f0U&LBK5ehyv`zaG!Xyz}sw_=osLgWUaH;m)Yf&Bf!mKiJK8F_(M_Pl=B)mpaq& zlH}*(TT1>jtCMp3S?R8*|E%QO<6R_wFn*@^Fg$*oTYtROm;4=g*Q4D0i}+ho=Udzt zU;XZ=|Gd=M0Z&Q32cACKop+?=k8ynxo{>8DZoOowEFLegs zW%0A|?6GeDQ}Ke-e;7|o{(byw@n-jMoD6a6$MJ*3_p|&kH-8LXko<-C@S$#gCO%W@ zJcpko{vAGUxLc=gcGQ1dd>g!t_+fZL{6su0p2f2#y7SJ)bCNIOW%2LuNh91kt@Ba; zPoL!aE_hz%?TvfKyZO=ho+r3|1OBI*u)va?s?n|B5 z@wE7l_#5K&_ecF_q<%*{E`9`l$Z2jrWAM4ByFML{jdcAnydZTx!c$V`AKa5Vn>-Np zUljN8jMPct1<8-alajv)_rw?AIq{EiU%bVfsL#Y1?mBFaZ!O*p_r-_eY4J<&)keAX zXX6K)>3R{*N&Z_rDIR+;>c2eNt&_mBlJAM9B!3DXlYXwklahY`FNwd3XT^WQ6H>qR zT#ggTcf<>l?}N`3Kg;TfPr+knx$83ze^Fo&zc22I53xGpNXiBwqJ;)PGjIL*TXk zUUE0`{v~cd{qgukuAhacB!3;Ak^E!klK%kr#=G^sC!+pyl8@tQ$?uC7B!3KElKe&H zlD`d4PH_8KgnO5|{smr;d|e^xKQ8%g@x;Y$ox^Zn@+adt$xp<~lAn#oE_3U@fG5Sj z!V}_kPkO;A`2C`+TW1?QBl$z{*yV11I35=tj~B%6#B<^=;7Rds@sjkp`uwQ>tmJpV zEJFw0B-XW%8t zPra-%)8N3QU6Kty>VaaABATne<5C)=&t82cv|W_g=Zwc822W* zb(%fRI!k^tJTCeD@Ra0-;=bg^<3-8eiDxIf{Vc-MQs+zDyV}jK{7lq;OuRjw7w?8= z#gE5*@yo4_^f?R9NWO@duXX$U5#M5p>l;2B^?&*`uJ4P-rOpuC6Q6+RrOusrQTl%l zFH8O#ydd>kFO2%kiSLRh#rxr9nRhgvmHhR1TJn$Kaq*Avn5^eNcuMk{EQ)kp<+!Ox+&r6-w&qw_yrJtSgvgG^XxoPgaXW?m?cRKD#e!kV0{3ljlyu}MqpK0l{ zJzkQ0H#{Tr9*-x)FUPY|e-@sWd=ZaH{s+7u`PMITJWGCO+!OC>extk2XW%8tPsWpy zpMz(_U&9OH-{bytciuH#;y4%I4v&i;j3>m0<7M&jcvgG{UKC$|=fxM}CGmgoM9$r> z4PK7+D=WS`UKH<-dpEgtM&SwZYw(o#{dh+F6+A2c9bOP$tr+$1-R$E`AxF6~7ZNh%dyw z8ScEF;lB8auSWf+#kat7;$88)_%VUkdOmv^`Pk!bKNIo9ZLZ&MF8SB+tmJ>elagQe zHIA#>-TIyJwB-AnOa2@@EBR@7N%BvGUhgF)?q6x3diosq#n*Vf5~=r+;vMmn_+UIO zJ}&g&eOIK<8F=vycO4d*OMWSynCa$Qy;142&MQlP8$2ud?xELvS?O~m`PdU~{j2f# zovzQt6Ow-m&q#h5o|JssH>3VblHU_gOMW1pyvyw;gJ&h5!wZsMfafLuF`l^Ft>5CU zN}s{swaL0|8+!2f#Zu=GJTG-l#>*^2g$-yxY%st0Vc_ z@q*-^!(&gnb-u*o_qx8?yU}s7P>z#b@VCVW;!DNH;lGK`!dIT;-jBV3uP6Rj=)wCZ zNdFtW7p-&hKDU2A^m=bgsWZ&-QfC5Qlsb1&r<2rqjeJ__{Al&>cl%lQ{ix5Zrck>lAmjJB>yg6l>9Qh zEcp#SV*Mq*C!T!B?I(rD7Py|l3zEMDPe^_N9)H-a^BJC$e2Y@lXGZc{;c3Zt!^@IC z0nbYQGCcK&+s|w~FZq}8qU3+T{iobI>n!$yQ=R9Dcfzj~ABgWNegU2mpMmGa7vhPh z_pUThJ$;3jCBOQTN~F%aNb)=3?Zx}yN%6DsocN7+{28~OC-IWxKf%wC{3;(ueXc9M zJ?@M5z_a2b@z}F&Ka=sIYe@z$S4{b$5G;>B0pdHdic$&bQQFS+^a@Z@u@KZakk$n_<7T=L#$QJ-b$ zCyvJ?zb{^p{0Q8C-ktYyJR@~xTYbsDX#Sd8=NsIUeC+e6|9ixD!PkGmt#brEM0^bX ziukQo=S8>9B0MktHJ%e+bt%WQ?AO+KR`Q2hUat3%cwBrUo|O9c;W5d-fqSpG`}G^X zRPq~q5%u5uWjDVMo)aI6w<@~%%dC$0y?8cC;54JPJD^g5%<1|`pirHIG&OGzIge4cRi2BOHya7`P**(Hr#*1^+otK zue<&&?n%Dx>!|6nx6V{NE%VN^I^yr(3F+r|yeRp0-$eai zA@lBy{~2mi`~ZzZGACr{s9^%JeDy z#POu$_r-JKL-2z5<+%5iyFPbYUgmuf_dj*>WxV*2>uY}>_22zN*E`__@jiH5`Z)v7 zOMWWu%e-^VrOsP;Lh{S3zW91SME$3vPA5Dk`6KbnVt0Sf!@ZL0IXo@?xYdz)Kg3g# zZ}wxOs{#dpNLkKKF{ zFG)XXyexGl;r*q~L--BiAK-~k+Cw?0qm-^4( zS;>Ea$K-a}@|UQ8U+Qdudy+p0&n|WM>qLCMGix&0r7 z`{L*0G4WgRg7|#AB)$aCi?8%&)W83$+s|frtn7MM%Zm@g%i@>fY4LmTjQAUPO8WU3 zFG_yBzoP!*Ke>JGj;DTfeGs1g-u3hGjLdrzo|gPmcv9*w#bZCX^;`YTaU%7%!OK#= zJO0-1Zk(g4qj*8)eIJiWoqzCI;+y>w^{8{)Y$=`sFka-v2pGcjhxG!~9 zZbqL{XB+%Q@g$y-I%zyE*UKb4C&$lycvkAXhG!)I6CM+9(>&_GAl?~Ii4VZD;%DLB zAMW)v6)#Kv5xlg_&A*4I#l01xKI2k9ju#}qFJ2Zu%DmY=l^a6!l);ly|0X;m{uG`Q z{~Ry=?e5pAD@Ogt#J9u!Kiz!N^3B~o(|BC+lWc1>?y5L30AB`vE_&Fbs%YNOA$0WZ1&q;nMo|OE`tI((9x549*?}lera@TDb zo{{{;cv|vz;-2`+cwYQFJSo1`s!{(L@dRF2)$Q{zyd?QFo^RpiC*g7NIe1q5HLEZ4 z{)lHJziz9j|8z@t-p+VQ@<-xH$)AaPt=u|OabNO};_+47{6|)QW!Ib6MSaefI$Pig z$#=!$($8_`lAnNIB|Z!Hq|fJZU+RB_m!;0?t8tu5ogMIF#rxnz@sW5+=Div(NPaH9 zgB%a<<2mtVct+~CT|MeQEBQU~T%CJ;9g8Q#$K!GF8F*g&X*?#r6wivcSR?AQDBd2= zhW>VKyAKKRhr_I2tH z$HzXtIjM6r-f}%Re^u!9UQE{Q zVLUFr7*B|=vR0*^de0Z%0Z)qe$5Z0x<7x4kct-pcJS+Zt=)vE0uIcV?yS1Zrt6SUk zy+g0}a#CkF`TSaLegf{T>-rsdR`So|9VP!I-b4CXqjl8h9Pyp-f?V%?La+Do(*JpQ zLHstnDE<;&68{A+i*LA2biI4my0^Ri@tF8YcwGG2(CfUotj~jZPWJa5yjbt9|8ICw z>ayJ9j^zKq^WtsSi~3KB?~cz9PvL$$x1TY1N%A?%w{`OiLJ#hL za6eP*KEV_Aa!=eFBb2QkCHwwz&Dfnx8o_vKa1xi|0Q1B#O-sHw)81=w#I+m z%+2=;J@|VES%(as62Ajaix=^X_-}YtJidOV&*1)3{6IV}p2iE}Q}CjAA@tzyFE(`d z_hbCeja*;3UDQuW>LfxB-fvd&hv8*e|C8~I+;7%)7w` zQU7J>zbo!dcJFUb#AD*u;BoQC@PzoMxG%oihEYFB@m=tg_`uME&wr8iITz2${^sz4 z9M4bSzSJq<8Sxc1s`OdsrNuW7z1~YppNEp~E%Tm=m&7OHIq^AotIgf({T)0Z{u`bZ zUq2r8pAp{+Pm2%43tPDJo`dHle*+$G@8%!H*A!oj&lGR5anxr~d@DRD{Tzaq#81Ez z;#cC{mTsT3@tove#j}$C-s+35wMo?fIPs2nd24sxK6pX$qwx4vZvMK^>%EK|Z}Y8= z)L)9HrB16&qdtd=C-5z{ap&!auPF7;#bc7c0nbRjV7`M}|0CR&I^JecpSSPi=C=zy z_&YUOhu(Nj{9HUQJ_9d^zlaybf5uDV8*Ea5g0TDPR+H^XzX{`=tx$q&WflKe&Z_maO0@7=-e^JP3Gb$$pvcswlq zx7{LIPhWf=JSjc`Pl->&)8dcd8Sy1}R(#bhqkeMYJBA)SAC&z%9QVaf$J25=UyYX~ zKL=0j=&tA6cwBs0=)v2s5ZJG=dt@r3x= zTStAy#dpLD;yv(`_^J3D@yU3$qubAecvdeDG6EETKNu5=&>h{wC&rAL=yd?Qk@%UbDovZM&)VU8oz<2YD zL$CLWvJR_kSLw6fD~a!bm&NHj4>BmN7X72hxst!GYre>^XK5?&C$7B7lF9(wToRQmrAFYM{=Z?hdZ4yDdk zp$FHm9M1>hS*br9FN$A=7sT%gJ$U>e^S()bMi;lwKk$U~v;L0J^CA`(J6Ns84Ti*W2SM@ou39uft#G-ri5KI#T}{JTG+~!fz7) z0I%QA?Wg6=QJ;V9!7j;AHxZkMS4^g(X_ zyWDe<%MwD>J}M*Mj^ zEB<5XbzX9RcYoLI7_Hm116% zv+IFwpWER{sgn#nczh`RkH!n)IlL&o5HE?B@v``OouljByWYM1`glxy7#@FU9W? zuiHK9vnaj|o;cL)zdIfmKLwA8XL0W^x6W)lDfuFv5&tpt;Px)-v;H1Y|K;v({VsT3 z>Ku)ClzuM5zmYok;rofdg~z4NuXtYaZTF1&%=UKs?2IR+&JpdGVX@g7_l5DE@uu!Rw+u-2H9cC0e&f4|lzD z=)vQBsdE(hl;ksbUe-T{`;uRPe=hkYc(a~vKP~;J&*Q|m!P8Qwd+5RAH0l2g+?(d! zzukz(#Gk?A;@{#4@pbo(u6JL2FFYwe1W$=y5qj``M6zG^;7RdU@QfVKW!&rIuIHNj zMC<8`?~EtJ`-C1mkB~mkBfpN!dkdZuUx25?Kf|9FUv=N8&$9Sdc(R|nUx(nn_{n%e z{0cmNj9X_Go|gPec&fjf{~j+&e(n8OXUXqiF7x)l6OtbpdT@Ut>pzXWca+=DJn~t| ze~jnETXl_&+r0QrctQL~yeK{vFNxoUm&IShy&K%y;~$|1$NwOAzuN8}^%;}=K6qSw z1fCF|i2LG?;7Rc%cuIWL1EPM?;ydCQ@gwl8_ywT{uTKte_jd-K7k?Iy$@+Xv{hZWq zePDDP76!WYcfyn6z44SBpQqzF$xp%O4t49##k)zL@8fy#Wq3yBZQCvCKPUM;@%UhO z-V`1azW`6C-2CmK2amU9-Cnl(lK&RZOa0hE^eO!(a8K&=#6LgI?dMdyB>5~}kotMN zDEZg$gxo*;g2%h;d$ilno}mY?i^}>ON8XqGg?Lfw--ef@|7Y;H)cFFhKi2JM z8j;*0Tw_zK-CeFl#MrT=Y0uk+TCd6RffJdLNsC*jHAZlCwz zMajR0$A-E2UvN)+y~CpZ%hJCedY$*F@wDWx2t9aR?nd|f?1SX}Q{8^vARm+bUwB-6^B&PUC&UlMeeu)r zr1%YZO8jX&E&dIj5ntzU)-&zy*Uq5_KaZCD06ZstA)Xh%8!w2zju*xM#7p9v_2l>z zKLq!tyVuu9JSILZ^g7Qw$=%;4@bZbSFUFH6yWXN#)K6UMZy$P4U-F0IS(*1_JSWHJ zm3T?=_u;>ecKdk+zgXt|1uu)Y?j2q41(|neyd?R)cuJ0wv+$(&G(3Nb+vk&^2d^*5 zx_x2wCBJf?sL!(0-x@DT{|Di|)HxB~VwBs@Wq4d}*LULH>2CfxJSO>X@U(cWZ`6NE zd`G-^np?kb==Gj2>obOYM)Eh}G4TQ(m;Ot5O7bi8i~8&<`Au+N*4a0gdW!^D(UVJ*97N3t7&UgDz|3oq|P+F{vtO&51%dh5+0Xz``cXR-EeT!e@yaw z<5}@z@r?LI_{C$~KJN-WcwQsx_8NI#@;~53soy%q@gV*0jK`%;Uwr6=Za-(>WyxQS zr=1?^ z{S3xq;uqkhac)01;Tg%##|z@0;(76w$5#3bo@eFU$L$?Luk+59d3)iW+z*Vz3zDCV zXUDt!KZqx!&Rcj|d>Nh+Z+BeOe@yz{FZ4QZ8<}@Fo)^CuPmAA;XD7P-KaZCr|21Bm z;O5sD5*-h|_zrkp{4jHw_hdXL`H7*|dvRHZN64qMZa?pkPe{Jm&}cn<@vZQrcn>@! zekPt4zX{KXFT%6p-{U#)Hp5uYE8P9+6ngNwsN_?4L3{#U6wl)&@wf4^xHmjnH}59* zcC;lP6HnrC@zHofJQsTK{yCSq`?~;-i+_q|E_d^*j^O&0`a6am)R%k@ydd>Y!;5l! zPQqhS=Rtgn$!%A=VcEV$lKN8Q1pND6}b9m`Wx6h|T51!Y^ zx_x8yC0}UT9)~z!SPfPxN zJTLwao)h0V9rd4){=0=9Jl~gjPr_qzKX3(Jl>EJTVT#*-5%;Ce_jpFU^(oPDk`~`J z^x*YX>36Af z@^^)rfM)GtZ>b|a%clak*ZFG>A@cwE-=Ts$Fla(KsE-F}|HUzYqQxG(G0{Pd_#U*_Ee zPe{Hio);g6=fp3;XWroUIXm>=d5x^wTjW!c{{=5g{q@e^c#!@(;l9*45+8rF+s|2e zOpe1Tct+|!gnN>I4^N5zjVHz9qoV$gklSz9(1YhqH@lDbP9z_b{AGAf>fd87{lA2l zCI3DCmgHljqdp5V@Al@B?~dmse+r(I_0QsEsdF!$xXHb~UdQ9&zl0wAzPGH~hG$0o ze0Z6Hv`W}{u#U^{smqXZ*^9s&w4K|{qGcdop=2$?mG0tM) zyd?SS@%#+8&LenI>b!?%#s9`L;_@F8`TOy=zHs|_75_!@zv2a{Uq2=~9+I-2yWs`#fp}hg4F1@iZa=q%9z6b$ z^?8AOTJm4vp7?5+sLzu0za5^Gd=lScsoT%Vxc9Q_SK=`_4)4QL;&0$d@n7+Qa{Fp` zesrAVWgYelJ@`8{$sdE~r2aTOF8$BI%aUJ+kNV8r-_LPh>a@HdTIampUO# zq|T@KiQ=n{i~4-_6SvQ;@Y^Kc9nZbygW4^%=X*t+OreiFe0WliS5< zp$ETzBI|HH`GVA$hbP59z`df|&tG^>^6?2#|3eqM`7U@|>I}wH(*Fga2aj8%|2xSi zA8_lxi2G9i8$2QT*u_zwg@@fb+lL-JK9PC*koO;Q^JkDxN&ZIixd+|++vYx4j$2-dsCeaPtqSIO(zaEtmgaGmnc!%u!Gd)C6o z({;at|3y7#yK1LH*R2V+si!^sH}WCyEcHx+TXg=*;L%#Se-}JQ`9I+v^%zbxIz0PxI_6ulkwbA ze|5OFUiPeu?^|XR-ARhqFQqR+H zoz8zT+}|koZ-WPvKLPiszw8vX-=ln^)TzHa-17}A z&zq`to<-gm9?^Agg*%iV0WVC?|17xnx!ki3Zd3kSxJO=Wn%WtX*Mu7%%l`Io=OgJE zcxJQo=hGhAxfE_wen;xm{|7ur`HC;9{TB6K2M;Olz=v*^JD-NPrRy$%zxScc?}R&a z-IH*gdMZp;I~S8*56@ChFSthMKN{|Bk$dLCeadf6^VEMB?oz(Q47Jmx{wv_-C-S-- z-~sgyf$Nli0bcG4*|QElp00Zc{yX*Ly`*+VbluD0Huc;LKT7@pT%$dc;TC;gZbjMUP`>=jYQInU>);OMd%!jFEZiiY3HRvz)oQp)`F-##<a8e0~nXGvp;+Q9BLluLTb%e-k`MJ^=2}=T{TpHub*= zwHBZ@z(dMUfa{UG-$ihZJWM?P{yFVGh5W~quQ*rjw`tFHaGl(N zN8iXjqu^P}d+>n#eYj8lUE=YtyP*B&%u_obq3hO#YX{_>4)B2T55nDVWqvZ;q@HE) z4EZj&L;gqN@vn=RBY*BtdA{0Ti>})W?vwX}XUNCHt%Gv^0(eCEkKo34GXE1?ColP0 z{?7R48nnM*;(6L0%6Er5v}Xj|Ab$m(J0$n4fxDFd8Xl4tT%gV~Ag_{mInAK`HzGfQ zu6rL`KP>k=2M;O#Hr)GO=0As9)blGmOJ44EwLe4NIPv)B0<^z3^4HLHpM(eG^Wa(X z58?I?a{pm?j`C-{p>~=_Wd3rvL4H%>2J74 z`HSCF`<>t9{wDC?N9n!c7Ww0FpRPL_?oobY;_=TZ=p24V-uYEt_uPf~JL6wJO!)@z z40%s@mi$S$OTGy1k?(-}en$jSTt9d3|c=&R?@Jtp&3;_V;aT!`)BfY~ zeD)!08*xxQ5G z&yv@L=T69T=$d%^b3;0ZQOJ9ge+6!muY=pPe?L4+`ND6jo&6fibGQ_qp`IJy7QMf{ zEAjZ}eYF1>ckAF@_d%CCj({j%U*NFA2Ki*TN&a5qd0ON)i3xxF%V%6Ebrv}ZVcYD4)vPlMk@`PJ}{uDcf=P+nW9cA9_7 z`??fvkhg$m>Fwp7#N)3+>D(rz{ght<52*hOc#ih}3fHNp+$yzy(^c|(8o>3+(!0Pz z>KP6<&d76kDeWO&1JBa?nFEQ(U(eDxlz0#4O!->yfco2~dD=e^u2YW-KUq)S?_#)3 zJzL=+_56}}{C;V^e7{s-wb~yRkp0)eGt}P$?o&Ps*GkBqnTf|=hthR7B5#}}^9PYP zD1Yvn{GIXFQ{)Zc7I{y&P5va@AzuW~knezJ$xp*w@@i|}M^ zbJHo`5bn}**cG0m>pl$cOFgf^tJjr#*1+GO`~kR6*DbVO?bPV?tp<0<+rZ}*m)9MX zcsb3YbC`m>P5I^UkoN3=o0R_@-qn=XE&smSpQD~eaE;y`Z--mtBjIDtmi@C6kH21~ z`}!Dplkz{n^-E<>i4AxjC|?IYwvNoVhnv(h5FSyFo95~L)zZ{U%len}_oet&e!K>Gn{k`Bv=(=Oz zJ;+~&yL8=;;6CMlg7>0xE4@kW^r@$A>Xh#ccS_0q!%{CPeFi+F{#9^`^84U6^%vZ% zc1D!13eQo03wS{J{_st;yOci(*Up#u3LmMRW?AXirCvt51Gi~^7Oqo%Hr$~8O>m#`N8lOi zKl@{~)1`cEc)yx*=dJJxblp+#iRa1uoV1^=y8#|i{t$dT_2+$}cKXzFIXt5L&2YE8 z+%qI~dc9tNht$6eo}v6Mc$WJAg6rkvbt`RA`*YNPed^SI2fWy2vgaB2!*t!Z;YaAY zyWx6O+4DQxqMnOBRXdN6H-($j(;IHl+shMhmwY}vApa=suPAr^1a~fyu5VR4oeI+H z!EM^v5pGfbp)^nZ)8P^2SHm;ZzZV`*UJKRE`PJpl%i(S5x*g!FFO>PAaF?z-6|Pgy zO87GJui-xRoPld}{*^yd`-4hyPm9zk-ya@Q|2Viu`8VJ`^>2k+7t8DZ0?$!@>1}GK zLHVoTt*XhM-tgDyx?|xL$lrwP)bj~EL;0idvWC3wd7rDDCiT>ZJCyGV&(QPpP@1Qn zsc@U}@4zFBC*dCD-+nV9+7_ux9iBA zzr!u+udqw)Hz|J&JfOS-&rm)K*U4wYE%J46gT5|~;2z}*?8Z5hSAmD*EfX)NIrR1K zAmo=_AdE}sd(=*gdTPP5#l}J0TxG zSAy&HrCV^Dybs(WACq|e^Fi9b5c#Tf-EDB6{1r~Eze9Qj0eM7}uj_~(hVe<$)E zG?Lf-3vSb%i@sL-b@J=s8vQ)FCp=5}QSgBLRk%;SA@TUvZPNZ9k$>T8xxZATb{e$j zN_a&1PVn$r*>gYKrk=@gmwW|0OTIht_}6XH{sQ~e&c1ZrYVaI+OSn&dH{5F?_m6`c z*GXRhcgR11+vGnd9{;?I_MiWa+J6;Y_ZoOWemgu%J`x^XFL%y`XUI3h9rAUBJGDQcd}FwGgS_AF@UWTmQSfHubKpMt`m~?+e3Lrm ziyTxtOVOU1@GN<2ctHLA;Tg(LNWHnduSM{0DgQa#ru;E@MAt2KNbR>MUmyM!`K@q+ zdWOQamU8D*xK8<%@bE^N-wijZ=MT6;Uh%NnpCz~8ejC}}2cBy!{YkjdO8SB{Pdh(^ zYn1;H9#Oykz1rzfz8+j}FR$AXo~8Ul@K!g={HyRU>AIWYoydQJn{?fCj$kL{P55%g<*9pNVR-wzKdKLxH){%v^1mU}*jJCy$wZd1PO&uV`}`K#eBZw zqujX?9#DP{+`2{PPs2^>x%jBsZ&1D|T%&wnctH7aaGUb4!9B`<3?EDRU*Ugrkozm- z)XsazuZL%-rx!e+{Ajq}N%qfzd(^WY?o$2$+#oN0OzjNGYrr$)?cg5y-EhB`+&K=e zb(X#Wo+JMR?vVcs56Sa>!G5~#tWWyb@D@S zgS_PN{GIWyQzCB&x5#_JZSt{jhkP+SL%uWdJk7aX-q%Uwvy`v&tJ>+3w}N}*gW*2; zRCqwX79Nrxf=A>fPpCaP@`iBjb@{sVN<2@qZf{D_PpO?QNw`6;`$fO2=h>w5X`Xoge_vbfzZ33|KMBv!{&{ep@*l$IQ~ogArJY6pz&TUC z8azw+HgJp1zdt;no~PhiZ+X9O!gG}WH1YV?#nHL_hWvKwx$sZ5-=RI%zzy=AaGl=n z9)-J>_exLdyf|lp2Km6m?wMV+G$e$GPqBEBith& z1lQ>8<@v z9*`e^`{YGRs+|VC?llvS-w)9FbU;2FA@>h~JLHq$8QT9g+^76b_(Z-ocs#}bdf&Z7MnlvexaJ|@qh3EZSTJ>faZKL(E;mpvZbp`LYckNjJ> zOJ1~0{?7QYPLJ z#&B(dyzZ^=fbt^}kAK}7ox>dD&8K9~2IM`;|A@RZR_61{s&n=!UmqTjcTYS|^Tx=Y zQE-=h7W~C0Wqu?2L+bw-d7JX*p0Ca`qJ9%@(0ST$lX~ulH+)v^nFQZT`4w=B&TV_@ zblnqhlk(-usr^3rHE@r-2YkUexpQ>l@z*tUZm%QnQ2rx$j{1L0^Rz#&yxM6|&lT{o z6Xl+p;5t2r1K?Tee;Te)elgr3-v+nIe}&&hZ@(8@pq}R(oln!mVG_S z+CLkfqx?qrPRf4=59qpuDyVY~D1Ry3r+iDeP3PYio}->8;pWrw^;!To$Ujaz{(5bp z{CxO0@;^|%{Do?NhW0dqo8-5{HF~>y817Mi20S8P0}sig#N)5CXn*mG)Xo{t$aAO- zH)v0LctrUO+;?Tqvv8Ywe7H;gIXp{#BJud=KD57LMYX>jUAGxLB)AJ1q0p;&aJpMT^ox}6UyD!R}OOdxIzXxuU7pj!M zGyc4eycRq|-VvT9e+2H5&xU*CAH#j}UlNbMUY;uNtF)nZ29$3M56K;PL_QXtBVPp9 z7Rk5w?Qos^FStQ|=_P8XN!}K2k>8hi{Ppq+@_r}7E%N1XZ;H(CLBCD?1uLuP(58H4 zctrip;W>If?}VGwGZx;;lY8dDcT@gjxJ9q;_i+6s*>l#VYQIVO%i%ux&2W$WKDb72 zFH;hapMN^H)oK4Uxo0ojB0mE+X@8|EYQIbQX7HgiWq)sYhIWpE+tmLG+@bt>ctHLg z+$S$qRqZtBb-z6E`0FM*pN`0f)8+pA;STu=@C@x=2KOny3qGInC*dybEL#odO!=$e zS;}{VTXgo!hDBGPpx~+Q1F+0dSq(?k2!p z%D)K@$+yA-@?(j|UuV(&@-@`{xv$7`xDIa8o*wWV<+Jc;mh5>2?odwv_s9>xUGgHA zaTzggSxep#tesb!wWqv8#q@FL}4*AK%drzCO7L56HVFo~LDL|4?|eK;G|k^n}#24tbNF=Lqgoe*sgS zTaLU6JR)zIc>Mhhy6!;aKX^m#oCLRN&l0#!z8(Gu`R{O#{DLdher=(=?zQk7<$J*+ z@=iItJWKvf;_=Ug>3q(rt9G76{a3(4>gfRANIn!klzL{udoPmv--kPt zKL8IXU$mau87z}MRpBo6w1gj8A@f5LkH25x%lB_D!gcZhZjc{>o8;%#&)->2v&gT4 z+vMHh4*BEo4EgKuEcs`N=V|_1@_v7X|FuN=1y`w^F7;T6$KR)=yaSKu{Il>Z+aEY>m(k3-a`93!+r7*@PK?aJS6`J9+4k|=g7-9ROhL^ zC7-M76OVtr7M(*cxI_0f8a+DoEI{6;=Xo>Sr2g;W8S=bF>O39tI*G^MN22R?M!p4I z_hEQQJ{|6ouZI6gz8`M9BcF!?jn&R9c@=nuycOIb?*|W7%Kj(e9_8o5wRdIyqr~Iy zFVXoNL;fl1FL$-tZ&T0J@RsDg;3uhP9DG0J7s4aTZ-HCnxzyLm`zm>j+NrOSZo>P$ zFTH2tAp9Gbn!}+@bRy0M{u0EPN{E7s1z2{&RTMwQ}c4xIsM?nyCE| z?QaUtk@tsdOXT~vXW=^ea=1ah7jBXlzFzII$ZI7YfBs4P+rgti-tQpv*wpg^@+Ljc zZ^M1+-ww}_pMpo^6)d&iq3bqHJWu;zz1(>h+@?KG!gcZm@JGnEz&-Mx;MxXxUA<}k z&O9wg`Fik(yd&KIK=urQ8`S?i+$LY1c>Mh_I-kABd(>Z`ncA75o+|L2U&%e~;D@N^ z0r(X1>F@&NYvCdJ*KnJ>;0~f)H52ce<;sqE?gtulz9C87P{`w$bU@vGA-5fVAGy@aGksh{1Nhp;U4*P zxc0H!zZ#ySd<2ikwN`4UwMF(+f*aIt!L#Ij5|4kKIi1gVr{F`W z$7rqg_x?ogZvl5G-xnTGejHp6WzT%LOFf(6CqI+<6N$&)f1q=?sEvAVbL2N9o~K!# z%AUL6wYN&2fF5nB{P?>B`G|V9!A-iaU*G}d%eGbL*^2V@;QeS%H~32O5%3)OD~ZQH zXQ%xekq_uRzk@rpr)WF1(<8qO?vl4lJpQ_dt~&(z+v&Pf;Su=?xJUjayu>#7di@PI z$t&Kd_PgX3JWJjOo*{o69+1z4o1e=)@562K18{@9XnVCY*eQFe!n2fb3HQnGPCWj) ziO%0e-u*)MFNJ5wx5EwclkkXkmb*#qcPM`~+}t6r+avM#>l)hm1oArN=fQ*RvS%|~ z+a>*Q>eN%>X0>wwxtVzU{cYOQ1$mF|cNp9zpAI)@&q}yU`Mq$5KEL`a?WdlKw%VU1 zw-PU>Ikf*SfZv-($1gY2KDH-sGZT5^1AgBk3TP^owp+IQ~nXS zL;f<{qdlurr+k!n{P`YTw`d2ov*{kWvliT>{`T;Q@`K?4<)4KczkAI&v<$J?W~h{ z{NMB1C-XMkB_9I!XwM{gNcm;(8)?s%iN`M|_QNCn1wKJrA1Gq&yyQEI};c$oY zFT#DwzXvzzzP^NKspk*4LHUZe;yF1i@7IERl<$+~56S#^ctH8r;l@Fk-we-^{{YXB zpK}|Y2lD!Gm%JBI_-yjLo@(cx zXUpr>hU-7d>$ZnCAs+&tNeJwL*aQofXzsQ~Y;IqgJ-GQCQWxg6bqI?^8 zNPaIopq@!^m-a7#o0Q)U_bGn@?oqycAGP12d;@rn^4;Je<%hvd@)@bq+ucgIc0!)p z9(Y848g7$cawqna-vG~$_l4WEXAC@`{A=*Kzsa3j;Lb_uKf!;deCfVwXNIm@7j98c zXZSkuhv6>uOo!{_tKrTWx$`S{K>5Gn-tRJR+@8Ex&ixM?ccIz3p}EH4&G3cJ4@ZI_Rpf82Jn-GWWF=pIxVj|3?5R? z47gAE_3((!{~NeL`6Bn=xuyM8;V$J{!%gbH3m#E^9NeJ(*HWjRkKtK5pCfRadP>}@ z_L~LddDek@l)nY;lHU&x$X`f%XwNdZPS@Q9A5H!@+%G71Rve)AHz98Z59qpgz+K9Z zftRBE>+p#DBe+BU6Fev)cjgULJN3fSYr{`c{ucPFXaV?Uq$)X;Rb!a{UO|;o+D|0ae3Wy2CMx!%GZK>&DZc`)ohA2t2@h%K-*BJ&!i?JQkYATNUAG6^qkI+~(Vp3GpL}E5L;fw? zCNFxQ+L@(2)!;7W+rR_L4}eGHPs1(x`tc38UP7MpC-5BkQMf~1dWhO@lh=o5$-BTE z+Vc=Rr2LEUW_fbw8hGX$>HFZPDPQP*oHJebQn*b$E#aS$-wXGsX9CHt-fw5PN%@E1`gt<{V%kIb zRq!17Zn#JOC)}ky7YLWqvN)A%7pPT`cnl;5Oxpj!-*2@@nuLd2_gRk?ijWH_4xZ z`{X{{CjT5hll&CCdS!Xt3m#Sb%g}i?fj6Xc=mEDW|0p~pp8+?hXB9l4{64sQiQM@& z+@_w3N8&lDB=b$-F6H~cb;>^m4=6ty?$e(4;TrWEgpVRGF-q;+Pj13pL+*Ukm8tq&Q56QoVXQ-!OR_)ADzA`+bd<%G%@_pbY`53rP&*5BnhVq+JuPV>y5Zt1k z;*Y8Q#-%b}3+__>CU}-S1NX@%r9HG~30$M=Zif#c{{!w-kvl7lR{QIaUk~@`y1n38 z%8!N@p!|GzNWKYflOKUwwdKyU9#=cHYSL@MJ@U42m;4@hKt2wxSC{>-!A>lyh}~lQ)G+5ZIGA%7KK@N${ol;+6~!L#H=o>cn{+J7lLqPr6({x>KOvJ=$t3PZR%MDcPPId9#H-i{Cvt+ zoS^m(CBF_HT_w+Tr|tZQ%yx?}2-ip9s&=bNeRTrk*Wuv!OhPT-s0h zGS8^}F8NjPfV?Z*qdi06I$d`%G@i1IDqA$dQzMm49=Q#V+REz=hHK<5+#p{H&yw$e>o>{%6REe8e*TMUzk8$f2Jiutza4H+ek9zd z{4BUf{yyBKod@6=^%tG4cG{G$2G3Bw4LnCa2=29)_xl{&B!3%jknezJXwPr(Eafkl zfpeyOV|b48-Qo7la_1xPfO=knN91ea8ufewH*MKpl@hzG}g>TcqCzHz_|D9#Vc1yf^s@xI;ZV;XdX6fO{R} zo{BToex2NcYvgypvvl3jsZ)L~+@t&laGm@x-0viJ7JEhQ3@Kj&u2H@n+#nwW&vcRf z6X6l%7s12MGXE*O7x{6xOZ{a$Jm-{e0MDcR?P;F;5x7l06Yh1DJ6FRa%I||~lrJz# z?KH@%z;n0C{u|&Sv0H)G2>6{BiOJ z;5PM4hKH120rx4t6K>uv@9QMoATKvt?YGIVg1h9M;Xe8OaI?F-?sM>n@=M_sZuXEnAA*PEQ__C&<#4^H?AZZ#$bW--#op9|=+5aTmAfE@%QO}2Pm-0Wreex0u)Xpq<9k|g~?y=z(c?PbNKM(iG zm%$_Q?QoC$RN8Zw+*9FoJm=)s!b9@zaF2Wx-0CO$XQln*>)=o@Nhj=UN? zAa4VA`pZ4{!d>zSaGQJ)JV*X%+H<$;&%rJ7(r>E$K6zbumb^3Ex<~d8h36>$BHW?; zyKs~ItF(vwG~6RM7OMUFy>gEQk0{>XBph1{C2pW zkv*s20p-iTrS2xpeI4AO{C>Dk`NB)oPK)wY;KmTy z-wN(fz8~DB{CIel@~^|S`(^(YxJUV);2Fy6OV$2>@+Lf@e8@8 z4i7268?FzR`BQM8dMzvrC+d2 z?d&yLdNcSG%J+lYkI4LZcth%03NJ9LnE| zeE6u``4rq7A$>l)2KguOEcp@m1LP%FsGSk*ydrhVcYxnUJBPv>X64SwaE<(JxKBMh z;V$ht0k=oW{xa{V{T6v6_+;`PaD(lR$4cKVdB3NJQQ_P2otblm~)Ecr8OKV5ebJVW`<;8S0b*F6C@ zsi)j~YJW)H5N?p)20uhT67Els*L@kTJt=(+{APMx4#6LzeBNrc(;6##u7Fpko^J5J zsOM3*K|NmL<+LolpWJ}FNB8vu@*d?&uEF#0l-yYdZj6)O9$ub&2s}gX!tW$s1`lcH z_S7kV3f`J_R$Qz0SASaWyc(XP{@dU#^*jpCP<{s7954G!ygqpsxK7XcLvWY!FQ)yI z<$b-A=BZ~l{Oc()UvRzJS?XEo)!`v|TlfmPk)-&dr!udk6e>As4- zpT9Hy_pC0HpBL3kJWsPG$^EV2zAODM_-o`7;M#LCzX1L#DW_d5lyQT}asK>2NOpZp}e@bmHu%Jbj*!gAb;U z;}>jF`)5(U3EY_``+LJ%QO|hzMU-C*x5&389)BG{Z(qM5AJBbO+?>C&oR+10)5PO{ zALewqvlrZYQTn6sM&z%;UGf0_1o?OH9PKRfp*qhTA^VTOE%K5dsr{45>%&dj(+RH8b%(-7k-r4j>G@d&cc}j>xJ!N}?U^a> z>*9~q{y!;y1Kgo}Z+Iv2C*daToCo(Q|6$rcSME8S=BekbPt?vc^JTs+{7O%HS9p&6 zVfaq!nGJuF@|)oy`45T5{~aiL`zpCb?X>B>8YEs$3n+gZ^3H6ze>gmxC4CxvGx=(` z@v6-4fuBdNeX4e5X{V7oyK9pB?ZVEqZABRt(o^spOetn_LUkwi^-yQDL&Jl2pdR|HU7t8*Q@LrTZ0{0fl{5d<+&K%`0 zhntjd3!hFt7(TU@e7krS9#H-*cu4pA8C;|L`W3Fz`IpB3z^X#c-Q?w!$sS|C0JL zxwGtUwSNia8^g^dGT$8@QGO&mLwjbz4eD8!_P;Ir55q@MKJQDlGgvC~SHN}ho8UJ2 z0QgGs=in-Hx)t}T{q72x zx8M=wd%+FLKMEgD{wlnBb@`mEhx?TO7Owvx_Y~fzcIGHw9j?*&w}qQ@4g*rB{-@y? z$}fg{Ny6FD1YA9YJZk?HiVnxx56{jKRk8Hzm)c`lIQk5d@JP-!F9@?9jTqp zO4)N6+#_!VKbv|6z*}7`U-zfsCgm5wUAo^-;Tg&wgJC3nEpYu$x#vE3j`EY?-Zq(E0dGa0C+~p=G#|=6Pr`%urO$=e4WxgV_LKhzcgWBEPVKa5XC1gl`CH)rdU@Sp@H3Qu32sq- zE!UINYQBJh)Hi{~7foCZ{25!>*&V>h*-wY4w{C|LJlV?vYpe5&OxT!d=?aJ9WxG0rx(Z*L?$il=55QCgp#D zXFrlXrG8R71M(~2HL0f)yz6!HIe7qXQ+^8Er~6$FcPYOc?$P=G1rI5I@y}|1Nc~OV zI`#C1TjY!fnbQPM!LTA5%MB z%GZJiKO>vXpal`$d|%x^6hY!`cI@z`SQQ0{YS~Kg`4#GWG{I3Gx@rYga_m= z!D~{_I(RWtzP|h6HsuQ)S37;WuS?-BIOII{2zfklz%zRQ~zqX zNBIaIk{3LQ=Ye`E!*$xz0zQ)bZg_T=yx*tcKIIp|Gj!cg;W^45gB#Re=9Jp+Qcpd& zL-{Un>npi)ID8xBUxwSeWj=swP+;U47+{;76` zQ)s;JL45ems0U{QGc&^84X;kQe=1?L5>`J}1@SF6CRpZMxt7@R0Ho;1QkwBDhW-!ZXyL zgWHrZb6V}sl3xXPsi!kMp!_hn6UoAzLEXa;fpEX4j%58 z`9Wz9`9ye@{0;be@({kMt$f{c@Eqk!YlY%p-w^*gI=bJwaFgzjmU_HimnY?+y>iN5W0&nVI&} zo^|lt&vNIt@X?enUR>?eew6uIaG&z+;Wq6V2+vX8g-1Wh{uS_>>AHL18OonddnjM= zEVbXD{59}9$Q^j~Jo&n0;V$K0g=gq~*TX}~e+Q4~{EMHB=YhN?+@=1uaGUZ2;aT!$ z;Xd^&h6j}22KRoEugeMe)kmdYP(tnZ$*+Yw;y55V=~@;r;4i=C9O0k^5YHC&^fd*QiXW&b32FUl{6XDPos z?VUGCZPu0MDI}_j>?tkQdSMJX3#FxI_8Y zX`cKZxKBOf;UVQ0!ZY-FR0uc7e@T0&zjP_J-=X|f@U`T(!lRS&d`7@+@)>ZK{9X7q z@_q1Ph2-md8m^s^*ELG3{W-cX3vN-q4_u??XEfZP>&}J`A>Rad3(K8H;5o_{FQayP z~J>JtgG+S#Y0v*24=Hm-&Nm<1FcC zov(IgDPJ9KlDC2TwC8SkhVoCtHM;Jiw1@H`Jf!{{JV*I5<<$N`)ZY-EJzL)IZE&CR z!{Isdsi{-XGPp;+GtJZflkkZ070Rpq8OmP^H^_U!b^3gDB;29=th9$dZwcTQ_3VdF zA}?}*+UcJo&$9+xCvOQ4sHZ>NqCMl_8uh#ZcgeS;J>*B>4)vF;fajd@b>XMUyTJ95 z@_vWIt#hSMOZ&-}r%pXzz)kYs(md@y|3W+`ly3~zD1STLr~IREkMb|WbCeI#p7Z4W zehm+)N4rSvtXxXwtH7<&(p$kj%J+ra?U@gEDgP1NpzHpa_E7%ZifVt3`s=`T z>bV8}4Ecj_uZ+CkY4DKpE7E?-Z%>`}9ES&#FMF}tuhaK!u7YdS(+%#DKMc3XUxJ&| z{~kO``LEL+`t_x!;STjws-*TWA-@40o-fbyF1Shl1U#aid2omJY=j%s^F7=rFJY*i z4tZ^OmipVnJ<4a`7nhUwH5qP}m%ak-P<}_+PyTD_)KmHrwcjSM5BF$)C%8-bp>Tup zFTz90uYw1Z-viglPs9C+@*FBwR{L|5Zvt;tLFVs(I~PhH0}m)a8=fKm03Onw@8CY= zi(jgCT6Eo-@EqlDOr81%z)k9T7QTplDcrkA-tUgIpYkWte#)1rqW0^w=Sp}$`HpFx ze!sx|aE*GVz+Lip;1>CpaFhD~fM+RRv8vi{RF>y(E!?4=9`GgPkHN!AvS$w5Bwr7Y zsOMX_MSBWY!%pg{4)@91z#Z~?Q>Xq3aF6nf;1?V6zP7>jOQfGj`ze23b+z9kuM5vo zj}14;hopJhKM9_p{4%&k`JHf|^1s79%3n}J?axvETDV(Hp2O|%ka|YID_<(}9^9%T z{e8Gc`TcO4ywGK8r%!t>g}an*2{-7v{ox_y$EQyHufuif*#dut{1`l2Ro?G;HP!x* z^7Y_4wOTU&Fx;Y^ z8SqKuYvFzk+4ButC)X}lI|J&e3^!;`Gq^@Qec>+oShz*LAa&~h5T2#{kMPsvdTq5o zcbUB3dT@)p13XKffjc#2&ogkH+)wkgKZM(qKMs$`%hpl*UGj$TEcJJVhm?O9p1DHq ze-Z9e&q{c~%VmBa+^8+Rz!hp|mhzS0CV5l1OM805Gn9V!*i4` zVXFOusQ(JMQ%Bx!2e?o9``|h9XW=3BEQDvtx2Ad8e-s{2zVwx9zfJl2aE-hRJV*Wz z+#-Jw9@UfQ@DAKCrSFChA^#ihUMcfNU9~?)`6h6W+<|NLWlt6!QGPZ&L)ZNPZjc{J zo%)N_Q#&2X*M#pQzX=}Jl{@c)8{}@^~Anypz zkUt1_sQ(4HPx*J?b|ZNXJK-+%oPvKte$iEGzt%wZTn~4ylHLQZlaGRDXwNHfoAT@7 z5&5@pm%L~LwbP~kYVeTqZQwW2eGPjAhqBkG{Tb?M0AEjj8$4b zRAo9Y0qA`Nj=)NYG*)R8J;0;o;vm43HK>K7GCFid0%h94NLl`X+PzEO8d!6 zT&MQC)N>i!B5#-GY5%?OEajhp>y-E50p+*Beaim=*T~B@QTx3X@*L{JBg%J%*KH>A z!{PP~(qDr6lwS#V$iIRIwC69lNBK(EtNkWjw<$cLe4o^*|8clMJ@eo*$v=X-&E@_6 zl=f3T&r&-L%GZQzw5K)Pr~Ex>zNNhGczBNT3*lMn-wHR$kHHP9}Uk?|EqA9@*lv@ zZ7uKXd$`d?dfp9cr%m}eSN@ZjnEg=4t-|c$V^?z;(+13=b%;H&^?8%A0VF zydylgNuI+HctrW<;dR@|{0g{zqx3J~KIKor9r6k-)c%O}Tn+aq-ve&abw{N=l%ECH zZk9XO!42y97Cw`_cuSmfd)ZS99#Ot6+@O5_)aibogol)WEzQ&Z&2XK1et>)A=d{9e zPJRX4qW+uVF6D=$JsssaJO|HE&l320@*VKVmOa12E%I`$)&3myG=^tr&#iEidPcwl z@|kH5c>s5*KZ5&|FVsfutaFRJuj+8CgY>rW4CU{J`{ZL&r=GcRhkR3-r~QZE9_7z& ztM;3ezZ@P>{w8=x`9W}l{JFHJt2_rEu62_B8N37e33#Tn%$IMc_J@>j0MC+lgKOPn z&oFpE`5ADVuDd$zA^#d~Q2!aYMfu7%s{L!oTf)OGa_8M}jeH#3BA=H!o&N@Sj`9c7 zJnb*q9?uE&Tm}!w+rcyB1K|$!PlWrF_tT#4@*K9pUFylfzac;GCbeI?P4+Z|JGV;j z4A;qr!d==k6>d|0B|IYkD(xXZ4fm=4;+yfDQ@$zuCc3Y_aOZY;U*q5|<>#mUa!+NrM&1-|lRNMX`6#$cJ`?VfuZBnD zd*GTQcm4r4$S>%q?#t;d^Nrv(`K@q|d>A|;pBnqW{r5l@BX8X)ulp(7xI_9;xI_7p zoz#Ap@^uq0r$zMN7w7^nzFhuyc^*bj&pz_HuOQ!u^6w-61LY4R-tKCHrf^ zUAnIu6ECOrr=ASlC7+C*R()mvyT}KW-;4Zq$`|aCzcc>thEu*;?Em&U*7^^x{~vx$ z>;>cBCvJ{aJ8!|i6~EbiHKr#4*wUU^@5Q+O7BR{moa|Ir8T{;2ZBiYOnD_8(I|3;RdH&0m$L&(F-* z|84(kX@3!QzjvT#>3`(ki@kuRYt8S#`Kvj}|NdM5M{!=$N@}O7$o$@<=X~w8N2DK5 zysS2Cxb(kbFCD***Uqv2aYaq5)J?hNsrxO8zx&?fg)}4o`OnIpddO=Zt9)_XZ`0UI z#rfhBWxgNs4d0j79Se7-s-Bv-?j-a~n;?7MftQ~weII)4FICT{=s6BIa9{DAB!B!3 z&%*1a`5F1=@V|dtc&j>}>EhDJpuR8qyDa@Jqw=^$~}wFziYhg{{nuPo}WLHo_`F-|2?Ni z{yF^bAC(f%)9zVfiNASW?D_X~nBIQ-Am4SO%#VZHYt>j6f4DIA{GM*~{4|9hrt|EFp4A(gicwF(Pac&% zCvg!?{$d6CO?tc71Am8}+k(B+{;_wbPn7Dc3AbNS_tgoPx-$0s`--Ti8}jCCmACNm zs2}|BCl(sipT@!`zH@`{H_-3X`G?3Gcy7~k-UH7LP}e;dZAam&UzO)p+WGhAuzKwI z_w^dRF71+hp7z-s*>ev(d|F-i3S4(M{P+Iyd7BQmUsCxCk)IQL{&mes^11pX@$#BU zA4m40=bM>wkJdZCr@ZFU=X=Fs&wqbd?g@F$wc&?OSy-a})B)absN5gKpNHi4gpE|b z8vd!l$ou&G8J`YoBVy0LuW|I8%ue$ebq?wK^To((bPk^*ug_KaHn{E~z36%OE$bg?O)ESi zKmWgfoIy|P$K>-+wU64rse*i6p2Fu*K0Yt1g38u$K7Wr!ANTJ?PX_1T5cx-t59s~v zEad0!mFKe|$(Ppxdfv7mUz_gt2)r_#=h=6vo!#g;xia?r*Gr!#uWKj%zvp%b@~!FP z!pNk*yr$F6vB*EvL!RdwNk0DX71I0d&r+xN|7Z18JDox5`Md|yD#ZS8Z`W3m|KI&L zqi6mgxo7ZyR&-EV=raQ;)&eWlOUS+VEemq)Lc znRxvEiq82Ocq8(b=;yDyyTEtXmmiNFflqzg5{EZ4=`W|fL-(~b$%|<67at%W(dR9{ z{6{{opE`%^*XkSwqq0)s|J#4ne|YQI^UuwoorB<;>GRSTlAb)R&3H>(WI22wec$p+ zxP{Mu@MX7l0KRFUe6EW0&)-vCD^4F@^w|IH^R$|Y=V=FfsdGq2wNHA=X+C}2ydV8G zz3y4`WazmX5056QejOK>g8u&0{~q$2-k0wm_QY-pnN~P z=-ujdcgHBd4ZdUAzn{-}$WPoP_cV$<|8)=O^}RF6|6?Hj??dTzC#dUogpY===qO*u zSJAK0+v8^B-+kH=7de9bFna#W-lKLlqWAyJ;3j=syBl7dK3+c)d;a_F%y6~;Ra|`r z+9(XFvKdZb3@IfNghDY4RB|h>YoGefc^}7c6v}dR4NuRfc@S*+W z>%J{Q(sx+4=8)04lLioE`e+H)l$bKuV1%G0NJdA=7sM{~}RZ@=#$-|sg0I(`{@ z{(Uu~xA!xNm)AUcy^0T3`SNrQX6*Uz2SR*bj9RJjClV6utreGJRY)2=~5F{mYR*3GX`6f~Y^0 z%itVlsr-%jyES6ZKj(4uapXqiGaFRC9rCv!--y0{H7fD)nnln5SoDPSoV)-J_No3_ z=${8SCoAs^_u(FXK9#lIl-q zCoU-Yiwk4VKTn&!PO;FF*{%9l;vek5wi#`9oG&=th_p9^C;OD;$(4)f_)JWfhslQP# z@pRq)|G8!C`5#Ai(fg&2=-Jdrz8@Z*h3O7gvcrKVO_apKpzPc82QTj0ru`o~-ip z^SyiEUH$(f?9JmINvnGCm(3Yu&_>Z|T&^vP441{KES0MJ0evfbDqCfpO0JTwHC0Ka zwp21z0c1dd0R&nRXF!%_A67>e0Yzv)7!ZL0R6qfnpW+O7#a84pT(5ecN}cLA_4M@T z*Yii-d~G2I9I)E-Z<*uVK(puYg;N=e*( z3-G7?ZhG8Pn^>%W ze*JTgQ(yW4@V^0@-=DiFmj4XwAD;r>q5vo0JT&R|RslcyR6H+dVBQA^kLHEP`Y^$s zJ|)Wj&2Iu99?nmb{qj2ie>}EN{|xYdKbEil74RFdajy?zy+W*Cmq&OcCylL-Hv;`7 z>>Mxv{2iy$dG9rVKhI42$wvV{2mR!vNBTLyFTnmNS;xPQ@JOCBSU!0`7|Z_ytRMJT zz+Ww=$K?UIKN8{5{NDKd^titaIMGStPX#{r!2PRhLE0tY zmoR+0=aW)t|K=sY|L*J3@%0|SyI7s`1;EezO>Bq10+x3pJhHa0A1}rWZ zSQl<2((^I_y!OY(DPecO=Pc%juL1gRT$5hEJ_QaFyBPl+ zz`vQ`pO5jE1OC4e9_e)v%X^RbwRj%+|1YLb^7i8q9?{*H!R;0RH!4 z`u_0Ev0iUJoA$#e0)FWu@jQAkQ~~gdUykt?171ORWQVhuKP-UW`R$ng(LnD5{g*L+ ze)*mrhz?%f2K2XJ{O{vq%`#^&*BSKWM zkNA8Ut2Z3LPh)=gvV5Gzs>2^6upI`9S}; zHyodU=&!c|{=9!o>-BlSpNR4Q4&bjkpO*jOx5Ro~ct~6)@G#2HAUyJ`06WL50Dc~u z7Z30+|5nT=5%v`cf9SKl89sOu;CDbAeH-xi0)B)&_wg5iU;5kFZqEezyA%GffBZGT zzYF+{*#7j#pC9Xc4ENiU{`sQ-|GZqh{902|8SUwMd{>G1|$9)aZJDC4`9`JLRJl_L8g$Jem^QT@I z%kNxS*q$w*e;?oumTx}}c>6fb=N}Os z`N>^aK0NiCF@7ypSJMc;ul`#L=mH~5`Ky3G3(F7x z4t(yw=H=&K6v=<(zbwKdJ3F6^?e?hq#WYU={E^&o>Pxjfo`Uvo1fW0uV9e(Oz()f7 z6r8sv=Zwp%@Oc){^RJEh{2UB*E5f6BxdU4lJ_z)8fAcsc)Yq=U|DS>W%`ZsPKlH`- zJ&%vtmWRm^EBosKG5^FJOLq-Ah0o%pYjL&td+l0)7Fr^NSH4`N`Q$EKjm8dj;SQ^igLp3vUHJ zH(+w!1^6vkKKUN-xoMI1^V8>I`HwI;pN#NGo?Ef{N&@^88bETO+Uw%d8Yzl!k4PtIfWa`aoVUKgGl z(OSbl%;$C&@W18^P7+kXLkUiFEz-ToEm9W0-perYU^ zj@1vpgz(6pd8lK52IOf2zQyX*1@O56lk+8j-;42o_nr?hJ$U(3puZiH^V@*GAB)qU z{GC|-Ph$3b3gD+PzY+ltuyco70KXZt=X((z+2P!u$Nrz(+x!UNHugNo-vj=wPaPj< zb#!#UmqmQ8{P&Xxf7ty||L~(}|9@nJqxiZ5i?1Bur?9^FllT0uJ9_l%)AKIx@his- zfc`;PU;X#?{81kRv)e}izZdIU{vF^tmJc8NyYal-^X{}>Pe6EN&$}DxcxeIsX)GRH zp#LJ~Z@&Zh^;o`r7vR2~=KmLfKLR@k`99#6o*vIHd4I6gt+D((<|jV__!-R4vwIxv zi(y_K2yDs`j^_7Tj86~YksZ!r&m+jd|14&Q7XtkSh{xZ6dgeBu7qGnj$AI64;TQLO zuJniR1AhnZStWV$hi;4IJP&=#*TGjG2Kd*peEze5pL;=U&&LD(6A&Kdy<0Fp83X;% zI;Q_^pcerrpzccYj|2Ea|1@1E{|?}{dTIavL%o2cM)-Zj`xE!{sIP+MtJi6%xZo%rMN4(-HdhPM+j($~0_YDSsKMZ^B=_Z6n{%{WC z|4N`g5BINo@=prX&^j`(+dz6 z$vui20sj)#rwstVdzkjmR|EfhvAppypns#5_S%WY6Md4u9`wps&b#?^ z-n#+tLNSfk5gys!!Q`=l{^&!opFA1zOaS!vVEcmC0R5d`Ow0daz@3XRpJd(qOTgbe zOUv_pzXwJTI+mZu{4I;{NdEJ;$NYWZ|I0vs4@NHo{x$6PNuCe* zIc(f_0X!k3DOR`N3w%yt@;v%AF`qNfkL7P55(gpzjyIp zfM0w~jQ=-~^I_*>eSg|W`z;0d1&}{kr|N*82mGfJeG$ITdsrTO8qhx-)p6kK{ak zbT3x_Uytx8e&6?$G<^YZ13M3T>YmT_N1w#<{I3HZVECJX5Az5tjsX8#%pblD_|4e* z_=7!ur5&z&LoEN7mTCE)i127$?!e|{4D>fc93}mSvw$DLJ@%y5vi5vVADzMKv1bDR zd$4`z8-dS7=x-$FhQAN^Q?PqhUjROLVf)bk1Ni%~eD(8hjP<$=TaW61U&Pi^8}MUn zy?YtLqj^7jKK8?;pYTDzIjsKq1mF+E_M!IxegVsG-v^w3Y0UqB!qnaWP4T$ro*Cl? z;15sm-;eRzA)ox*9=~$lpN#Nme(%NXAOn6Ho-aq@99;f5_Wq_akNIWhLUw94R zHny&P1o$6e>)<_m`ed||*Z)HJDHM13e*7VCj^)RHCxqDJh#rg6Uk3V%n4hQ!kLJ;V zdqK~Kp-sRG|DMi=F97^J=$lyMcL2Zf3&$tIqrd(T@b`Tu&F4!9kL<5w`Rd;Rzl6ob z&)pu=6ViRUE|>Sn;t!8zSS;DZ+f{+MT`<$NdL=dX$T22TX~ z_aQuzzmBahe*^d#EMD&SmYDtsTW24G@JN0FI~OYh{)%^{^-_S(U09xc0nnGkw7zc# z{BggS&TpRs+<|-V$$9A40RPha)8qc%Jr2qryj=g*Sg+HVzE44Tq}LrrEYHtCJn{*S z^%+#a&tuQe+JG1SDLpUe0KfB9Y5YA1kJhP6nE!twqQ5^nC17H`9t1jk9rzqWzvXto z|7p($Q^H+Nu z?W5uMA`(0Q9pHDsIcXO}_!q!$_G5b{eWCvV+<9$`Cw92@9g%&m{PzfiNA|(<_Adi| z8=jx9!sqFG96dh;_dk;;cmeRipT~a}&|i3KEax{sv_Aoy`}}cA*slVgo3VL$z&qo4 zzw>!%e||i|BfYN0^0@%`T^RmrfZvAY`8Vxx6u;1aejrHoM?ilMmS?_+@O_?vIw1u5 ze+K#+u=@PrzaPtq-`}7C$JdvqB0S=M3g-7T@V^P@39L?d4dAz6cKg$W57c$<06u>K z_<5*TlRn-zfX_v&etXazu{`I1KG~oC7~toh9nbFr?iUa6NQ6i8asjhj7x2^AKGfgy z0pSi_UI6^>f_g8Rmp1}_Bi7&kIPgD%#p6E$eh%~Vhy6h$C;DAStWG|I@V)(Ezj*`5 z^rSsKx=)4Wu@TUphkW?ofnEaovzQ+~59m9$93NVyJI=ujL}yCzjK$)0~X*Pn8kV}Mtu?B=b^8jtW&oFUcl`CK7>bpdpl<5 zukG>EN1w#j_iq88>#^ShdB}TW`R|YIM@}O=;(s3F|4TqW|6tl5WWb++>Gf>D3GlbX z8ZQC-0^HkA){9pnJQ|nA_8lJu`Ws)GWb)W@_w4b+iYKrC1$@q7`-q=^Z=~;)|L8rA z`g>SE|3-xG<-z9t>40Ct;_LN*A7Os}Dd2wr%MV`z`cs&`5BS4)+)rY8=?Msr;^J|b zKQsY<%r0#o6ZqVL@e$m3-=sr6Ni6bmpud30a{>5Y_(trv&xJ4i1>j%$rDUfQfADX> z=gZi*XWn<;_RsF|>yFN1bwvr`k^PS_JL`a-!Pb`m`252+((=3l@VmCL{K=|3M zcmCI&KA}2!z5fSdz21ZEvwj}%!rP8dh|ym~z}wjGKFt9?|C_NqNq*h}e#fuJ_|F2j z-vIpYvHbR?J)RnJ|K<;Y{xjJA@hgB|f_+wUp7jq`;q&i6|EA_~YLFlPqu36Y@aGiv zc#3rY<_QRo=KcQI`qc+McRw%9-v#`_-^F$~cfXkDvj9JOZhC&t15RT1UOo!=e_(yH zZvyUM{p#-^Jd*PgR(Ji_AIJD@SiC zl4-qOiSWoj9c;aO+a5>vG_doRF9M(QaKC5)Q*jaSPhox32YxV?|I=8%{n3Db0DB&) z0l4$_SpF{n{}JF9FUELsZ+VIENd99?{s8EY!T$%q=ec`&w133*1#buZW-M=ianA?7 zeDHD)@V^Mp**y+E`xoHjV0GY6{0Yn>R>$T5Kl|NSucrc^;vPR35dIup1-F6Edocfe z3Bn(CC7Ywy?Qzt9#_E$#1AgW`aepBB>OTYj>#^Tq_=yk2dfob~X}_Wn9{Kt0m_2_L z@JpDVKL_|c_V#oi>5YJAUUZy@vVZ+3;HRJ-NcwD_2L1$=|1a(7Q!Msxe(1xo{5;%O zOlMMZ$W-L#Bc#oexI*YBRpWE}fQqGGBAIu-F`A97P zB`i*#0C*kq+dklTVfsE3@b_c*?SSi;zJCq)wU|8rwZ~5%1y~;Y@sGy-c?*{38H7jn zKgQ&o0e%VdhhGOi7ycpkhooQkGQf{u9eh8S@Kt;KN_+kR@IQ;~H@|)r`hN!gXPy&} zYXi&seJqk6J3jT2yh2#@^m2FwrNity+;P5fN!4}ks*M*k7ue+lx~i$R1h0DkV(v46e`@UQIgE9Ly| zoT@5Jh^E#TLD^*ANet$;rp zt6M$*IE~f+UjqE@Hzu8mnB9K@egV!4l0NE>-xO^k^EQw`}{NS8!sR}k-m4pdF~IvSJ^#&C7&VCe;@nZ zm7A_Y|J!|@-)^mjcVrg`KZzmh(O@F=goAIp=)tI!Xxf@^#Hx}#S;CY?`S1o#=) zelC3b!)(BFZ@#Rb$?OvXAC=s7@t9`on70so)Jo@@9l&<7a(zwGG`ImdrL z@H4TTN3f13ay|^<(LCOQ&Ero2{Y9vAl5>;#i|$+g#{vDF*#GyZ1NiZ8#dg*}Gy&n! zJPMfqKXXrirTo7Qd>;FXbX>d(_}qr&`7Z4n4Q0#;FwnuEX znXC&xituQDd8`h}0ZwE7JOw@vZ>RM#0q5Tt$Hfak;im(B4b~5T%^pvza`Jiy!uRrE zdFJacisZlY-@^RVA}`@z$W_WB-uFP5isD*o=hK!4Va@#MMA2Yo&s_cYdz{qG2m z>~<-L>31Lk19MAgRG)o+Ka5Rev_L zebJo7(2N)7>UzeSrY(!Usyr!rHAT}9*Z;q?vtsD0>%(uLubKnNTRus)P35S+v3z5t zqESs_W%x&`yAe&^Hp6x+^(D`jka!jnSW!Ln*V2o( zR-b4Z)^cV`3sv^lk$j>r&i2B_^rk4qm})5}NNZ+Fs%hUeGZ!7QR9(m{+3hZcRcC`zR@=(Ku3u`jSH8FE(VeWah(3?MuTVs-;VqU8p<}T_u2=GVMsIWS z{nDnz+ul$h{G!H-+@f5yCzNsWec9?)m#k$q`xI4gmI7g0a)#c?_lL?b(2n9N?x5LmXHRqMF(ktvg2mSe} zJIZeiLNp8QW{;_D>19zn8Nc4{Q9G~gk6JX#w<_k^EiMMjlkqt(oDSw*G22$8QK=OO ztyNJ`Prkox&0AesLp=Nj$9dcNxVEtOpU2~GJU*kBguF6tdqaL4as|mG_V$VG-;*1T zo!M47zr3?2a=y#TQ+6+3{Cz#-{pz4C^u!81RjTDc>`JPBGQPgf)$)|Y%=5cyzply* zV`dfyi@Z%QyOyuSuBlcciSBS+zS?w>g>>R);j1S)(AD zYN2A}`rFW-lt^u<6}qXh$XP9PnLrejX|v^| z8(QYjl_pl7tZ2DhK1sulz>b74H=R#9WOXgo+pD&B-=yB8GAfRZUT8DLx)X?{ z4U;$Sn^af@{YG7%EF4y?3#)Cl(iC@*pIj-cQIkwVkXI5zxzlo6H`?KC0Dc8Q^H}cs`}wNV`t~>_IlY2?~{}aGPQyda6z8)2BBLi zmc}6?-Y2Oks#?#gYAa_b2!6SzmaK^srLQXmPd^` zptwEsduq1eT#9A-Ykg3b=s{B(IOIT35EnIYM3k<}Ld(@$wM$oZ(qVi`TngILZ^iqN#G`ur_Ux&HR!v1g5Qu zJt4B!iKv2+9eR~UwMFz~s@z%>!z?$EQ=;Z(O>e0RtiEF!%jLXXR-5C(RE+P47gioQzXkkg`1Lj28Z`Z_e&?RDAJ|u znA%mG{*DT1T^-~yawQ6>6HzObK$NFBW}B;P9V1KRx>VqGfu^Q4|ayMYhK2MQc>ARpky@2#UK!g;t`^Pox-@ z*KWhj@u&!4g|(xttk$*|IWw@>(0SRKtWiZap?8$w%mt5JMN*!yU7^ka?mv+)o`0Lt4vjwlh=~6Im~#%*)rt z+x=2=GK^z;(`L=fFIuZgmmm7VRuH?9w_hHHoORevArn>>yQzFd6=uA>Zh6*R_WG=EHqF&&WXRit zJi=F|Ms`eVK2smkOV4IYjh&lz6hf+WjeNc*8Fgj7Dsn|)G2UAiMD@c=e&=Z>MOoHr z$5ht}%EVDhJaGcfG*?8|Vq5)*S>lj$1&lU2(6$}+xedEx=%&XFnsq5$i=9n6?!vIi z)|O<49-C6IvWCmHK&WoYs?^LBibF;7HMvw8Fomv{VO%YH5S$uU;cUU&jzURXdY&S) z{l+LgPL9bHMV~KI!enLVYyAP?76(yQ1Z}fSb3G?U7TuXN6@@F1q|Z0g+UDC?F)-ZK z!qI)XSI8BMR%3b)-x=PPoAiih%BxME?DW?yN8P1eRj$&6;Z8~irLTr< zS>W2ud_Lo@hc&~loQzZ6uA0uYRauB(m-Ae=v0$^~bSmoi#fGJu>}oj?DwVol$z=LQ zR4{<38Q;(8_S{&CEx*l*nkE(oWK?^ch?PBWE4#VD>?rM{@Xin4KQS0_Z*|U26`h;(;bXxQ>VJXT~C$XKI ziOW@Xv@Yb(9-=&=>h+F6Hw7t0l%4UVN!VCz^+ikfa>GS?T+zr(stTYoGisTyl}3fh zlB+tkN_VHU0=2(LaUy57Xm7F`d1r4sSuvvvq$7^PRDDblGjCat?9!6&ZUf#LTGg=9 zDyr-ur#v$&`KzH^n)q!??FGY0ro{Kr-XKLp&!|maU9`yMlx>cNeP<}n$(p=P5fx@c ziRD$V&6&j5G0JSCQYfvZDAiuJQ=XdD#!IEhZ?+3vn)U^;;)kW&IL!%pXrJ^2Wn0`f zsEQ%iiUltWvT35+tiL2VqvW*f4!NYQbtTuI^I~dR^4S^XO*>UzTvV(2aO~7Yk(@Ug zsSJ|O%+{W7^sSOsT5B><5s78H(Q2wG!O2-qnNAB{LE$!rv>ld+Mc+^+R*Hz2%_+O0 z){RxGYZXUKXp)|%+No_+j+w3OY<0__b(dtiEXu{h;V6?$?W1z^EZeT+S&yl$LNcVQ z)xIr{d#%()Dp#0=vehDUn_6SCrh|RvUU$ZBK|=su;`VW~0g=n;)~geq}xHYyFU$4(1iNmvMp=rz|tG{FT8kxvkm@w`GPCmL0Juq>1R6 z-p#DTa;WC=Wm2yQ)hTUk>-wSKS+obH>QoovA} zWP3bZ(bIRP^@yiO8)wAR%+a~CSmnJIA>h+$ctXQ);DVAw_yE2Vz zr_YZrV(d5ErFwhgExuI`T@X zMhD5vh#fJ{_Lo_1Ij>4$!P|BjrJv z*mV>+FS)5`VP=z|SsM=3W?8I^^lHf*6^g+!#fYA*OleygmGc%O^mCc6R2mF-qmgPrn_@#5rnBkK%vRC2VK;-^gVeq=`;)@dRgYB^ zjg<$3&?mQA%8t3&&L8*sll&xKl9p`C%GH@-xtoezwB>FNH%n^jW;mxeUKfpyH)^M+ zKQjxqz8VyzI_cKS_53pD`$7dhS$YskXu(`kdQaPk#I`Y??8-!KTvKi5q(;o^k zt=bvRCrq32giWWF-c=Q)EhkP%LePWJRGq66uHY>WinnUru6HD)j8z_nq8WPG4Uejz zRGBH(>VlJ7*tD`KqjIrtduBOeA={QeYxSuiH4#eupq}4IJ!a4!jtd7nzZSDtm-GFw zxw8yqSe$U`&grG=Sf<_RE0X7ggY8(8YxPl`FdFhvO|?|-ihh)~+mvi0>s1^|Tv_e1 z*XPx4RKh3yD7%-fFou%lBs!Sxv{q@%uF?q~1x#CY{d#`4o>+>|;))A{Fxi84lx?Gi zXtN;~{EWC!H}ZI17*Oe+NPk2$TGnQ|6sY_hRoA|1l)ZyiLaFSzPG#O?wYlXQ?Ve+z zeR_IstO{M(O1i<%07WfblFX1DApaI?3?nt!xzIYO@w0gcm8LDV z=w|t8Xce?$9z8OEybb@YKV0w~l zON_BB2#ZB}`?jlw%yg@kmjiC2wi~8YY*cawyKcrUF6TkEW!IcujwG4Yc0#b}orbH? zJY{F}%(gRWyW8QEuI!4b5Jq8DaD!>SpKXXa6w{c~z&ruhg&5ucAq-qYS=$XhnPIhl% z*(KISX+Cz=rNM5Sb4Kejb6_vm3C-GOsTNg6ZAzOdo3rbF6#OSFR`Vg9p)IA6)ogRe z_RAU6D?DJ)&E$qQAJj>YmV~Z54QhjqpEfzgv>mclU$-|cp;cHG-&M;sli92|e!8qgqr?ql*&Gs$`m~FhGE-S=dQ4a; z?0arWz_vzwui2UeOLkG*wl#&d=MoY5r)48u*QfzZ-yxgpGA8loIRNdt2OG&B-!`4vU4HiCEkc$!#g;6YH zZD|gKhDBAvjTy+qs5fp+)TnQe$jA()i^`;-t=3g^&Q~|xbv2)f`bx`Obw+FhPo@0H zh88kYGDG>sxLi9(fu5b;sf>r(4U?v4xtZFOT<%XCPG*u@p)=JQQyXo!laN@{8l_c7 z+D80IqB_e}8^JCc7MlYz>+Q_I(3C>UxlbtC8O~{U0wT2=N6m{L?n@+)sK8$PG_rRj7|^mx4)c~LCFSSYP^MG{BFb;d7So!zdL%|%X> zh_Iy^eob~se_4{eb)iP6T!B8Bp1vY3Gqz(ECRu{tuoFwOnCfK@LnhEWQo~_cZ($e9 z8BebmTec`gfe?>h9x4RWnv8m~Y_tuvrFwm?d^kQKZQ4Sc4y}35pf;4m7OLVlNh})p zms+*QHHWIo%l4FAs5#l~?$hLc8EpFHLMXJuD(M!>cG#FyOL8|F0*u&VmkVl2D_$#b z7gV+BXZVtlUIvXdA##L67;S=O%U#CZZHw7tDFz|*hOW^LXL`jP$z@UP(4dKRe9(5& zKs8bOc{Y)^wN16rETS!8KMZp1QElFg4}uaBL1m{ZC3qckv33RyU!WKAzCXQJMH6#u zYa@hGTi%kWJDlh0xlMFX4XTv&?I_rBs7%szC*1j&u4{?W04MG|%z0#goskO8Vlgr% zWM^zmgUDqpHIacT6rGh_o7ZVG%hY>aAslSvXiiT^=!scr5JI_Lujc8FTWR(yD=p4V zhCjH;@MS$xSW~JtVdiU8C13<|F1CB6b}MNug5A~*Z}C}W?VzTijGM2WI9P_H zmagKAs)n}QR{5~rFL{;AA0r1ds^v_RtgcGFwW8^kR9eyUI7-H`gJnBjt(%()3$kXr z!(84d66jDY`51lQ^~0_`&9eh%jE+vG8*9>vj@(duXEN1Ufi`#RZM$Tu;(V9Umd;Qn z`1qVLF;~vBP#Z852TeEV*2Rgu>^PYyL7bSYSS(5vbeWsq6uFHF7N&1U%dVcHET zdOO#JIoYdpdt;jK>Us~E?XXBjjTdV*(RP)tI#i0nj;{I(t0W(!-<;l1q)Bt9wkl)E zZVd9SA)>wCp=Oj-pO{j2(#jbPbcmCm8kM<~-qhu0jY)mZx=zieCY;kXn?t*4?oWdu zE~dTQqB<71T|el%nGx?(VLlVN>xl(dnzioqq`X&av0|`bhYCNK9;~*(cCAuPwLKX! zoI)4Fv15(f(G;Gr5X8)&-K=(c^-g{uZMXc^UZ5V!<>*|D$HnTjFboKCRVvnYv_9=n zQ8qteA(0MY6V|k+Y}gvQ4CFepurE$P5hEN5HadC==q|C+&89fF#?^GfAGkWZ7Fe~* zb&7(-*E@~8(K#rgoIbl_eV65X_GDdLFE?JfYNku5y0qwW+m(lwgqB6MX`_)Xp?2?O zMZ%)fGCFfnHx^`Z=qsg6pth4mKRyy(^og2U4M*c#(C@L63MY1&hYj#@&uwqlhRsm( zrK#4;TFqNxM=WbqY;8zRw)|pGb(`g!B92`%-2kswhtsx?HYv4{+(s1&rKox#wY@~! zYmfHqO0{P$ypq&xl*8ph(YxuCH!p3s>+yQL)yml>m)SB)XGcaPYH*m(db=L#prWZQ zmsDd_uI0wmkWFSVsdj25+flgkibSpCb;YK)&ZdrzeyUFr9fu@lY{(bT4V4VlQ1xlv z4!3;?^%BugalR@s!^T`5p{mmwE_#lV(WaH!;U-Ga^SaQ|eMc+S3 zH=UXvR+h5O%fn`FC9njyTp)J`3F4!JB0VsaX5Sy`n_z7C^M%{lDpA(b(V@Q?x#Y&P zX60T-&=xl8Di=(b%W|8n&exJdJ4oPdy`n8UB%5hYIExl?ttM0B_C@056{S-xp_9E4 z+vKN{L6-M(N5-Lf`MfW&6s=RD>5j9U*rjXLX|jAJ<`tbxVbEqIl)zX+wME0} zQj{1g$IJ$`f~f~C)vL2kSP6#{b~?N)7<+Kxs- z)-+|m!%P{MnJC0^h?XO{K^6P5RbO|yjbs}E#vNpMK9`kxJE=}9^OBY^=caX1J`p3d z$DZzbb7AaMIkeN*HENYe+@ySKT2;P2B&zjwuF2A?Zo6w()rer3LDj2MY)WCJ;gBVY z?vVXaexf=-baC!P+bkb2l~GBR%O%5Z^v26&r<6~(oielLu(|XYS1d~|x~-7a%|>0T zq)z5gZwmEUs&2WxS+q2@Q5)@=c5&fGvzv~wNyyg8R?W~In{?a6rX!O(R4^VcEW~U> zGZUteHA}n2!d*)vA9ckB2T888p4Mv~)liJ769|*#P!%hBQZ>dIiYlSoc-1m$-7?O4 z!u6L^XInpDu^6>hlWcC`uG*7KeW-;Fx#$#;xF^}#n6p8CI9Vx!d^0apD_h$py9XVd zi4~|qYa3QJ`i35NRvBeHC!!cTVL{|-oXJg`Ql~C5lql}xd1LRdCo@oS`%Y&RR$V=6 z>~%{4Q|sW-8y`|pF_8eK?x29m3Dl#p(R}=zu zny>SPU|lSVo|0Z;h>=<`7OKg#%6>Da)}>OlR*fxe=ya-~{XFJ}p(u$v$3j@A{_m3F#9CPQkK)|gaED|9y?WqvMC?WF#4>9FGk z!}WAl4|4qFd@y6?xf<;JGX3-I*kid} zA=e={jZEJnhtdRH&OC?*YG${~JGwh8D#O~EoKF<8njN7Ft_L*vnX=y11G}~?k9j5| zl$9#$(Y0u(boh0d@|LPoCf}~2vcb@@Z5!QgIAoQZEhe1>N;#Y|%@dtUliqksD}N9= z6I!#j`FVY+Zx-&dwj^psVH16R;`bxM)|#22Rdy9rCOa#r^Nwc(i;*y14H_9{ zTrOMbyQi7ij`BsSm6hn_I#VUfozZ5{+21!zPoLpgtxcuZc0F}f>FDS}2JNoWrzx}k zYEqd7;;^M{iEJfMTn^o)1KUQ6KDuSNcZw3Svn0yPSRVs-jmb0=r^qpvHFmn)(qg?k*7dY+=vi^=ZSv!w74(}sHz-k(w24+{a4(8k zCdJ6j zD@ZN1Je~%jw-kw~RFj6$A`dLIjVCs>9`d}r)TspQvRTbaQB&c>oJ^b9QMO@l;hfB6 zU3){C`NJDAMyckA)Ve4LMZX?q)5-x*EXav1%mu%)u2-hw!0whar4XILUzS3z zqP}6iwiUTxzz;ch+|q}&v=mc$vMF`uoL?<(mpgakR9gMR=CGaf)@`2?$8@n&L^H$X z#&R>Nj8CK(bkRjbnwys@yEV_6!pNY?Otd0{EgD>BO3ue*ez#~bMXOsam^?aXJY=CS z-Fn9hnW7!qTXcJT!WKO5U{V=WGf(P7hSM_3{9;#VbheFkI&%%{7SS3wi*a{JH+-6z zQiO&M1>;eYI=4MB#8r(Qx!aD?t#(V3p;C3CG7~kF6%$>eD7egg?6*o=Dzw$GJTRvt zY2WOLlb6P=z1m8ss*VLF8$Zub?|j+fCYB^TMi2O(eI%sC1p~^DRg21PKWg zx#$XPsbzM$m3gZ%bj3}3mtE}ppwYx7_CQApIM{am!orplHcRuCm)mG+YHOgEkrA@YKnk-XisUeX?I~$?Q7$bD3i%62=1*N{WP+xUKgql3m zg{`Ev0y}9Cf%oVc&C)5R5mrc9HLMBSEsZbV3{I3SQnh7i-WjkfPo&139_^w|{Xyr{ z4>DP2S{p0N;!c-We4DOPh4g~ZP^+bRxh1lz&SaaGc&5v#5^BI0X z6EYd*$W^Oj#k*5^w1w+F6!cPFC5~2zw|EGh{*X z+ZAM#eK5ogZ&z+)y+&K@7A3Ve(sDjJz1Gf!HwsO;Uk*(usSP0JfL zm)C}kV%2ar(cMH(-LkTb?mg&DUNul%zmS@lj@zx2ni-#to}@So=}f^xNBMMXiq^lp zH)<@iM0K=`j3vuidPYwh9IN?&Lo)+Z!o zrInd>rXqpTlW-1iH8yO*=6U9*q63naZ{#=+%}k;O8iJ7IHGBWPQ- z2~#Q)q7};NXb{PQz>FMxDxeWvVsEt?nmY9M>G0(B7b>qEc^G zitA0jHA0<-Z3(eB@IZ4o)zs;ttCp*zU-!DbYCA_n8R|q5w^j+p=y|@0qZ4LPTWgJm zxqs^Ggk-D*W@(;vwcF%Uf;C*f>ZPZ8~lp|mtKv&TD zT8G#)oP|+FSAS`D*Vvmj$s$stQY-rtHK4ifHqR-}oa*iG7K2TSm0@E#pGy`hw)C>r zFZEmPUbXd?KDxRyT)Y3!zkV&i^f_|hPJ3^^1RlbXU+Pq8;nh6yPw)bPnV(U0~IwY zP&AIZeo-lrN;6tlE@w;BxvJ%fp{Z~Ba@`B%0X^xh4ocS2*4K=HXbdOArmEK(z?bA9Wn1y`_^bAtljHN|I zd6M~9wZY`ts>*K~)k3bSD;t3*MG`DCRCQM5vWqTN&FA|DT0tlCQKsxD(Igyrez%#` zcZdbL6vAaUg|J+u>e(cK5*?~RMQ41mzO2||p`+4%dtO?^y{`R3RZh`uEy_~4w_Kx( zO8MrvMKrkd=7IDmfpG_QyR`BZ*s6Id(PD8qpJ63PwQ6D2phT5Jm5IwVDxt;nNtdZe|29*G%EL&glYVt*Af4B=x*P$9Of zIT2KM4P~?4wT45q^6!fy@ISGP9z@Ig==q;)Z&Z^z`Ek2?Sk%^d6uh23F1M|9qqfLf zRc39amC3uc++0<547n*SnBCHoGe$NFWe8Sg*y=R<-7!y^QpWGQg>GBlL}on+);Se& z!=^sZH@CxVfV%sNzTguQC`&9JotIBSkDGMRlfw&7Y3Rjnl+I&KHif2^>FWJPxM6LX z8kgq!sDC-o(2C)b-MrFjJAQY}G!~m&Q)`=iI@fO)Qfp=>_S&#An^7%O)N6C?a-xQc zWGuPk#fbHGgNBkB3DTs+<=av20d+Ups;G@Jvf7g^lFU*?yUe2-)Q9R;7{;cJ-f+i- zF3b60YrKl7G_%1&}8 ztGq|&*Ck^-B2Mm*AY&?dRn0H@+g4qj4|ZC+JTzKP{9tEtjLUW=dA2#Mw~#|^CDE)7 zE4}^mOPAB@NZ1m6&07>u&F*G5)3)t(hnM^HVD2V*)S1kYN|@btm(!r%a_XH`Qb;Dc z@>|^^3$6aNneA^3(JQanfQ=@9znVBbotSvl)o{Kj6c)VJmBfL1;Gk%a+?#Vlms=DW z!bTU_jI0x;cbLJn6SB1tdY;;x2UEuH3{W8*u{el(W-#cO8@jJ;gFtkKJ4DCsu##kB zXJzE#JJM<~Dx2GEgUR8c=wu?IE3cKYwjJ8F#jrM0B%1Dkn)2un(AsHvhL22f5^Ypa^a>V*D&g*i-VM?Dtf_UPn2z1AX)BqE z5L$F5FE?y!uxkwSsV-emZxxWl`k|uSp*lL7! zFkshNC(D|X&2HgeW&=LtHq7mmVw&h-22K?w+3uogmkwGC89U=DTcSJ}xfy%Avpd7Q z*hrYf>$uV78!nAfe}HywldUan8Mbw@dn=bG6Lw8$>lGO~RM=viAiKYNx;H5bnDv&g zEA3{%)-u}#=X32%f!yEcJ5fcpM{=>`%{${^r?DGurs#RSdNi|_E3+#I$o@p( zGZ~{dnh^UZ%Pxl$Rmd4kPnhRX_Z>BY!`^bv$}Hjm$*DCd?U)=o%xA~+T2z|~)klxJ zro6*kp}rKc-elW5vu=cPn^)U5mWw$ytFf6)=+w*IY^B=wTr--_;l6WoLhOcv%}STUXdlrKeEBz&9E!{;*i|GT2T`N}~i>9(F*C~e1EzrqRuy2>dzTQW>%3<9f z<+JsoN*eqoYpUJO zn)m2ZQ}ObO4m?Zd*~@?vqfmVV+ZgP@$ISKzq3DRN51?E|(7~rMWp>*Y!@2 zb}y?v7cbRO(DAjpI~jf63^w&E~td zw`wx0RltRg)%R+QqgOGTZF18LQini~mMp7b51p8j4LXV2WNp|~n8p^>@k8`@V$s|h zJCaw%2L^HJfGB5IJvS?vLD<%*mZ49Q#WW6n^h|!4bq!0gH1yy>Md>yPZGSv>qR@Ok z={JRDL&?&+Y6bn&#DE-6FN+d)8TztQ&Q2Hha6?oYjLU3xvS zNg`NogdK-YhEMETBeNqSJMH^zZZi=2>Y$D8phs!!M2xCYZ?#CHzjb#*OIQ8&I*|NS zk(=xH7^XBS&wX~7Euh^-0o_Zv9NyqW;k0g+h0R={rpuAK($pQr?vFNON%aEi#?U>R z>`xa{qEzp2Q*#(8n|Oddpxn+{-^sOFoj}!^%KFo0+#Nc+pTPCArqb+YgRnH&g}ZWo zgPyL$WpR78I;DpULO5C15;dJ>A9E|W3Y_|64{9X7=Q&)>1Nsr^=U>x!n4oyq@RK91) zJx5V1cDF(rVx4+c!_4VN!1ufDhr3i#@yudnI%`gxw$wTC_I>^7UWoFV8n8~;xmnbL zvY|b=8iubF6F`IFt9)*rQ1alZ6nE}u zi`6@t2tHrp#Q}8gCCuGQF3&MVE&G|m^$S8{fK~V;S;iQFYV4-)UGl{4P5Jz}68%e0 zn5*WPh-|{>yFLXF-%GUnrElA>hRdA$^OZ6=Szm*tFc2SDpFS50Z=j2Q^nA-lHy*dF zWU!Q@yz}Gzbmoz0&ok-D0LST1z_(OXk9`ooD_)xqAG>B$!DmCu3x07vYX_+Q^G%rt zAPd~nH4&I1nAz7YiXZQdc-)&WLx+|HKv8JayldmD0}6+qlj+O(0S4oRH$<0TU6#@L zB*uySxWkuM$Uw|>IH#Hi!3r|s6P71KpIZOj!qmNKDn4yp-eAu%z=fg`EODQ2@}Cc< z|KgJ5D-yXYMh@{Ng!jJ}Oct~3C{Bt|enE+g{DfM$J#Ox zwN!>XcpbinFxtQ|RSZEoJO<5B+l&6p@%?oD+%Bwh3h1g+xYsBLRSNX_%*)4qccM@)Pl}DPQkIg)|wq!(> z5jgDk2);rDecLFSUkWKF6YSxN6X&`AfiE#vWSUy2;9HI!P&VW~i>BVAtGB0r+@U+T zN&8V{q?610wm=g9foh?~Rm?3{yJ=2-;^J<_*8Jc{`<#pEoA>A4r>YG?+^wqJ4?>$Rq!GT)R~aS(~<^)pV^|sb}f%9*Kt!`@RE8 ztHEYl&pG9oc|7%0RBijDTkvj%8umdUMz;dNFPDCCgd?-`YZiT2b=8AxJN_i7lt_Fqr0WEH{(x?daEg&tyD1 zy>J_AX%25_xe2An;Ny3^{f-QwDtwxpYoK64$4>W=%S&^A{QDK8=I@cHi>(8Ew`u4B`7-&6E;C1OK6{RF!2fXuAquAlXIChON6Sv*GGeQZB=zZV1l zCoMsJ@?2LG8z@1^wB>g9<6J!!W7felly#Z)Cn4`hrmP(%{Sz1pY8v9eNU@1Zb0&=? zF>v*$VZC3and(Sa_z;*eB#MT7{Mmp&>d&jl&_)JS22~~kag~yrKzp*3zdJ;CvPX88 z@5Gb4mI0V;9`M`G$8fZJ2od4eT=8F?PCmne!?{q{r{dQ$<#K4&>r5$YOCe~W__5S~ zQq9jRwmxXw`Ji4(6}9a9{7cGx|Aw`7w+JXTi4U zQMv8HB2KPI}cq%l(?5xRDjD?KyAwEYK6z_`$vf<996np?N{?3~<+{z_GUZ_(2>KG)kV z@)w|V+~7@CmAyTbKTP3|1i({w4GvilU#BUEoIW95%qM|MlF!w?t5s9OWb` z;jSvib@Pn&I&lV#?5JOA%4qk^eOOY;rlARM@^&}yHG+%HO(g}GvJ@j-J%XzfnjM^9 z-;3d1v34v2{m_~fjAQ4D^Yh4;9`?x@IH^eh3E=%#%zRG&bWwF)@O8@wFKTfU2N z`syF7LBD>Fn>C<@Np!>x2uNG`l64-BPN0uT9n&DYPD=AQL9eVo5Z4FsJpYYm9Go`0 z2$><-WlacTYkWKmyLG%LbgMwRZ#l9m&n#v4+ai~Q+cp3n^wn1#9;)B$cgUgo_nOS(lJ z4<#YgD6}yQPvnbI``>i|@&@S20CEW8(n7~>ZPTMdSl)qTI@To>lGj6d()1R;q}j~_ z$I*!+NA$fei+zp}*J`a`g9OvE|J?hR?Tz6%s1kJs4pUw zgWa@#H$sVW*Nmx$#N=YRl{=Zw&r}cv3ZY*4>dirX6hU}H3@h7H z)W3%DsEa{938~b1Ta1lO9}3lPQ27tIfxif zRL}%#*A6=-=^b;ib0cqOFZedR?Y%Nfp=&3Wf(`@I*_}9Wt!#=?b=;Wa zJhbZA1TZQw%x@B9dY*Bh)TKJ;FXp|PO{Vqn=R`FE>?~SIS`33&@U97DLZ@VpK8`K= z<-||(6OADlThr`Z27HFYZKD5s8HE7P(_O7Z`13jndRt!H+kt|9&n31RO*DJkHQmmp zev6=YtcGjkr&(=%TeSoUH*+U`*5lAmOcK)HBY8WEsP!+5IzhgFy~^^v%qj%s>$7atU8(SIcb2$lvnb(V1 z+QI%Vzq_E34Tq9}irHRtJ>b^SYs@2HdcRC_>zU4$YLCgB*WyD~rW4zJm;C;OW-(Y~ zx8=(`M{+{hkD>=QlJA#!uS=Cwy;L^S%;x5tX#yOw#j^L_e;=;IKS_s5H@6gsE+ri{ z&5=_}_U^upb&-*hd$KD~Y%Q6eE;LD3(&oK9s?{UfSJK`j{6AcXazusf30q}^jI0)VSJd>G{_Mwp5NX{M=l7SRC%;Y{2?TnH)NW0mFNJxShA4LHM`S3tsb5YHAElee zS&LlMKu_ntYgVq7B7|B-#4<7y{7j}AkM3Lg$B9qCIr=Qcs+wFlU`^mcY=|Q}^qz{M zBX7m%zm(ePle;)G&>!@l(rpVA*v_Tpwgu=heaAq&fTnim_vN`*2iQvDWQovHU#{9~ zPJ_w)%r~}damF9Fz@{{-dTvWuT627?*H2ys$OsnJ7hfK<#4o24(49umr}?{JNL`G; zutaxij*E&F)zxGKe{JtcXW3R}4Bnx@_{#Vi-c8s2Uw)<{zV%y*eTQ$5YMhsI@tDJIMhMN$Cr2QU^-^YbvOxbA6I}g?05p z%JQne^rrqSK%k1xqGEYZU!&RfbiYhG&_==_kKO*>ASoe5uPi`XGz}F#pG5^HpkTi{ z@zX!-$!u9WU#^X~Q+Z+nOQh{@CSF7=Xi9#?PnK=NmvS2CdcuEvJlq9VdM#Yyk}~|< z#0_j?dG;d)&8rs$LHOtWv&-p_WThW zJTJi=AZ|4P9II0bP$pDs{$o~5^nBUGG_WreaN&&V^V2l{_f}GdKHoLh39yU7iJgT8 zWfd^4UuS_pyS+J+;S12VsAVux1T2{DaljwWqHwYCC93Mfok#NgglsME98B~-W`X&J zz(U)wn0OErS`uTqByi0AI14S+&2q`0nW_wL+{I0|kbM0OUP;*i;xaXn#hK==cX>Ot zK&Sq_tY4EVuUj2zR~N`#ulC$60sjpBzmtmF$`hwWTw)|u1Ls(T^XUNUzxOJI<0wUB z0AKI)6OaR-d@CE@2k_T%f|p4V^8L%IyPKfT*YTkc?#H?yV>DTCp|LwB#@36sbY*fB zNq?Pq3HN059u>DD@w4@G!cl0}{dt*h8x7mChcsx-M+)EutV<>1>mF!)J8{VN%|UTi zs8g}>*I?~mD86k+^ZBtZ+;uA0NRDKhpI$(-{$lyd^v8(<JL8ow$}W=kDdFya{cM8cIBCd_0O2cK zI|M#3T>g&IL_iMWj7zz0BVO5z;X{Nw9DM$}V8{~R0ybnO%C4Izt|fZw5A4m)RII{% z*siEe>NR6hYm5RCO!>I2UKpB?sNp0-U+)D1vfIVWflmGNAwy}117*rjMthvDmlnvM z+JiX?9`dz|PA(a#;Dq(`83XPZA5WPFTysD3jT)zj<*YoZDjc#1kD;cth5qvp_G!jx zkv5)S;*v3`J%5_dHEfU}^qa3T!1b#&`?Bg*L!F^*N6%K5&J8CwuKTndXTq2B(6RGV z=^S>pQODRWi7h^}-@xkYe<1Veu#Z{lJ=`_1|6LBy;RX5$m66h@|aF4vt_MX$3#7wn6MzMxYXU_<*p9(Veoi>hqnfD zG^WMW40no*UO5U$zpJdzPt6~zb2ONA=TbRl6l%T)6h8|vgWQVt%+e(km+|h_(BRSp zf8v_Hgl+`BS!^e3SGAf?iY5CWTcWBikhylPQ!Q#_fcLF$BS)jq?=ZB%xQn)l0&y6$ zmC8@(QH3i%45LJLA|<-%fC=K&IH&tlB^c9vvdNLW{u$*)4sF5^z>a}k24I{D_(D4% z*x%bS^tYBE%sz?%WC}HE^hO>mXTM{x$p@mG_^J>wnoqI|iYtz>M+`^yy+v;)zstwQ zcEq{s&*nuJ!hKi52%#o6VQqwTXa1#xkB&_$Yfg1{pU1<)-p~|)SS@uqUF@-RdqhTO z;o~S66IvoGJJ5Z-Wu%qW!Y8Q7z_))#N3{Y8b#m@8jF~wNiig5!y#LG36imgrBu@A= z5hHHr&$E}|7v#el1hbA*D7hJfke?_w?)!61-~K!#xzMV>J_CN3Q|EFGHGB%_{gU+M zq%X91$uL*Pnwv6|RqFi7BUkU==~W>bUsrp1*I^7AIfsy?0Z?Ig{2of%a?? zWG$fa4GNp(O$PFI3UprF_4-s(!u38|LmM`=I3%m;F*~!O{|wMFKa_fYXSvoYAf!a5 z8A>TH=Mp^dqR2iLYARdm-d8rTaD-IY*@Eey{|P|+Y2a&Pc=iKO#+cqj)2R2+3=$Xd zigm&S{sB*WlJgpTxqOD`*i{Xgf(Gn?Tl4bWQ$yZMb~F4v=(4&IH~geuD0HTX?b5qW zChU&)$1_M8pk0&;5Mv6$bT_=S+7a@8+U~FVJ(s}5U1k;#dN+AIF|U@5FLU*ANT36E zCnamf38e`!LF)iV`=3jXgkhC$B=jqfT;?tQ-u#%>Xf5?Svi-J6GZdq|1! z0$QQpQ=N9)C7L6g-13diPS!)zv*R2p5ex{HjCDg4DbCx=QuVFI0aYx=?ANlxU|eMc z;JcuNBzDSLp?UgA@%+9de7__V7WzurO`GNlFgLM%zYEUn z0%W{7q>J881LMG`x+AW3l&z-R8u`F`1sb}ix@^B81j4A0b< znuvh<_|uJ27W&h z35i9wNCRF&T(pW#+5K#Z;DF$ut_i2C;mQzjE4qi!!)t2mK7!xP6FX=OK;V6PoL5x-yq0l>H(v9ExkN7Hf!Xhd>y(-{Xa z7JzRK$mQogGkMdpJT4la8R5oMF%{3}e~19Q3~rA0UAuEu2)P{@8lr_@pV{9*;dsyV zRGQsKKpI=Tt&CJZ?}d>6GpJ_sXdu(M)n0_J(0cwbI+XZtU8R~0xb~8?>=h*SoaESU z<3rZ#_leIYVBi?jW8Bh;g)7NvmA){%KZf;k(!feMalJ}3Ho<$ z-nbU3T%5lZdFu1eQA>d#d$-5;PgvL;9i7k%o>wcvAo+RnJYe7cw0I{m*coX%z)=_y zY)pE@N#^5N<`J{pxYQAlM?!bSxw3C-{r4vrA@E$dBq(Mn-2nSPps0NM2(;mDR8+5I z$^}PKo}4>jG~rU+;XxsErS`@QuJ51xY9?AW(7=A1P!M>dL%M0XAZGt;EDfy z5hkj1(L_VUc5x5ur=o_y{{yShx&Ze{Mrv~eg{*1vPLIg&H;CzKuf<&uy9+{}wJ9Oo z%DDVV%KTFS!I|>owW%0=neX8!8pLtw{$A0E46O>Nl078jE#u75#xogqNK4YUHS-n9 zW9P4}xzvw7ez{5cpaP6l>ma^Uhql=tnk70m#Fu-MIdbl`InGzZX@5$--)G1fWIQmU z^MLaILFbTRJ|T&CP?Q2MewQu{&92!QBam4E`r%HejuhypVUr9}X;WYG=V+GMCwdd7 z@bD-Zkmi@26^QnoFnidS1G5j8S{@SU>-m{KF zfYztz)sC8;sY`Fab*{qMieBa}>}CUnQ)CICsJHH6&G*Ej_d2@Wl;$-=>@$t1jAQ70 zUl{1Mz3g02Qcl-qQI@s3JdhOKva;1bj=9X@^Hor`7Zar3{UT3M1C{PSLu?h$z7Q#g zhD$=`j*%NyDo}I1&vN!5po<>mtRMK&salCO0DQ`O01#h?kAM**r=izZ%s(=oqUrSL z<$Z6&CtCM>k^nC6-1ktg#hPpR{Co6>eiN91zEW_NyuO~mKM!27yZwG0Juc>y<|s`C z&oFM-4As&s;?Ku>aN7{q;xuBOrL&9Z#gkE22YS8)_)Tt}CY~soAp|z>=Sk|47+9>~ z$KT@c{x4sB_CZV-)q>7rtH&kaTiIl;Yfh7Y1D!B{PpOkPRN5L@?%x=fH~VK)=N`- zS=uL*nF1Z5yh)_7u(*Nk&H}@?!@d~5zmzY0zAQa0pNGh-pkCKhR=4|;Ppdyoh)bSU zC4cP^t#BraB>~jc=kEydQk&Z6J|3K5|WJr)NOF zWat~%!<)}1=>{s~N`Q8;QMqT{az~>&+CmS<5W_{ki~nKhKi?G#!BK2JYR*ma$ovzM z9qcymWr9YZg1^gQUr?KiF|JEI)*}`6yVXkbK8K0DaD#gpDQd>1rd9W?@;M$3R3$+W zM#w1nIZVF3VbtlUNxYxaLdsFnRv9Q7&6Tib5tGkA#s9gbZA3z$0SI#2ngs%lZ5Pwt z&zAc3OjjuC;mJ7|H*rE9u6ZGS^`j%#w#H77?j=Vf<(jW2aiL7_)22~6mQIp$c@dIE zZPMP|FdUHC-<5Wdz7~{Iw#vBVM^M6qoCoOl{aE&FiA5M)&B|U2b);y(CO&_l4_}tu znHg}gT;{8ib7$F_ZtS`3_pSe)jTCqr?7^El3ITqDM=L6HeW(7+2Kllc7oS$n!x~@Y zZUuQw=jd;K|3q}j*BTgpS0+7U^oBemGiUy?so66|@?1`r7r;}$ltxU3{Ad>c+F#*A zn)D`ok>bEdwth>j8}w?!AinpP>OP^TR=)(BJv1--Zh~0RyysazYz)J{jMfBFR0K`Y zNl@2%eJlu&3m?UaKZnnnn+&yJ!=qBGj0X+8RLu??+ovf_Q4KU2mr16VhEGe<2X0;E z(!iQfJ+fjczJ9f_jz24-wViboyyU-g1W(^*|ejKGQbu8*uc6vK>-=@ zNL8O6;3?7)ba{85bKC}Rnj4DD3Am!KV=!4LF=$q?gAeurT;T{~sR+-PjX0gs>AXgu zwp%^-+{SwVb|r}t|H@|x7sK1+uLNElI>5j47)Hp3A$rGzR4ZGzDzEfj+3ontf`(UO z>10=|0Sk$h!2x|h5byc^7)}rp5{2+*fWtqKse(vSzp2`fEBi_v@@I@Q@0faqY-Vv4 zF2%S}-I0*{3A$wz^CvTmOPV6O*wiDwKn}6Ie{}#@6J29SuM2xESSWxZAMW6vfrDi9 z6e$z`h@dYod;oFbN!({=7lSaMUo@?!^2(I%Vlo{9pq$5_go2HU>8&0sf4r!f)AL(U zmPfnRd-fhm=~QkH{iG$+DcuBpp|iT%$M5W!lVGkzntJWFFzc&lOGmoxLCC+TF_zR6 zqLyGlTjtb-QwQXY`zNMRK?MhovFDuxG{p?r6G7Q6_ZT*ijCdu;8!xx^{_ta&B3{IS zb^E#2MrZ7WY;FY7&N_9$qtzw6&t^$@Z-M~=l##etjgHx6EMVzhKipXf+ZS#}8l)~m zF5p(=)@8phf*M8GK#?_Mo`LU+j{k@{kg0)B0N?LV6)@uk|E{7N0tu5e+y++^u9sEb ztZ0Af;|130E>w{j*XvzJO-aJd+x>oA-M`T;0dbmQj<_?_`T|Nzww)2;pm%=HyH?GM z4+N{FY`sbn2v3Vt`%n3tdy@WQClV(6B@!r?yhv?9e+cdqly~s6&z*BaOFrOnO|uSO9mglbmIMi^0qm;)N$=04*H273q||tg ztQ*P!_MilzGOWX4m-GG2= zpQraM^te)S4e;1@FVi!sa`K$Z(dGMVeJ}rIr2IV6cNxl9M2($O`)h05Fuc+#2p@f% zy!K&OIyDeXz>oh^FO@Rf!dmPw$yqI3x%Bi=emjPZsR^cURS?Wc%D#Z%L?~lpU)rCU zD_D?iHK4u00sb_0LUT*S{P zDcXU7A|oY}#T~rO@$$bza57IS#p_M-^c&$`&Uwv{2g!OdfoQQG>}K8pnqJ*pQiMvu zqg>>Lv&#e8Fnp2Q_vzSO<8VcWJ5Z;R)2r_VZok63KR3`Plznfg^RQ1kv6Gc2Ww596 zzQ5mt$Runq<^iqqf&yd)m`;6sUyA^MO`T;YP)7PPhfTb((tiJWe_xFhi=X1GP@X8_ z0u2Ni5{C%*F^&BUOhoAbom*Sgb^%XNNXPtff6;|}HLTDpgB8}P3;bL}c4Tee)2K>W z8|BsJI9d3(ZMEnp?)C5K#cB@|>_3#lXQiRji#PlA5JNbIkd5if2pu-Q%X18U8JF;^ z%YTM|h?n!dp!Bjegf&xa?yM{4{a|;?5KY2NU zny7l6?BL-`1THC&5_>tQP<`67)Shzn+2`O3xlA#p1oDyG{+`DWFiGuEMSe^b0KAO$ z@?z#EwJ+n(mP*Fu4sC}`IK7ItTNN#?rh^;hJqrP#4}m{00=K)boub(d*(O2>20v&kD-`T z^sQG9Zb3-02=M~CdzTT(+M;yQIjo^_2vh-$cQo&oXBZ*$VOa} zn%16OlG)LZPQK$sYXmu8(i7nmc!te=UFq?1gsX>{-FaoLD=`6$jHx`IUV?7h2Uo|B znO#Xx3DoT%Yvd;cD`C($-fQ0rZ!?=h{TV-I#GbMeEJ#zYF>>VWf6eUXQ3;R2@-KL6 zUaW!CTJ6yDC<(}CBqDA@#c#4t7wOQt@v{glM|f4T0|+ziE+_fLU@3}!lyrT)Z-5kl`aUItdILNx=U`~ zoR6bLNXK&{oxG&3JK!8pX5~zk``CWxh!q||9^!}qC7vR1HgB`;2cdd-fjy-49@V17 zYNkNHcOoODkIQx6L*?ZHpN{JVw@bZ5R!c<)7G5m|Ufj2(Q+h2R8yY-{CGPJnZ1ok$ zz~R&5tw=E%(=d+b`K0S|wmykOG@376Z+Hvi$ehpE?kLV*~R!Px>>vR^fuz`z|i8 zaGhI#+1M2GI~3%|FuSc!erL%39)5vKh?kUU!f6eS;~5g4)#6Ae?zfF;$_c3fV4MC} zPW25E{wj(bSDf#IhP8U+90)a8>rYKrxTcUZ{UdW9w|pQ8k1dpLtZ~Yp{EfNZ{svCU zbn822Qo7bQHe6TCiA$D!fM0ht%eU1{x#;)Z6##Z{R!W<{a1M+@#K|=ObH!k zN(=(X>LInTTkrdn2(dmP1Z^x5Qg}d;EYL8r`ddn3T)bqOp`D*n_y~em-bTevd=P`Nd}(b990dv^StiMd<_3m#(0@#H(oUFOVLP&Z$tFuoW}a$6w)J9D3k8?Cmt1YACx| z9Z0hmul{hoU#3gG^dU1NhW4|$t7?Foy`YH(#_(;rwHgUwIlkIguXVBXp!z#=glWI$ z2GCB}w=1-f62&_xD4cN!$%KZ(7`e{%@Rdg1jfqHD*m)6FLx zI8^@p4$cdq~7R;4;=Sv>1AHfr*;l&Sd@O8>-erP8i9 zT9nDBV65WJ9q@P|{%B)^7%Tw%ffmmT*@>O_BBsYX)F}4X|3duKfa`EA;8D$zq5!c1 zt5;0_!^N6i3>QpzqY*ZO;@P7?%h=x&qEWGjXSJ6LL*XGH6CRFtKByBu5(rhaGK0vL z!0mlyEv@6}T0IbQAGfcFH%dh4K|E)3%3D?D1u(>q-ssDIPS=KWuk_S`BfOOaP(- zt~j`eX+QaQE)C3>h5jENyX%{ z1bw|dWsQBDDnN93*gz*2GuuPO_fKdnQ9jSNd;BQ2oDvgYF735%AkkMam-^`B79x${ zv%ZX+ggSb%?uW+vCvF?IXc!$^)hUk+I!_Ya2=~j%?oR6S`b)h_L7Rzuo#C14_u;xC^ISBx10l1FT5!55InP6c&(zoGL%x z3=hWe5CR=gjvq!z{)2Y)PzS_T?|>YG5_oFi#OM9s{p;0deCc%$a@_U(nNg<@B#kbI zD%0=NKu#SZPpxUid=R@*;_tZ&yon!AyZ!@N;mEf(f-dx=i8yNvhu5~pS%BApYml&k zNH)VYo@zc+FSR;o^_hgPRAiko7A@U=Bh~)f^qP-{2ntF+T@TAs2EW1K+ zjtbYuFoU$TQhgpa+5q7%5cW-SD}|bj-lr$@#LB5 z73iIAI!HPINwK?6*!!4jfuJN7LjSCYjw&l1MyOEr|NZ>Ig8CbDybM0Egyh`$mUKND zKHlG_sB>76GG_8i?#DI)(!Bohs_)Mmo+FFWDDT584V4gR>vlez;rnxB?pd!FZ)uCo z&W5p6+dz8e_xVNGidTLa5csR&jil@vYxqa)`SOqU8ziLWglF9@niQPH2NMduAA6Sg z$GTGv4Gb4Gj*7sPQYa7u{_698K;M3`1I{qnfVrM4*VF5b3xN;i<99%MncImxe_+hQ8#rbPB+!HK)&ju$j2XpSqO(c8q03kUIgv)!Z% zO}EfWBuX&>a^JHg0x=1E`nFNQTbX{i3kHxmbv$9&C)WHA4e1QNrOR~C!LtZZ&AeYV z`x5TQ;QJ?r^cjKHO2>#s#oeOn6f7J0H$m)o#fGIMNV*r|eGQ`M{CXt9?@!E7h5|pi z(3MOYgoX80V{XpEum8LEnfUw4gLYKBRhc60sfkv$JGSXIdy>K zzmJ&5scnFi?^^OB0u0}25kMQu?ydLD_`dW4zhs6E_@(p_cSD7hDbc&P@3h~80qD8I z$NfTqwn@lBU6>=~jogpqpIZ|1$OSPaF1j;6@6fs+je25g{y_V&cKGTP_y{TtyG=rc&yHweMT!e+Y`_T#7=zCS-hNAIl# z4c^6069fbpbQfy>zu$i}!t148t8BP=4i|;W_3=75z~0}l3f_t5m5*3RtZr_I>Aijk zHy@b;;DKUrd*#ii_6*0ACVS|F+h^ftdBhM0gukEAG%(C6{Xn|7WbfmDTXR$;YmAAR zc?PInGu-Yf797nGzsr+X;#@Z`o&;&-hn~$spq%6V6@DH97~l(kB~t-ZTU19YR3Bg6 z{hI!MNN3OtNQ-1AWi{MoJ$qHTc7FrA^8ldLrAyBm-tc3pIu3OP_~{>e)wpK{8BUe< zeCU2nD@BHWQE?y0&vo#GOYX}VoF@b21C`|}vyGBJ`Lqp~c&JO*vIu^@NfFysLZ$DQ zx%XI&Zq^46y_45C6)34YAw@m@O-Mn9)$1&|`BR=B1$_b1b@q!iw?y|AmlW2dPo&h) z)$=739wEnU`cV=<_x_RqKUu?*YAhrzF#-2IQPGt>nQ}x6YfUTAG8f$ueGpD&l-LU2 z?ylij?_kkhq^^eoCy!x|`=VY<8n@5DcfRdK6eZQh0OTqc5TjrtByW(90Qq@?Wkx{s zcWJ0mysMiC+L(XuvO}4RqCkM~*eXqO4*b7#aLC2~Jfy$)RPr#Py^j@;dU#-hUvD3K z9>}#7KH}ZH1{7-6&!h=zb${;y&?iuHZ3!KM(6vkoNLzfo2^lj9*$D;$Y%#%T zx7+>h9Etz;LZx;fGGk8`AkZ~-mM{Q)^?w?R9|bTb`I%?V_Z0H~c&WACuO2hhY_cWQ zBGkwcAEPlcn6qJ@>Yw-A9>GOIIlNFVK<&t3*P;SwF8s%P2zc|%Z%VJH7}PLRhn24- zAUfgm-_1jJrwq=Sgs5%`Xcvav1Inm-lIZ6lz~6IgvCQv7T!R2&Ho56CM|LN_=WaoBv`-vH(=8zRRmj7OGre^hWR?UK zmZJjpZ8U4E7w+qPMlNikh*E0q9g1PggguK`+pdWmj8sDdL+bBCFpy<-#KN0dH# z-M7u}d&=ShT!#-C;SgWb?2wgYD%-ct@t%y=`9A6o+2zVdBryAVt@gLeP60FnrpQo= zgBGymPG;J}JHG#ZPf3L4G-$${hU^4v2rghI`GYF`cL;^AGNqryaKC-nHXAl3VI0}! zpY`n9^i)tPn#=^SkvBd)JnGkee|$e=CJ3ACrU8L^P<`ecYP;5liv90HuHph6HUyMK z8DRoiChZo<);<;gbl?vOfcwJcLB=RDw0tG*hj`4t8dn4kPoc?CQ*Tct#)Ri~Nb>DJ z`wcR5lgYdj9RcyC1Vkkz|FG0U3kvppm$ZG2lK)ZxI;x=t!hs55e>E@TE*wb+w0fFXwg}xt=PFxx%ppos}``e4t?U~4q%h2aI(0H>HRmV`j4rn#F zwjG%DZg9s!s)!WNM-uF3jPhftOPCC%2dM>*^~kE|x-cF?o`Q(8ZH z(Gwu+O}m~S>Vq@u<6QnHLRNWk^ul)8Q>7+K7MIPz6L8E;UDX&2~kP9`+f2~?E6Jgr-rOp&P>NGmQSI2|Bny^iqFXeGozLK zSxXaYzTTW<4{?7UV%ipOKnucH5{B=zlZ|@CAyEE)NT}TW?CR-InR=Gb^kTNiZQM8e z@7ypzY&J;1XKJp%m7r9EFw+Oy<3EMr0GNBfVO=RCwG6rM_>(ZH3AM2J^|-bl?+J(o|3O(c{~*VZ!yQ_)F>`;5pZ8q!wa_-A z*U9yyM}Vx`H11ICeh)zoK{zw(v8!!m{&vZ)SI1>`6aRhB`-$UYCVKJMS+F6N2L8GE z02%x|q!^_eF|V0<->?a^pOWe_G#_BgCvh)D+rMo&j;YVGH{QD5z38e5;8P?h; zXbn8p1~nfd@W*>a>~_u37XC8?;Ji`p8wpJYt`iO*TE95n(Qx#B z&!^sJ`U?^?Afd)utUrrOb^Uun0!$=*^nGrfBVbpW9edjV{rNeW9mN|82ykq|)#eCB zifs&~J_2R2*wWGP#K!4!8$@23VS+-)pUH$`2?%3bA=K#^Y(E4;f&ui~7pz#8zOd`) zyFs1haG>|B0xF8dr#nDDwMf8K_#4R!OSEgW(h2IE-Fd0&rXUCDMcBYB`Mrn7Cuh4eT0P6b>OaB(JX1B$mHP%B|( zxNn*gMIrEo>0&S%eO(J<0)?Vv96)^TKOw%2#;kU)%B#`?&Vn9j3m7O5ul(~avU`h} zd?7}R9=N4ip~YM#k3=Ji!n?Fjy8|fEI&nV1J`?7pvA2Uitwb>>bUqd*8Wu=G8pxdi zR?uXd&7=3?h`yyJe_f$yk_=9Ew?cup-_hxol1k&_6h0h<0yftNXz z<8p<$_#)fYd99(d90(3S_nXp6l5r*OiZ8uFxm)^?WKMhH>UcaLzPMYh*6}H_PvsNi zj6y%UF5iaEtL#fkE6Ey{D%nya0J<{yZ@d|omtiP0I5E+2ue+ z7SbCBO}!siJxa_%Crrx~7|sLS#SErw$35Hm;dA(h2`!6FX6ln90^J!E7TG?AV-9A% zr)wJnp>P~0A?&?Z%6e4mzg~dHkqRkz#7}A{J^}rci;#yH_;=!iJ(DS%a4mVG3KW#@ zBIpwMjX%ENI1#ilCss9L58dQ$Q>Xh#bD(K{ZJCDaxPV`Q63)3_M0Gsxr`mCH8b6twPnPnpx~jQ&BG1O( z&bI6n_FDU-1n!0!1e}2O&pvKD z$GQO=H3WA)=0@g&?c20wcu z4}@}cZKH1GL5uinH`ua}C(J&fCJ789PkRG~n*XCJ_mW<*Gcbz<3DsJ)q^QJN$oW7Q z5_-R&qw_Dl!_un?717bfRNzfI<&-7w&S$#$? zfBgf=-GKp1n6wk<#@wmb1I0!3J8Jk&+v!tKmADlu>ZRdzKB{P5-Gk?^w_vVKKHjwz zew=)$Ev^dP=I{RT`z=z?WCIKuh(fse(g#buEduj>l6{BqeD2!=3ObiKaGN*ca65-B z;0yP81WxB{>*Vuo3)|~Tqob_4(2le_fv*vm)+k0&K12SXKKaj>${ecs@j>8ZVq9oz zD8&bsKlphs;~;)|q2T+6*}utjv~epu}KLqCaJ)~Ni{YUXx>lxDy-n0ELUa_i|IVCw=Kfz6h9O! z-Yb@6N+8isXr3$YG>XZOnCy>E!e6T#fW;z$Hd-V|k(?^5Y1y1`cN9R+1x3|zTv}{> zxVlSDn!Yw`50n7=q4$0Q8Y&m)Yuaq(!@%>ajVebXr{5UQm2r3hUXlc^JPOHPWVb0@qQo8$LW5ffyL@~6y8=v&Z{qH zsD-P+2$kE4I>?TH-;;*sxLCD-c|by2=@~$k>Wi-q-V^qBDEB7t%HBp!}PohQQiR-vL~G)y`?0d4wry@Xo9k(e`RkoJQ^}?=nR*aUfA6l|U|p1* z+OkdSh+Cd1ysEk{#OFBgvZ9(71DG5+aRIOFaC!hKnQz-h|Jf8^{I}L0Y=Fjqs0$h2 z$RCpI?>%~r#`y+ZTTxBl7mzcahS7wwne|3zyV#F)pNA2nrQ>N>boIuBApRQv~34)KI&-OgYa>A-I z$J;k(Yk^OH&n4{6ozK2*VJsc5+_{*WdvkDoe))-FQ8o0{=*DubuGS!J{Wc&4ch|&8u|^%)bMfUz}J!fc}rr#7=LsL{g!}@;%mX zv$;#KqA!LT5zooVBD@F4`RJZ3(Os2fIM3Zvr58&DLK;*MUwWV3_89n>)%PaBGb+yn zbpkrCLThj@ud)LMbXW$+M<#=hJDNR#JTAAfVrL#~G{2V784aFKNaz6lk2T#hvv7rj z)3HRaa8&?&NzZa2IqBrsclVbC0&z!^$Hy2(;Hh{epja#qKAlJvqNDV03G83NKnX2^ z{P&BNtSU@^Wvx5FF5erK=CnwE7>gRX!+FQdJumsoaM1+ zTVtMmqwD#9$@-2hN0p}A`$XTun;}*pBw+;l5tCkcZzWj3)87D9l~i>`J*aGvHZn3| z$KG~hS|{{{;Qt(|bHT*cW+$_QxV>+Trzd-ZaQVxs0WolNq#e7KXAevLF6{_Vm4*s_ z_|E>iLUIrw!DX|3_=V7l0%$D+*lth0!_;kiNM!~)1eyu&YjLaE1zAk(|ZfA}~63`%7<}RN!3LD;voM$TzTMlHUTWkWH29an$Uht6{ z!U=m_u912zx4PQ{#OIh|*U8*w;q?JybkY>NL-frROwI-9klpUk$9;_KIbkM0(=knw zB@;0~DI63^Ub z$afcPP=vY7w~!E7{Q`2CF%l~K8?W5UcgyEhB7&As>BY0@Ft(15PWf}bsq<0qGTTXj z+`56{BTsGt5d*#0&$mpZK}^u~w6yvYN2YjkB*0vLT7E5j0H+?&^+{oZysLhDQqjD5 zMW6fSjPbySgkrdw)D+jVmk!|58==!~nnAWp4Eo5Dg(w!t8xX2E3~e~?S}%l57fyB~ zQ0exr9su)QJKagGekOC#wdq>G6PC>scL90jTN6A!CNm0vuR})L8k^CHj3*t=_Fe`2 zp3GrB0NH~qoR7rSOC!OjZEt5O+Se20{}Ljw;wgbDu8w(LP3w?-cy|z)0R{2&aa|Yc zaEXyJQ4H+&D{+3RgH+s6V1U+(`yKed3~w*%+dqI4XgSS-f)X)9C;&TJ75jH^48*4k z6J$Q6fFU-X!b6ig`@`*P!x$1q;O8n_&5S1@9#CXCySyMXVa3+x9 zg|f!CxJ`FCnj;V#xV>@k?{4B35Bx16@VXEJOb}Gh0ma~p;o+y-1k8HxxJI4h7;jYM z>Oi;~DFC2fT=0F{|3r1J(ps=3`!K0n<~+ULW9a_pJ^g)it&f3-ja*JKbcpem?iPoDSCx)M%WAo-ZLiH*C;5J2R0 zgR>K5lsFFP6|Ek^OqzgLP67UGDv_qcx`$WxbMczXCuU9u0g9+H1@x<_w!=GlSCQWj zA1HAg1@xdZeKA51MZ^vh`Vw3Hnaff+_=n=S6{{ryiL}*;U3PE#^YE$NBW4^L2-X8x z7?p%R9&`Y5e;q#dAJBW%>3SoIG{jX(v+wQc?EeJeiIuR~hVRnlfkV{Qc5Q%8Z>Id` z?0LZRyb_m-He2jCHc(#!p=3EF9Dmy6s-7^|>u^-xBI8 zB2iqC1G=?c6wuAt;y3%9K!RqTMV`!&QuuJ;Du%(LOxY#C_aj~zVJseUjZ64@4}SE) zFF9wkw?ErbFDFuvM)QiK{3RPIe+ut=vEkRY3}Kr?rGz-Rzuq~Px`&LWr(Se zKgTBT?CQ@LG2Plbo;E8{0&f(Axl<|}^?9(I)h~C`vLfxOXv9DaEsJTnamfx z%;Y4z_S>58b9r&=F3L{RnN$XWDc2PVxgCi8p34K;pJ{HvXFf;o2nD4r_i=Y5US8$F z49_$C{8T}06}-Lf>M7cj!QWn`b19$ElF~=iVEjWE;m=3$Tb!dPFHh$V`l8eMHVuwI z0L$fV8|CL}Q5AmDSTl`Jy>(M?0n`xj+a4vt{~5GPx%DvxUhFo%F;-zqhOoH+uP(a4 zqpg>Sd3s#$THI!ZRE#^yD8fYa#WX^qSQj(=D%m#U{v^eyEMe>dQ44%|vo&A6AT47? zDR}WfOJ=+-vS%7%BA@UF0YD!5 zH=xYC-=U!V-axwY-sm0{^M>AkJbLmbbW``{irzbrk*QcWm($>)u zwlGk)Sv3nP!9rg|3FPEfp5EVOC4kB~U3pf(nYYsJ0m@B`=z4aV%|yJ8PvglCkQVc( z;*wvnil+SoHf)Kc?;UyPIe0t_ja7@oeNooX=g6Jh>h=Gfyi#HVcx{JeOi#&HIegz= z`QQIPVV0Bwk~BnT5upcAAN|{fZA&Jg`6$o!G&dut7cgq@&yFfT4cPT+(+(3Gh(CO=ybrq~)Y~ zYPMbSW6Gh{){?LEkP!zSM-V6~xy3*r{Iky-U$QRJi7+b&s|pl!vaa{)!1oG6#?=i_ zbjfjml`fW|5emk*KsjO%I6rf^ntY_1_6sFw$j+;4M9V+tL82XW!+ge?rVujxJ=FjW| zhLa6>wpw<~-rdG{YT$J49`%ne3rdS1Rj#56lr{hnOH1499(VZKybizeO65M|TQRs0 z_2mq${6qA=K=cN0&T>SiD&V3Fksg$aB-k0#AZ_c0feI zPE0-3!9c>_-)k8>I8|O&gJ7=6ZMr3+Q8T;n@J}~HL?YCv%7I!gGX#B4nih~C8^aL?ke6GNb~P7E+uYuFHyX04SJB8yVg#|N z!-tK)wT6R%Lj!@UaH^t$1czK^%L6R zn$uMXIfoX2W`sb4P=)#1I@cuvzOZz?1dPStq3IlA$e%(-U$aCpsxjth8Oaxq)_4YI z24>HTep@H>hJjKxpwMJQQ)fG2@$R{!&Y>7d{@2WoW1P4cbW~HwLipL)KzG}|o2U7y zKnc;M4Udo(V)Zk6nEYK_;%%Pvvjq_{)GO9Sv~mliD9>TK&GXM*iWDYm#@XwDi?cnZ zeulW5vfYzEd&wt&J;g*H4Gxfa9|+q}bl8D0U$dlw4qg>d1AFC%X{u>u?(F7wdaCRX z(@OFt#3X&aRk#UxmzR0^qESU&)@f6{b+n@p zQjbgi#He}JF1z5>wzA*WNvu&kB?U)^aP?qXy4nJeb2qy`&r7kJbbx2Fl;0|yp&D5M zn#S9;_cJ*s8fxTQsrLrw*^h%nJ`{crn*2;oAeQ6R#2VGqS@+?TF(ak;N8p5Rs+9|F zUI*eMgL^+~GEODG4_eK7M^aPb1I6|o)WxeCHQ_5<{%M_XED6jBpA$!%12#O;`UtqQ z&)!anXWh9YR*g=a&Q7-iDdp~{{`59F*7e;*fzJ22+Jn466w1Xvj-7fx&b1+P0EM6u zOI5kT&%@26zt0R0S>YHqJGh5qAeK-!)b+5o%gKJ0)_$WEFl!_U9xX}EQfHPa6eA)$_HScuny zv|lD)r=}7`8z(c}pn_Tiz}sS+Z0@&h5pOm)1)@0mhZ7D;&Yg8Z*biTvEbz*Z5UnT6 zju}~pygl;%`(^X}GC0bkVM+axIkymWy#daB{>d36+NZ9JMIJWJyufKu#0m#JO6=x5XTPrq)MqRgl=?TdooyJ^a| zE8%NG8IY<-ty!t>@fuvF1E_XuKiIF=NBjop=(-enoLXb-j*0>DCh6XdpPqWN(TeO+ z%D@9Po^V%IIvFB!ua*6_EmLGipl*yd4)9U>0tftjAYcZK-sa39tAh=c@xA&y6PDRw zkP#uj;!3a16b4AYP0y4|q3H;$j1wVxU#9uxOVCgnZ2EMQ8lY-rD9@{Z6OfNI0aP_e zmwT;Oe7EVWQo+$ZjMVg zs<_9|6=)#t+Alw_TiiBdQN*wwTCmdgBADS$r1`V{*MXb1dj1jti3KZrLOEecf6NAu z{c&@z6wrTx0n0WPXSx1;pmGs_BB`D0fP;F{t~*P)CvBGYbsCJz4RkbYQftublgC0l z2ZYVGJ-$x^&`^PdH+F771>_`XWcoZLJ7*wdL%;ap-dmgtH|?mTJlzCMk3Q1&$@#?kNd)^#RqM z0Pp;xddCjWqlx%p$nLPP{kt*R-mzN){9xGV#fD$G1HH>Vm0QTuD(Bjp5}6htnu4~T zoodRi+g@%MD<0`AQ5UfK+M0?%+zjK$?k;}`TrdA3V2RT*8@q}Sp}ZlZ*9I?8_s%w^ z4)W3Rt~>ywPKwUAX9q=aiA3D@c_!g9x}9(d zQtE4$TT`fd>0Lq4Js1MgI*`;rbb7f1Etzf+N=TF-i=|yQTU2f_yg_uCRY!qE^i*UD zDB04daC-d}#yhQ0LO&sn6ylE@FXxnWg>Kt9J0Dnp5Pp1*sIsj>uN^B=8^dP9+LRRR z$-+7Sw7!NQWTS|vaAeL|xtDf)I$;_s)Ib3(4g<*lDkK-T#}a~+^8c!~?I15UuByRM z*W!7=&auKbei#nfZzrwvl$FMA!fk@wn;+Cys`mEGRJoybsKBg_0${iH3 zHlt8dFt7C-Uo_#qNFZ~>5@>Nhb@LA<>D!q1ca7|U%z6<6^MEnFow!Hlr;q4AcvV+t zg?xtIMGVi1vJwUO^xG#k_{n9?7xySzhRxFV;`tm&KzeSj%uW}EOUaF4D10WGp&3z~ zyA1js+yE#ikX$^3a8bjl4h6C}*w=u|Jn!MSQrB}B~~Hve;3 znVWc)fUiO2TTnT945o+jg2rrgUK6Hd!UUIo)2R*s9xa>h=j{jf9eFpr@KDJ!uz~xM zCK(5`u-p0nK^2|aBv#!02^_Y7ft=P1O72vkmJ%iZe9rqVBJgb+36Bs%^yqfA4*Ii- z_-uJ&FBAB>C5YgxE_W2Ln9*P(H3CwisIpDt`<4KVv1MzPRw~ykU_Z+m3b;PKQy{rr zZQhtq*cpUUxQD)B5PoN^G_0ihdwkKCCLRmZD{OS$D`mfWky(;-mdhTORK9x<9Y5Gb z_Z`@H-OJ9YM~-KTvS~7 zERXFivRJhrsaP*MKfiC)@1MViF#pb?!lci#OHM(5Cq~z8Z+Ws+rT=P2{|gp#1v+ZL zX3Iw}@mQ5u=hLsMd=jDlsiI#%ZBGq$WGuYm!OzE=_;KM5`MQ8stJN%*anhfQ`!pha zvmWn>P;mz(ZF@N&MQ&aIAfxoa00B+D=F;W;bkd-FP8JU9y;FWW`Z^HbxjI9a18O~_RTcC?(#PrHP|yBCSnLV6H(T`ep#W~q(}+iBnG6t6rV4Il=KX%=B2ITqAE08Q zYo&9>klwpq@@+U@Kat~r=mVUbKuxlk<&cvO++EW5-PeMzR0pav^k$%iBP6*D8kas^ z9)Rjo%e&knt-+f&tTyxe`SSY=U{ENGczNM0Bz6MD$zG->b3^BT^@0c$UcD;3R)MmT zPdx6Tni<V(-Jzc?*9_L*GuEaK_`Z&z zK8%NaJDe1D)a{QME4oa1BoMwvw3cMt^CsJy|Ne;($LfWaEK6$8cmjgt+ZEW<-n}44 zAGaWUQ%}#_L`ubA7vfKat>NAZ(A8a}wV}|C#GE~MZGh&ek?cr*OkJ^VdiZXmrw39K*VS)Blx;Z8I9 z)eAKRn{1|L93|&&ByXub89%_h*FezOtR`9cP!+iUrEx6+|(fb!O*^Xu|OLa z%F1Pke&Z_uXpu{{KT5s^lHBtcvk4w3nk4}{WJd~8GusXOo=yRde5H2I7)1tizQqSl z;_Q!J)C+J$A=ERj8&2eT&}{Rs=;lAXe}V&^$>#`kK)mQR0OswNN&zVSAFGc4i`7}Y z%GYNx_>z0o17Bx>^!;x;P~IKXayB?_aAXtZ^m`ME!1(*O9r~}lMzvoSb;Vs!9Ftav zUHQVs%kt|sLH<#<=%%HJUV65JT&PENE<%EZi?Go%*qRdxqTEIq%@x4|;`{xniy=lG=#8CR$1RT3c{J$P z-`}6Q_GdpPN8l353zwFlC`)gWjZx-fmI#*mXIye$4V8$?O`xualscfScIDZxQSpZH z!252!l($rzLAMBWEB{neA8?hJ=xe*K_oLc0WhC7mpxE>?F|0s_e$|bNW$Q^X3Kx#m z>EE|0yB>tp0Pfny5CVe#bYLo|pL+jrIZJ91BsnD&zKxuhvuVm ze{kWi(--ODBhzBnxheEqTLTTq@I7(=^%DpGC}#q*a@dt!u1L`il}&ALoA=^WloaH^ zPIDoa#G&Zw-~`ntWmSB387;MdorbIexvQsMx&8^l$z4mWMFVd;H#r|sm4JF%z;XNx zWEGgNX38UR@+5w6U_w zPY>iFTz;DoHv|UtTNTjOlAcD!l^+ivY2!(VfugNF2) z63B@|{lKQ21EccfhcA|{G!dKm6F90@=5e@ikTmXpPbc#9F)kXx4kgG4Fqkv57dDOCt+P4;9_D% zkt6=w9!AbR^sz9g+4$ty1cDBS!Eb@wu|6+X zoOPpwQp^1Co=zKHCj~x|E;R^1titQM+U)|v??ojAGs4L(jJ+8st+=a3LWJyNgF`fz z$K}CFTMsl*Th#J+()c}{=7YW5`Q|jlSi;G`8G%_49qHx>(MYu%+R z34cFU6tyhE(K{)$b(xl>%ejkq*ly#mp8!s$#^@~qyP)C~lH@mgy!{cv0Bwo!phAr| z0g73TJqrk&sE>VdewH4DxuS`MXnX1&j;1PIf3JvM*krLP2MzcH%M*%lE}e1PL-wl| zQFmP8++YojHy9%3vA=d_#>IwbTtOU`i>nF`^`yJ)lnn2XYCpP>PJ#4;9w(vQ zoB=`N>~P?B6H4iV;e_2RfH-I-WN-Y$2)`%&`@yfL$E-Z}ild3>?RFa^T;+by4&RNO zC{=*6$RGO$rIqAh%gnet$?uPqEe)VuJAwj(N{{8IT@sgFBIezsqGb*kXeA=#_{Z$> zVnx(1l8v7?eB@qAYn(tM6ivDSvzTlyd=cj6{VTXGfEvn;i58&WITxY%I3APl7w30} zleDL#2O*UDAVUE2qXMJOYvu|u za~%3Tn)q%qxg{Xl($h&A(I;?hXws1sw*I`EBzGtvle8fO3?Mb2^h9Zp#{Sg=L#NVp z-9Vmc+_f1YZ7+589k2Z!)vzd5AgLn=^Jui8*P{n&Vc!zeA`#cYq}rX<>)j+6a=$JWrstorUFhz>(ArKV_imy>W?9#gQAY7xGzlpv z&gN}1cJC%Z25DPIFLnMz)QuCU=QFdDTE3fH4q~M-9iZb*K*A0p&MO%`x9Qsdgm?-7hF^};5^)t4cf1U&P+ybw@)&qUw0W*eE-V&$Y<6-> z5dGe|`HJs1K0Bayr9UCS|DtJbh+zC~EWcw|~(6Py9|jNGTwQ35x*$h;?z z3hjgm-w>T+3q_8lV?S%Ca=Pc|6}@@>b|b&AtPrFWC%(~!&R_dW1**^@y&2`N+abQV zP|`MvH)gUfYrX1@MfsX)&vLk_bjF@;I5VHDM+g)n%Yx4MIhWBd%Cq{8AJhg4hf-CZ?7q6Wl0!l|l_25xi z2FvsO!2~S-dX*P$)R;tc%;SP87rBl5x;v`*=8>4C3<-`{nJ)D#Nw0=0C zfhs3Wex8$lQcNro^kEFI-*?ojAF!WiL~fJI;zfBVL#0X{?HQ8yRs(IgQ+w?~i5e)U z2xC02M&++zR7=bxHh*7lr+%nwu)aJJ%|nJ0J=9Yi`8I2i&9Hy2r<0o;?+?} zhWeW;2X=||@4)L!(Lri#k(u9I&i&IrRdeEV22tM80+AReFH`id&eJMFufWUUJQXg4^7ETdf1AD6ngI47%2@K$ zUEH2D*pl?Pd%s=0zt`jnc!lRO->tC}iZO0LoG^LuCH^=`Jc@XxD(B>yKBggh`jkdh zyHoOg7XVauxip20*C0eRQMZK_pSz~=J{X!mi06mbLwO|3o)DWY0cf?3UzC_xuiN`8>4YQ5}HV_ zf1OLS(}6W2N;5CJBG z)6tv7$#=jVB_HpvL`mDFxHomq);diw(PNO@-;0BzkD}S)7I|n8 zXptZxO|2pyJ}wf^`Tr?HJb~&nSTkTyG9Y=-`o)Q5_S5^`kAUAMvC5Ev7+f4DZ7Sj@ z-E;Q8cY;OpMKS;__T=U#U(r;GOn2`7_b-__FdxnLp*dGRR3|iw!`tOw+v!wjB1R<< z@@;u^u;3uL>JIb#oZ&t?Hk84G8h9=lMjiN0@O|>n3ud6 z6`4GyNwYah@1Ed6@mQQ^EQ~4upADdtUhNmF*^lKRAi&Wy*W~f=Y~g_ds6PyUL~6cw zNs67Pg?;4gtXC3K-QyH5Z`-`>vzmZhB9%1!d^w$<#-8l1Ao8^x#xLVT0uKfEz!NA& zY~&t8ri%!45%Bl-t+GtoOwR+O`l_wQSEiLn{u{R7eIQ1wuN*J5ZVs@Uzma@h_B z`1*k8jS=9v!Za#qUMq9Es*Rn|=KTQ+sQN@mRUE=NUxxdQ6jyE++SxzgNV?yqb4*Tw zhurf(M1*>$wEX%&Y5^DT39h=wY6i)5trr_guYZj|KRgU~HsixFLkG*xjIlHsWsdOTk)vtBCX_{WQgXb^lkW)|QdN;OS!0FSWr&paQm2d<92 znmYvQvlPy{puLpqzotR3?nm(k_$|2ZN~h*79xm>YqW3&=+5PDC{sQ@fp7-!Y9PLxP zouGZ5jde9cXUT4?g)qd$n=&Xx`WQiMLa`7~WfN5@F%lxs#}PsYzvkJm0z3|n7cWsO z#iE{#dun!g->2!z)TnoI0cuxs{b6vL+VhWhiQSi}7`0rV4@Zz|)Fdj8_y>K(wgIU733zVGmD+1mzb1^u(dpo*QS1*! z4;g{vkh9nP*LZUKI*OP1!Cm19OCnCiK}c`M{8ulYYkrZ8A=2{k>MO-r4W8!rE8zQ( zM#CBp7ag_+C0h$_q@0l7w?^+Bc*8DG;gID#9WRmE5?W}*)^@q@|@Pr7C^E2!r#j9eh1~jcR$qSJYH|e?T81q z1BJOXgCX&^&;IHMAX<`TjjLP$c2T#JP&aVi3akv&&qxS^EW@R>tRy?hxUfI-zXoc= z_mqx7vkalCn+{NCpw2}+hi2XglC>6=5e!_nb4N9aA-DTI%`vj`3nW0+eo zI;_;alH=FP^13YcHBTRWyY_0LIQihI!tZ=Gs)2gOudZl3Pfd62&N7F^kN-TC&ZVJ3 zIk88@$2+JOTvk2WRq*z;y@^7+kW>%&8j8ttRyURtxdj`(hP)EutW6~F(2wVvf zB;9^nI401pZOBE)gfyMf6sTZ5KnLP?SJ|7{cW@%k+8GMlAC_?8eSkmxZuHb|IIA9M zt%Cr)dv!wxiY2!&%-&T{r*a3B>Wv4#K<$zSL^VJ`|L$s`nr1J##$rNkSA{=7=Ly+$ zX5OoVMrPiES|(`Q4hQ_21FWRm9@%?w zI#ze(>{sbDfUY={Un^$(sXNL;H&l>X)KeQ1gBgf$6CB8!UNiaH<*E8K?G&)TVb}Q*Jkmp?18I8F~<+f^O%%+nyD->J7d1mwi<%wJ?CQGy;26_$wz-L(b0cLr)zyYeedLn78#nB^p-ed9|AbCx8?lF~t zV8B>>@M^mc3i-_K>+zoKSVNjoYyi}+j3e+f0D~aA=QMvV__{%5FsuMy>iu=S*suq# zyN%v^>3S^`DyG)dx>sSo+S1j{KTGm1WCNvbl6uTDS9$i}W{TNmo9p+^pCc&rk3_Q; zkE#`$DB3j$|DNXv$&VV54S|PyCfWl5MwdjEi6Q;pYX_$)m}ZxMCbo3$s4h_DvA*ay@3(DUqjtifUox(4Js7>{+X!GXZ+Kj9m z>CZ4lCdWO*k##@qwg2y)1n{8EfcHqOfR>$Y9!P*nw-1Ye;Rxru8KBDWhM-&Aj}H0I z#r*0C$;*#gL>;8;Bva074xslSt|I^MABNzslDdqEF85PzhrV1rHIL`RUfZ+Pug=1; z+DM#D8ppxu&iR?^v1!Y6F`D>|K>K#@Y>@_N{za9NIYmp@b|ZkXf*w_T!1e`5(3e$z0$!-e(UOc`irp76lG3o zpkKa__w=Ga$7;J{-%W@hpLo19&aED#&D=(aoyD82_#QAwFiiOf_%wnegzKZtJ?;<4 z)hrB@RlXkyCe6pSIBb6>0xyh{@gEAU5<6(z6v#e-pD4@oRyOcbgIA` zZcuGv9-r=q!_XdGkB=$p_#o__sp}J~o6PSi;jK6@Gquh^KN*=wRO~bZID0<#N_`qi zjy&;)>=Xqh5D+uUv%&)+X{2w)4^M2CH%Ke_>GvJtlbPp$?Xr3yre zI$N7`I>D;b3=Y!=>IACC{p2hNbU0n+s#k-Ivz+gZ{W?UnX5)^PV(UO%ry!1L@T%g? zt9)7GycxJ!z$Yc-W}NRN`S{EZo7wrc#wM^F${aw(*;cM4PK0kfANzwd#OSS9ffD`B z)S8F)>>x>G=N5g9e^lqbC(J2*Usg312>S;a>hVr_;Ugc8P+&n4okyR&jRO3Q^+eiD zcaQbG=~Gel8eW>ZKzeYZLrP|HGcnuSa%F%YU z2tzqTmLfofEdH*s{XI;~1$v^#foaIo;)9cJN*Vnk9*1EPP|YH7u? z#c_|IeC~@><;K$$LvBeSwuEzuB<8UPDZY*rLnA@v%>FZ$t6{P9n|1?gBk1LOm}RU} zm@W3W8aY9BOfWl>-lfw{+ZdQ}10Mm9ve)dM=i!Zav; zM-==FlYj-xhgnJplT%|L!Ll!V+4tKlEJke?Zg{*$>f?r!;&{vT-Ti+zQ5j}xCLDpA zT*(Hp0>1Kq-}c12$v6($WDuA)_-p)3)uX#QdjZe83C4w$44Cf=5dIi|6Mc}+!_M&i zZgQeckSWZgDvrHa@loN@65Yp3H67fXc_>FuFSYjE7zOzGKV_a@mq-G6|I;H9lfZVZ zXoYQ+h?}|nFj3b7kdQ2ilt`c`_$a~wG~RbW)4M0I|BZX#VXZv~O1nCQoL`2Io-B-; zZ)m!nt;4dT&+gKWe?%k++fxr%sNrEgdzNNg3flw2znduRb)B)uU3UbD#$?jTdFtW! zz$~{NlV2uEcnrW`q536uI$j6y$#5MR{|#Z^xG}rsCJhiEL60@^ctLxBlKxotYr3wn z5AZN=Ue&WN0Vg$){=Uu-QxL+7d+&xr3+Y3AYBa_Dwl3c%`%YX5^O>iyYN#f#N=24` z`Q%roy~EmdF@Rgb>8?6_xKho|$^G8)YIb4nvXx%taB@uMcxD)r*<9ZD^h2G0HrVDR zr9iNn4QY&)yuC>F-2}NGvSD2#{n1kZip@AE6WR-PzRq5yx@&2kgr#mBrL&IbvFgz8 z%lWleAOuugZkUcdop_;rf#@`-`}&#w-Sz1tP+$;Fom-b605I@*y)5DE}HyQdWemFzqP;Du$AqR zJ6+E$aG@h=fN)MH; zwh2jWEoKKqy$m2BnDNt)fe5?mPZ`x{r&`*HfWHmkG;_71F`*k9W;i`0mdvjB7C!+1 zCyhaEA#yUp^_r(70E(tUl5q1p>{R}rcK$M!!4Wasa9H>&MxQ(e;hW7N`5H*>JSsWt zg1fikHAUa;TABX@xRyKyenscVWkZs6UB?ByJ8W0`ex2ERe7_=CpKJW+U!x533 zd(mG) z5j26Jq7{g$AQt8Ryd)vneRiN+jIf$qNd;-@&nLZhcQ)DgVGPfnjj=ii0Y95O`_VA4D+~rz0wc3aPyY#uhKm|D3 z56^obO4SZ*l`Uci|2T{#yF3c{HA=gaRWmBW6G_ zBs#Xgr|Wim236{E_ZX_lxgr}tBZ~NYNdQ6cEsYxXQ3ZzHCXv;a_FfabFPd(5CFp}o zJ&hH{VeL!8J@1*NuU;f^KKn;vurR<_mPX-Kp|xX0-W$*YJ|76SLK6M3fZe|@@Mhg- z^mjN0P*hz284QoVBMvv!Q%>4DANP9`9v>cWdLTRLW5?UWKL4|e}Xsd+R8w;9R4wK;gA4g%>(t7w@Mi_OpvFxfzOt2H@?;mKi zOSTx?2?TNNp?~Bp`{ZW%y@97o4fWGirQ`V3xd{@Qf~f0vO6s+NGeU-LPmrzxoRBPm z983$8KkyST!$`V)&h^w8ZaJ@IF0rL5xBW5lZT}PCTeq&r+0X#{&Y20LlFW|ldQXx@ zTrvO_Xr~L2#)5q3h$DaB1nz$o01^Kl)HTe?jkqUN(W@dwtMyc!N8elP)j*u>Cty8!~>u3m4p5~lm!@7N zU*m5D-gf(c)K;bwR=_)KnOFQ|hy8$ysXgH42+f}D|Fr{f=AkV8a;Yio7(88mtj4fw zhiiC9n|yyUeSVec2HDcFfLj#vf#UH+$?w?4#ryqL6~0RR)A`hDl`x630q_%`QkxiX z$G#U9^h<3aPzuvxolfw9TF!Xxk;3;TuTMZt1FG!V0SW=jDiIyF?6#D`YhjPrYU7vCr61oN8P2wz8AK9^wE4U!t#17m&OWTz3y#k5mb`_E>;{-GIC*sS?n72q&er%FqS>hPc6L;o#Z z6ku$DsYwjf4~cNc3=7ayf4+MU{%>s^!~T;*b2*Agbu+an zb9vJQ5hMU||NcFO`B#y*Fr$bk^{+pgdR5cF*#NTb%GBJD3>p3woH;+#HKki$s_g`dQ87t;f^S(qWzGn`KzrZD^We_Vp1BC!B zB^Go0&m!ReSm1F_0GMD{>E+1dvDD7Y@oz~ZgZ(>%9x=$rC~qx$O4iJGfNEm>JIUxj zIm8kPGZCg7?g(gTIL|47bkLv0K>k&j-pCXP>n1wub=)^nH z`2jA6+l45s@sj;*$Na zNXgGySN!T?D56wvOJ@g)YM8A#P_nr3Vu`?NDZz4eaas?M^gu- zW$Vqc2lWu(fr*ZBtST!|(1XyC0}7)CS>l^(_ulQ1utu6ZIUXg02t9Um# zFgesvYFX$Rha-OR^6OOX@i_Phgf3n7yi5a@N6H$zQc8J2Gil zC!>VlFXP84Z(<1dipSFy5&!;3a`T`lL;-zz)foduqoAC0r@Q}LG&SUJjk@TBK|$RH zAS<6}vFkIwwqfXx&gnt*0Q6son5=!&he!CYkJP5fD?p41SqMz8*Kq{N>|fK}-K=o{ zRSP>-V9wAy*UxGCpG`*mOH5|ulw&_VlPSHcN2sNz*A4LT%Pp!|8)kvdEG&xF0ZI|o z7!p#yKG=hUr*cYrBKq@uc0xojrZ@Hb*Aw906Aw+(A#8MssgN3$vb{iU`S-QYpzK!! z@z$dSI@D#$HXTSbGR#?z{qJr2y;fFUdBlXQhChd(32=V^9ro_Ze_ant+iMit0Ksr9 zmoaj%F4_Et;{qXxLOI>Eqps3PiZ0UW5Y8L+;56Y^33S0vLK%GLh1L;s04k12WYPA^WOWA_X##tAU& ze=H9252U53b-)sQOlwk%5B5}AeD|jv#s1?k-8us`*CYfiU#>;hn7L%mjakcnAvIm_jMmoSBZ|$xj2WEV@av#lOEt{eui^0I~*;iPbuT zl^(}SWoCbGJc|71H3QXU4TE} zZ!kGQtD!9C0pxRgyY#Y{NT)3OYbm;?ILQb^3JD)#-6_?>3MO7mfl2?&m8LOF^PmuM&iMqX|V zoMN&ahOX$R5JZhc$H5+m`=8NtE6pE083De@3P(;Aq&y1#`@Qx>CRt(=LMPmsB6Cj` zKG2U4#eKVD-!o?^*um%1TgTjUUQ!Q`WVi$0;Gaps|6QkpH9|!!$vv)NLv4R%d_`5iSM_59eJdu|N7!2^Y0`%jc)q*!4U+(jRB_4 z%IJT7kNyWts>7wg7+b|M!C^%1?D9}N^?P1O>YvbJL*@~kxUSq%nMaC^WA@|5)+hxh zj_{NR+Lovq4#;ux|DboCfpb*#f&ggaflvq@nd5l)2`K){rF@DxW8RQqmr|6ChGq5$ z#JAO=E1=PR1j&SR`N4K?ik(9h2NoPV$t)xSEc#yc*%dX8D9F;U8ggKR3G5sLHGc|MYH7jLQaA2$a7=K-S# z8rg@wq2n%DL3s5D+M+P35+{Mmad}*pP>unxVV=U;ZN&S0J#V+pd-sd6sFb020LpYe zxSr9lH)r$r)GcWrF*5{jt{zb24)jz-EwU{zd<0k>ZQx@R@Mg~M0j)AAaX9yfUAEwL zE^bz&(={y*~T9G`1*+sLn6-&CO)hC|pq=#80U^tL{ zAJ3Wat;@^v4P^K zg&i*kks+_)-?b$o`c;S=ljg{Sg;*_E9@(Hd{1IgE`+O!IFyI%)AUdAEf%l;H&sgD4 zS_dWV>fBj7WinwNmWbi(#_ccujIjJAthgD~0MbCM@-=J^*Uv_U^Ft9+C;ig;T7J&H_TwGu- zzGgd~2`)S0^>V9#%`CIY9ahfPxI z?wH(lX6TAA>ldc(^=FuEKUiFFuG3qg;}vSjy8su!yyuJMt^uz7!Rt0XMzP~`H6KwcI)GFC`4}(@Lj?&zTlk@wv0L`kH=?{ zLm+qJW9-&2UJivs06G8t9M0Tn8I3_p zYa2{Bw@!y-W-IdinS|l=9n3fvjUipz1hy8M%*l13K?~>OdDI=mg^s;Ugwq=1)9u!` zXcGeY?BjFfonkLwMTf`)>-~+n;3z9L^EA9{P5C#+Yf4>b*2CKp6ac=@Av} z0WqtRGQyQWq_&@#=J*Z-@AU;Zu-e~N&bbo))p9e_vmVN4SpvuJrib>LOQ1)%R)d7$ zhOxk^crI2@(1qKmX)#CEPeCFuaYs)bS@!~#+ds?Ht^%6?i@3p~fZ8~ti7c0|*5}VM zMX^EGmCcsJ3I&M*llLA5v{zqA9TW={)hxn!4cL zxC$np!Ncw79eU6hg>Uhb)R9_TvtaO|>{kn4fpu{<=k@dV!VQaYRAsZqzTzb3MrNV3 zJMAaIR|Q`hH*S1Lgp!=#j+%&gFBJDzBnNU^x(Fu&?be~)k-^N3Y<ufP{{t1(Hpdpnzul-!w+b76~+50M&*C2{0c|77)jtMRVF)Jq%a-%Ij~Hz9SR(;!1}3xET}*OBo% zb38n}1W~JF-yG_2RuOrf1%O1qk2MlQ=r26-C-Y@xZ7N^f`cOSJ#@KzbLS zrACxi;Y8^gaK+Rg0YLlzpMi))pF|1p;S+@{04F`1kXhlG%m03yOm2AC2oa9*If~+E znrQR#7w)J|N)V5(TM?Hx%DEl}SG;WRK>lx?=SV{w3|CWuh=3;*3)qbCB{KeRYITK9 zc4O5x_X6TbPDVnc=bvBWy?**Gn)D0dr0NOfD7+y)~TSLN5bJtwNjf96Ukb1$KIx?5>- z^GRh0O)keo9}HsthG!I%nMWZy@5&?7#xsH(weY~STod$5 zmH+p>eXVyqCDkS~H2{a4q8NNQ1Tx2|6{?bKn0gSd|Fj zI;+eVAxBSY0-3Mfz4T{(udv4sg)GhoZ3a&R69cz72@}+JKHi7l)m(+hge!B%x=~j` z9Er8&)lb7|h*E_60MyVKy+Kw6?s^1!c&En(MEF&R8f3@35om^j=VXt10=R@)|Ezz$V@v3U=`K?Nn8r3k4R9tgy`i58 zCW_rdArx;w5-!U*c9*WvXDwC!vzX9(Ac87cF)SCEA0tZ^Lx2v)%jX~?_ePe4;DJeJ z&MoQsnsp!xK7Hl{=;7|$T<45EQpw>lI9%O8k!cV^|2t_2a~CxcM4p3C=E&qoLSp5h zSN!w)A@m){^+1hlxTZVTRjWpq6Iy|_@yGKZXHnFfqpS7V0#`!fJOBm5jh|=p``GpN z)jK%>I1>QH2QXUhy3@}K)^m>j&9W5GN{ZuF@pzngTV}R|5};=D@hb8zGfWu53GS`g z{K$5`^>UE>gh%}gTiy(OS5(MwXA}+^QFO6ddor z_eX0U@tMjK|6C8&2$-(T=!id%GT-Nt_92f|uY+-uAETOEp`V)(Y~%3^3) zY*v+GjBOjs{0iE6hri<@_%kZZHz)IrD42357TWd2SNI7nA`rmw%ZM+&A4naITKiFv9xPwCT_IaCW`%u_l6#tVM%@8|>l za-O3+sbrc{f0A?E+a^u=J}NO3p}&mIPOCW$dmCs#Lv&RE%t`@!{M;yil9DCV%(#ft z3e2j&()R|s%~SBixc+%5fh7%?H)UBjl0*)0n7oNO_|SV>O5ri-Yf)xsga?DLXmO zLHW08W{jsCE#%6hugV?Pdf>;Xe@6tUt(51Y$IgrbmXJBaFj3<~M<|lLGnJp=|Cg!6 z<(a}#o_!eYMO$+oj2%xPlJc>Fpk+pM4n7naTx`!;f!mF9P{YsaJA&TRQ1*AKIhdbgeBlr|tyCGngP5@)=I0wno zzs~~?3AEKzhllFrGK6fpY3{8cwGY*A96ThhW++7uK+NR}6lll#Qs18D)*sKK?ohX{ zhwCNBLTWxNTB7r`s?MLE0~d*)50wcnLxXnn62*L9Zn8hyvlGqZK!a&5aMl4;)-upCGNpBH+t4Ok$r z!#L6bSCVG#d(T%?X#Bx40!S@U2<960oqMc$u!#1g+W*X7FF8g5L9+A3k#PG8~}-0EVqzK)Ctmw#^!{q%B8J z5&QaVO~~_Tf2&J>Whw?R!ckpMK#!#XGB!X=e6oJliGJb|LwoxIa$Pi!vloFGbW4B2 zPCh0TyPtMF2ZS|SqySUcC-~yvNc6cl59l2g!O`z}&35uyXpq?nr0=Vr@TvnKf6{cN zpk`6`!>MiZ2eS1l^g%z~d${Y{A*IgC1f)|b%ww92tqE9%e?Er+TB;eu=wiy(4a~C^ zJ6qb4%E49b<8#n5li_u3fj}D&=THJ4Z_y(`VhHm)N6@cOOXC2H^SWh zmI$tKUJe!EC%z`%vjZJ78%D+Ym=6qKp{Y?8ww+g$ z%SY3L>#k06HJ>m0eWduVdYMC?;mLqR2!+0d$n-mz*8xxkmb*!$(tVA!0AK)D;&-wA z>((g@Ri%40cTsNj1*s5r=+VPk-UunGbg&2W6#e9X*=jzF%OVm5cq8a?v;e} z>GKD}OQ3|a&jUO1_`n5^q7Ze4;52plu58>TzX>9ceHhiN+iH(u&@Vpm4dQs#^P%jm zO%082-F7@&+XZlwuS4nQ8$h=wwW9%?*?^ z?D*>c{mN97{iM!xl+!m~4ZIkREo$Y2DYzXg@Gmko7Uf>I-LW_kg*{v;uZ&-VkI171&^avMW?sKLZ4IudYouXB3_tHEufy@>-Y&;9!0P67=5pYqMkKDp}l^%dJ9HVcYT(+fY$~^ zW(UF*#cISd<>OSxX!0J=v&Hek!9Nrw7%*!*>K34g_V@P!?svpbbixv;dtx4OvbsCC z7QdVZe^#sv?Uwc8>Gi`cj9#R#G zmtulpV*Z256WamY5kE+ zU^H^aF5tt^L4KM$m8qnwUt&1>k(y%k;jSvNC!G&lI0-2!@M(NWGl-6V-wR{LLijDA z>b2JFV<(HP_OB=F^Su;(2cOK#xr}TeU`{iDbUnDjf^o>l^Qb!mM6jyShYQGjd#aG} zNWpvpW-yApn^Be$g(G3^!UTjY0_h|so>z*m)$lkwH^*bO0OX*@ei|sL){pNN^}n!X z3tZ85N=`s0vRA#63ECCY_g(hxLP4cA=A<_t-RZUiYt0;g*bET1dT<$Ph%ve3cy9H_ zjowZq^IQo(`$I@D5j|T4kZh_{H@d`l61krrd7u80b-K#tLM(ns7BUv(OnLZhoMIGl zFI&;IuFa_-1{(lzSAPIsn&fE|cB;mH0 zg0T`q=qWE-iJvW^pSC6N&*Y8aoj}9-wxYpE{MYFZb4eb#iscW%m&pgSG+z31yx%e2yUm7Jg&5+q<}O9`o!k@|8QTmY0X4M^K_UYz{#A(vK=J!2$T$z*Tu+j4d zuq)%jEi4FAJp;yzDn+^$d)gjAYO$aM**G|^I{Gtz`I?Pmv<3{3m=(}~0FB#-CpiLQ z&hLPgR$#OfN8_WLNt0j;FY9CL^9ZBx``$;vMX=|*qmq49;*~@8mj(|QjzUrAfnkT% zx*pASm$~i)vq-Buw5RVv6%S6eHc`HGM`tS1q zV(Qyq;HL3-_K?5};{jea$K~_hiUGt_w`k5SmVls_3e3=~A@)}2F@8Lcx@T-2#Y)MD z>nImmxh;0!q#yTXjD-8L$u|2rAe(SU&QmkbuBwEuJ|FqaL{Zi6fv(9^R({xt4d8hp z(|>R?FhHO_rY5Yb3k|9fVAMVXSj{UwYs46d-q4-QYN$egK zX4xreK1e8tD;^X@Gd)nd`uLgXec0#Iw&O*#^xmK=b0*Fc@^Ssf08H7PPFK%7A^f40 z-D6`L72K^pV?KGf+hJQem&-nt4H@ihb%vbw_?a*Pn9_9HxQ~TSp-D9q`ua>97bwpC z{eA$ZG&~$?{|=xG_9{8|t=U~k?K5E_sQY$K4l{W@33zu(^rpr=L$98<^PfEn9$Z>q zJ2cRLm=vfKB9a0X{rQpio)w1>3f<^NUb$m?rO#L-B*dFC`Yu>Fp;4MJTs>Bq-~pdD za9&y;)qDU4-Yd<^^qevra=UK&_Ru-(@lu-vvtC#jQc{&ddliFxK1kd)Yjt^iNuqs! z8=1B$`ZP#F&kNAao=>Ms8M8kzV!oY^hQ3N62qMmr79pzb;eU@Y$9MBputkIA=Ur*= zYB^0n>3o$mAT&sz=t(qb%4wSjK2gUDS zFKgx7rHg8(cpe!)Q&+QKzkQJu9c(dFBTj&|b|9X?^n0*G{|H195RQvB?=g2Jv^Hf( ztpA>YF=-%A1${R^MNd?cnMXgHwda8fd^k8?_K^y} z;=u_ibkzB<;fMh(pUdR?+oS*u=qGc!ZGHz%Q!T#Q81pLwS%Gt2w&Ch9x*ds^3Ogy! z%S&|e2?RouxQtq}uP~E&mBU`MLTCbH zdj|AAMElZM_R&i#^w;syccm;gdT&{xYi474#={~0d%Oq$Nr{Q;1WM{1Kz~6E524Gy zy?VExR<WYRPr(^`aSzY4hDOoC~Y+;P^#i~ zn8@j+d;S$b@&ONP%H8e+V@0WyQV zzHpmYh2BGeqwd;C!;4_|ZYpLTm`#pdlCmk zi*&`38)SSw1s*78nJ;qRct`*orQ zFmgs59O14aCN3!Q@mS4xtYH^qC9-G_~l%9#5}fUEXKx5@>1GOLi`{!5Q3aEJr$vUJ`O%vD-e&9zi z+Wg3^4tK2}ceOWTz%s6!G=d^E&+*SwpdxAD9RT{pMVCV%Rp*#ek`5BX|B%HnzySl2 zNzzw1xGyBiCw5{S@f#G||Go}zz?tk^HHpB3t4-S=82|{^J^#R@U^sQZaP6J~DsskF zbxFO{74Zz5S3jOd-ceKscOqO)XPbA0c=yDT3_ou!fCJvE3ni1ee^W@XFB#!pXJv5R z|9BpLKlb91AX|7D*Vv?Su-01g;y=FwyLTv6CE|@2jo3tQw6x$u0{W33&qMEz7$n96 zu{&KE0tax*c<^cbnY6&Q7tX5%!MF}nXxvvODGyJ)?XwGEaDp3{Gy z_e8wT3bKqiL5)zyut9w{)Xs;`_X6TIw_+YnwyGz?n^ftxKuHhgbGk4RY9{)2eFVjg z&rZR@bGvPh*5|2#0a8@tN>7&f;K1>6A2l=~Jb-fZ@%`}odYFB68rCjC&ZILr;^ACi zpEnJFq*YS8+f_r)+78J&D?XHT`cPD71?wew?oM2G}>gI|dZK#_WzG|dW|n=G-&1X46!0=(Ma zbh^vv4bX=cfa0}OjOE=a0Wbp}dIhpmO^X1A=BmU@c15>@_(20r?>k)65pg1I1_S@l zYs^06%wR$P=Ia$-+0I2gv4vh-8rigi)!=dy{4?MqKL>Mf&V??P0{9A)A-v9-IV}5A zh#});sL?d4U0m0;0b*_;t)EjjG=PEgMk2QDE}xf%V;QjJ_*`_z{UEsKu3NfjC3~HA z0^cu8@>#U2s3)qoO3j?i$r3k9s~pbYlVug_OAY27{Iko{b_U!X{TW2}P?rjMsN4LE zidin4cQKht$5=L0dHCr5l0E+k@6-kA zHM1Ukld;d-|1~S}<|tLtBmLo8)g2>9Yx8(nyM7%nm#r82^Od);!u9KGAM2OX{I?0n z05JO0=g?pbDxN}^(i+A2wOhWCb|7>#`4$m4h$cH0NcJMTaQt&KC^spcK$yM*t;V2I zroB1K%;y5T6$ex53$82`5W$cuE1V^`_I-qc!yWCF(l}MDIhSh&f|vmIMcQXGtD^8{ z4W`gkLoOdcc~?q3-bxSa{8!2SJu6^s2cn4{@B~5~EaifAu#bmd_qEVspd2U2MRcy9 z&Uz`E)+7Gj3^cBQ7Knohydpp~u!FlvR6HTV&-)sBx9k!*B%P9&x>PlDLc;Ob%AQsIZDL)DyiCNE6^;{V`zx!|g$mwC*f(M^U2E;$L)vrMT+Y`2x^sYU36f8KkycC`FHwmWI z8Iu8C1X`a?#TQNHho_eU$iG1uxD|TC*|85>Uqa|WvDdQyZcakJcina<{oDIVKF7i- zG@{$}^3kjz!1mo!GrB5QK`cfyyQ6M2 zr)_5>mWmk#~D1$Tef3ylqM76WiRqxDVrl! z;zQ6PdVx$LI_+zwQqOV!iOP8}J+{Z;9FJGkVP?Prw(84#=KBaMz`w$#c^5BML&4m^ z=t83XOv(UYZAr#JT=reCH>@rZP(!ZdGn=8Sy~!55xBDa53AKXj2su519+5N?l*Bk^fc-ezv&)wDQ4~LsoMQ zJ?5SMstCOYV3OG$1{T?HB7W|;W+voYHiXtJP#tkEa zJV@U}Aa}Y6AR+`}um5=raW^7{-om~DJ~&i6TKRF+x9Pbz;4#p8NDt(yyDpRuqISQb z2I)ni@}Fpd-)VGHp`8PIp8I&5%(dFV<>E6jf8w@{IaIes>88lT#0-*5@^O7#y}l2o zaTlwFq^2YXt?cL!*tOm^B7CFog&Cf5b|J&^5}KvM+U6R?+m-zq#rJ~qtcYzvZTc*o z{MA-$s<8hi8b*7HWo$v8&<~?Mvzz1_089OJ_JEVQQg@Mx2_?m00!d zYtg(9rdrNQ1W2te3%;pmo9~(9GXApHX}aig?xZo+dYX2NOWFfA{uz>gwmTnixwB9~ zO63+s*r7H7;(z{kFhT#K2T}2p#&a4bgESNAqRe&skFB?dcI`-Ux<;gQg}W?KUQ1{a zeJ#uf)t8tZ(x|#8?k=p4B$S3{apY_JrDvf5{K|E}(h`W-osA)h`X-P6JH41q3Ts}| zoomAxT6jfC>&pL?(WAlF0Usp{!LguhOb~veiIBqbd{c4bh_Gzz=Z^;Bw?fY&M4m-O4=sM-oenU zJ?Y1I@#W}Lf}sD$hC1BgidmZMWr&{wJ31A(bxic_wi6&@7Eb%Cdd zliCT-b^85n9+!mK5{lft~V7(cpv zmr~PjqzWiyxwp#=i70M@?lGPLl>7z3|9O9I6-R*3F9`}Ge_ph;BMtXCvHy-L49fCC zz)(lVLcm4OqIJxip2x)dsETroqXr!iNV1_%XA(8UDSjriKeL*vCGR0|5z-NueIjfC zTE{Qa!uL34VCFjMTsau%Md#uhiV>^-!7agnt8%L+Y(7pp>7`;GT5ffwf>+J^`Fq~8 zKR1zU&PW~5nUf!Ky#a-@^RM(96r^q^j!f(BB$t%M4$uVsxD-Wmee@;oaGeyqQAwc) zu;rx(@^4Uz!JjZk>-+RL4z#=(6*yQtr~P|S9#NNa3iE)z3VA(@ewUJfwfHkA8eW)& z2u~^m{W|Ml&k5@6&yT#L^(BdEu&_)(Z>M%H_|f;A2K_u2ftYg}kB{)$3KM=(YH2fb z|FFa7{st<0zj6*3bAtjzPV^pQ%-HEm7WQSoLz=M~G$F$YFe(xbZJJ~L-K_iUn`}f?fmJOQv{&&!|fQ;LUK?ozm2lNpsxvT;hz)2~6n9Yws90l_Ycc?iP6J>oA>{`X1|B~gc# zo#*SP7#cR!jk|TXzW^?vKT_vb0GMs9GOaB%xy+K!9r`^e-45DK`iyb$;R=W|DUd)$ z_&d`pDKAVJpY4+y$eS;@?AFBV3jg&h!D=U8CxS9O;BB0FjaYBx3qA7lD;bSC>C7Y4 zk`6pbG5maqeb55<7Cj=4Y`GK|p+=+MwLT)2B9P z_6+MZaKrvAQX-&z0a67zU+)J%7^VRJ3YS`;`H$}h?2H)0CP-_*7?%;e%!1zLhQKQM z`#XT0QJn-fc^vE$t&F~oxi*2RuMRt0JyN7-TRml5Jq9M~Y+(3{PLH2}EvXCzS2$IL-e zjVL&T7wDq8nSD`M=&O@d(I_m8s-BV)MTwB z6$6lj7KdLoV7p+3D8)2=pa?LF5iKSTP}qM={2Dna3_5% zs;=LD8(&1Jc|&G-xG5V*)q_!`fdd!r&zEF0Q1NsyYSnoIs?uJ-f*kMb)crn#I-tML z>;if*3$xCXPv#~6Vn2L`+X_#bW9TA}&4z|FXp%r#M|%&(I}3pWKi3+NmR(yWK@Y<* z1Obtc*n~3Fy|kd)y*!T4pqftVXtIQugzL*o5_=V26W=E;&a+wKlow`e>ITgk4+UUQNoy!8LMu=kX&yHY< zfSj)pAh5iuje!25U7WFiwN6{SDCMQzOUMpAp0E4bmAHa5x*JF-eYql8IAvj@KGTn{ zFr;Aj8L3IcfzsfBuGIb?V_HVOh|w7;{m4wnde>gLM$6W-R@ zLBQLM|2+;t-bZ=JW=0yK`N3gqJ9zMK_V{~NTB4i4R47_zKWHx?n^^MV^r3EqGUOd9 zAIwQtV?71Y-)S7dBZ{w{Q(V!{lEry$pt~F-SNtqku9ty+bg8_GR__f3!qlg2ICMJ# zRb=o1p1TM7BJ6yPN?z88Tu-y1fWW6qhHGP6-w5!3v+^jBeWJmp(>Uda1DoWt(FadO zIj8{xc8@;;Jm4`@C_-V-0v1Bb#a?n6P};SuEPN5_#n1Vp7e8+=o`-!eHys2(ax z%er7md0?aHpau7=pu7i#m^{p?>EcNcsL07GQ&Itio8LEsq=90X3bLl)*QFFrFcSlq zdp|$&UR=Iin&4r5spY7Y0v8$qXb7CYk7EJ9C)l{#fU*nSqhvZ-@i?lo|DNRcmRR{L zn8vE>_c;qYJeU;FrF`zJua!bO7;>3_Op&(;c0z&Bh|%G5bN&p9-;x=hE3#yE9>tUdz9gk}#lKmv&-}#5G}GwDOPm&$I@`9o@jw}mBlQd+KP%-y z`=xkXX3sNwkwr1CWWiMX_n-s|3Qpm-GGA$s@rp*UNB}U*=b&JBJ|_BpkfFsUX%#G| z5{y6rqxyHHgrVO-MlBT^4K*75jPAAx@+6Z4(;Ed2!Q_60h)l_=sfI-M`YvAWbJ3ARFBC+QoCe>vE76Y zB5#_#T+Dt3#SpWpzS-08Kr?OtFX_M*|AMQWHZUo#PwS(00f|X2yvp?UeV_^sqO1Ak z;>~JGkotNF?UMRcz8G9=ww(U#lKy2FU`c-#mRF2)*H6icJ;$q}+7N>MJ!>Y%{}|+9Hx;uzoVFPzJe+XMViR zlb~(hp*^vjnyt=D#v2|3HQ<@fyS_Lxh;CrmB!$j-`G8F(67<5>0^H|sl^<5WyPxBTn$0{ezacm$hmlKf)BX%|hG^RF7P8bF!A znG1BZN6=*fe*AuTfj57?q-WofuNA_(luLi3*(|sdMCj9QP!A=#RfmBah0u22wb8Gj1j6h!>qzVsgl2bdJ2JN;@OJ)9 z9iVw0X=Dymz66w4DaT;85`KLKrPr)<>b8phd9=BcDvT<637Cift1)H}@hm)8=3yC~K%^2a;dVaJO2=9pU(CCoSy`{pVBkvW>S|Ic&>$^k9RKFuE|wYb z1$S0 z*9MXW!alf-FH11uS~~6V{_T01W2QRy8)6falPkme4pRL+0T72GVQxl zXU9rlPm>-0O=`%20T$}CY#vt}SsV zWKpUCz}>jZ&LIWIQukJIu;!l?v)_9%+@eRTq&>0i%y^n>hw_n^Y1r4GG$AJDAaT3K z*7=YRfzf8Z_MG*f03tw{G_9!V7_2)k$(_w=W&OM~{~MJ4VdXPO9UU!Tcc3EJZDfxh zZz<^ZTcGgJg4$lTB#y&Clff+97bf;+smCd|pPeM`@{+5~{p`~YB0Nv$??K4~aKQz$ zNqjj1*F@8B@IX`lb5H><9J?INk!zZiGERFL8fi{U&yD+MP;!JL`*J6v2R#bF7pt~h z|JD9mr0sMrz1-8OorvVtKikZU>-{q*88DnkXqRU5PJ!lHIiLb~n12rn&6K_-RNRSA zk=V)GY2U~5^Kf~ul-8T%jU&(+1Q#?@iLZqn*ni8N_{nX-l~PwE*D{k0v~PXpb)Wqi zl)c;w zsB5=2mfT>*Z{$m%=RGK>dB_?%=dNH^d7*25Wk9;@v+e|rJAo;2!kF!S5^+YPt&$A< z$5*?GdBVl=NR-wy+Su&Xy@@@~pQT24=A=Ihjx1#mV^0jy(5R~Ck2?Z;`8gurV_V$3 z^h63(F=>xYMYWVEN)Ukgjwb2m=BJ`%;Sr_?WfGO@!4(1i{Lc+Y7O>O zuaYQ#R8dhN2q%s&^G!JSr4x6>;d(eNb^fe5RSX8_A-Dj6v+D{-cpleAc*zhSKHV08 zH+k2A_1+7K)`Z=B30PiYi<9w;ukaY4*K}2dMLf4Dq6G#mWtc4B{`XP)MS)&Sm+@Tp zK#Vm-XI5Ir8+`@j#{Zt;KuOJv#?)1CY{w>CZk-*C&bs~zWZxAejx8XzH64d(R<|T) zu>nD&=QsKuFN2eI=15+O zSr|CKUtUV3VY0M~GIFJ#Kr;--#Yq`%+?UT4fVF|H zdT4^%(IlC38?qrI;vLW#{)VUCKMJ5~8Y!Z?52uKx@GS!&y6>fT_KnTr+0)KomC(aQ z5nYCtj_}XYi_6Ri*#jtV)6ra!yLl6H?m4bMTR_?`$ca-ss2Qu`4vNG^qyG!b@8Jl5 z9`D||hQ474_ru%g&MyHDbMvj>y4x&!Rdy!>5!3IJ@76mf=nd%H9r{!0S!U zwbKz?x1N)OgY7$lg4KILw6X8Sw^czLu#9;5K7TJ2Kg6caH^%lXN|kvSTSud{UzOQh z26&ZZSf$HDpd23Dx|H$X^y0FZa7XJfsOk15yUn(iUAw37Dio3cajz`O&gdBk#+#)9 zTKFBP%e`I**{y<`Dy0vuYu8;ur_E~t{fztInl~E4Tn&apRe#e;q)b3L==Zpr zC6}jXE*l6O6mVGEqu{#wJfXgSX`3?c`GyCnJ%m2kC>UMggR$4&MUo8JYG1hrXgi2k zVYX1tRK<@T2MUZf(qqG}2fUC23p3-RPAc{N_!@T-f(wYSKvA@{1Wq~Q!HtU}%ub%u z^8IZ9%Zdg`dY=9M0onxSq+Zb9{E(f^6uA2(3U#8gpfwtTvp_=ScOc}ELtC_a(-AVD zz^o+_PBXiICEJJlfr_JI)E1DlU~ih_sDev_cGvfMFEdrhwd)F|QDFfdiJNT3`QI7? z1rYIP9lR`|b>%O06fPN!{7n|ip|L7w| zuEJFZ5Fkm*^A+TD&xu5W=E9ecv9ryQ;cU|>DqyK5pp!`I&VNER=u`njMwGG>0la0n zdf9As!CoRb6+=O{gOIKjukt!C)JKta7cI;{_v|xnqIUw*=ZZ@e6v;tL49Ici@$kyN z;4#pwjIfrdi}7}HS51FhbFxqI@-y|KkUIzY{FOsu3C$miao{ijDR3X?EpUsz_Y{ct z@P(>QOR#2^k;?k|A;!A*cyJVL-@c*IRW;`qajq7pT{rms%_j!YVkOzF6f zx@8{9&M0C7Q5sro{&FAfwzsP^*|>ThV}Uw{GYs?di+(KyOB8ak4QzJo*jt_P#mRQM zzZk8DIdG9is{QF&Y+W)b7)W2d_s{!kjWTMw=$Z3C%5XKUl=jb7ooT zsW=?d=kfUy-s~R9N&>8UWhs*Rs@gl=`(O@uObGHM4$81hm|jCCY>+_x6HwNkrMH80 z5keyH6^*(eV+$z1zu`^SNsXh%w9lkOcIEJLdW`=mrvWVJNScBb@v9<030J*gR@|(fMOTDN~M4I(hfCsy_ix= z_F+09Ts9x|8~RLhenusATYsV^ldr%r!;&KI!m-HLu>#b@Mp)_YGG8ad&S|Q3qLmh3 zs#jm*z68~c#RaD^Ny!8+1y3cV<&DtzcP~xN0>$wu2aXjF)_q7wrbyMks`$^IVr1sR(a zNg`kdo-(p`%m#!*er+Aro}1M-lBxG?BhD2XJq<5Czn_7(8Sem(?Mo1VKns7q^_R4K zpDWlsF09tfkRzV>Wg=#37|1011f6{i{EbW^!HtWyJ$Vs&1wnzfqyLtPf?8C{AXrN^ zQo}Cg|ak1=9#nSi4|W85|QZL(`w> z=hwHf6U&Qx1=JJJtlgyexDe7S`TY64{N)-pO_3*^(8M_9&2)h-n&#`}5$l7F^UU~J(ub*gUY{C4ltJ-Zd@!5@o=9lh zZ#-PnK9&G}cbnWSy4gAk%ekH`wT;8>@!T2D=RiuwQc&T;&XXrn?A1oGo(3TH=Xn5K z)vQQRayCmst1|$QWh{dg$>-TkLgO6t(mK(c6;LENn%N_sM`3(^@1HR~hWTZp=*2x6IH!>2WK%#l(l3%M%Ch3gxnhEsk4e%d#2F$0ezrajj zqvWeEK*u4t1qap5nlaG--X-EBUv{al_4?XjnA1t~NW9cqet#7bycs>;y4;q^sKDi| zUgvWEPiO&>Ts`F#a*535z~DfQWkbt<0Wo3tpS&X?&>~(S9?iI1D>rs7)-;`-8SU3k z%8=lpT!v<34+hN@r>@l@>-!p)f5U&8mqS4Ek8^@H;(Qx#36TB1`uqfO@5p#!orG6N zN;2bxjueL;pY?^WH)sk5ers0ahes0+s%mO>XlML+LwvH;*d)UoF>Vy7E>FY=R%Y;# zpT$};0d-Ij|Kt}Vbn3-p7;@iwS?@IH#7EXRoKUnT38y5xPm%JLY!xeNs zWol5_GdE69WqV~ZAn5^{+MSDKHO%P>_?jidFH|P#Kwkd-Nyce9+qJfW5uZ>TD5d^+$)3Kpob;VZvwvHPuxb5(e0C5^y4`KSIlVXWD%6{}v|}?zrMdv&POi*sC*>uE<0BOox76 z_K=V$6^k7d+&M>t8j_POuZ-yDBd&K2^`)Bue_KIVPHK^}U$vW`k7Si?1K+C64VEM~ zEHQH?HX<^*Y+M~^0*v{-gYD2 z#nXQ~rvbMQ3DV>@(~U6*N8?|TnR`xxmH4IJ=Dl2_5+7?& zYh9ygm+wlF~OnV;pW=M^uz zC`Pj(UMiMFmY{O~oS*jz65P_G!5UYCJL_Juc-?w+pF{TZP0*`PUu*iP(^tKB(s-kL zJAJyQ{y&Q*O3vWZaZ5mCxQ}>p%$kt*p5N%tq5&0ZaNz6DATc{@k`!9Fod9>~@1p6{ z6F7@imd4O%0_Me)19B+8V%{0Lj%e&bqc4+36PjLr3eseMzWM*r^(9NLDm}Mv^ank7 z2&M;PW55AScF>x>Hvv5Tm8o)-%jdg;Gul2yHcF*ZT3QQQ!S1V=Qm%H|;%WwQmWNtD zck10Zo!eI81hu#ZU(qPkoD8hq1EKE~@;P`>q-Hj{#~zTW8Bv*={o;fAGERZa#Tt>4 zzKUxlgo-+eg2k%mW2tK2neDjTAj6wHR%;REGbf(1G~Br3 z{&fB^ze=)OS-g7W9EHH-UR)UOmi+w~Gi4`KwKOXOHm>v8)9)(x(YESHS$e2wo-Z=* z=&wLk;Dz~f^?rwJ$?@4^&tVQ^%Mou*eulW(^O5kqFx8RDN+B|G!oV;!SSaNto&LU# zDomM%b`c?V9U=IKcP7;)HY3s>jY!=ux;iyVjb`Ae4L-MCJJ7V~7XMF(h=y+2Am zc5XW)@MT=bX?B}4FlLJ+zYxM{3&Y(kevh9I3W0|zR*k$5jTE`j%q?j?4@JgVVRUU}I**Mn7S#aj(=l&SYHM5sW0aotS;f64GH7L_5 zpRf4-l2<5;;9j<@259y{uoi`Hn;B?0G!~7_1j4tW1+2Ul50&&kYdDi0v~0LpgfN!* z=mPnA9d<44cjLrz=U!-6_^+LMXE^Fx9Pw{Cd26AC5@Q}~m&+?8MQV_j&0bHGZ_jtF z^ObfN(1w?zF{m_eQL{a7@naDW#z=Mah}PCc@PeD>)idbO{@JQ(b$MhyNVKC8^q>Iz zR%YYBcGc?WnvYbVi}oQt5sOjyf%i;r{ciYzk7ZEVsVf=$tx3Jp6(9>wNB#Q~=9)(H z!#e@AZszj3=_fYF-tLsd7Q&NtT2d2t=Nw=H{Bjgu(ahJ3O&~ZwL;`m{Z&Y%LrwcTV zLzBa6pZ9y2$>Z8OJ~$%RX`7xmU9Z2ySAR!BXY)+kZlQx%=WT~0Tx+0C272|v{z&4|Hq{vMVfh_hJ9snqzf(G&p8WP z316dzKl&J&e|e&g^eQHee5f`7y;l>ei!YD<3bL>TcWnd6{sidXmCBpQ7HaYqQAkjV z(4~d-*ilW>NWyMMKrg|ken;*BFFZ;@i$&r)BWFN&NqU){XXV{GA$14c<9uTRDKSef zhby$V-QPUP(XGxvuRcpoR#2z8Q_Fk1Bi4SuV*&4i;ff#xtGPzk-@|jM?at_TA6Vm7 z2-y+}^tBytMYz>Pm;N=qqg=SGN0;K5mxjD?@4iB6HZu4|l4@H^Z4OW7tMIP_vU&YWMECH`D(v34KRGXmIo#U{Th2S&Sqp z07dfu>C!Uj9QM>(m&~(M6m(BFmZv`b&>xo;Uk{V$7{Diy5Aen7#UoSl(`Y(lL zK>XuaMRHU^7JC!qc4FZjQ{K3><|{0xK?_+wePb_I9~*TDZZv=9p9%#`by^ zUf$?soD)ZBIOK}a!8%0Ly(oCie2-Z&S3hoowQ)0G=f@NpfN8Dz`}Pk-j>qBF?j$>{ zKyL21+<^fUhVliNi7jaKb{jO|0D%kG1o;*e%M+UTfn0fL(_}w{>On{K32RuYPQ}fM_NQAac5i(J{GS-qX&&!nWB5 zRIjwba3dXExBHtaKX z-vN?e)5Lj*?8ZUyk6V8|QG|6EYxQ|iy{37>w)*OTHe2G)B4B2(2;c*rk?M1rpp^5^ z>#8n2u95CjKI zn#lTty|byj@8&F{se2rXKn7U=R82c*a5K^g9{rhRKnsn1>|SP{=EKWdI+sI*=jjINR$~T~*3+)Prb+5z>h(@+6nLsaOPGe; z9?%i^yPIKKAScu|O4c6PLwmS8_dI?2IM~e{k!xRsvkypIV?Cx1xsd>e=pXv?rLoEUSh}Od2;7=m;kf+(kBi+YiCPK_o zfIt!kvQN_|WPS0J!Zc)?ZJ>dHjpkjO>uZ{klID|iI*fO5ttEg$Cex|?Sp@*IjdtQd z&SRr)W|kYJnQ9NUeO^4zX;P5&R_Hh!6qUN#z*IzZh|bT`e(AhVGX_ni)WX;C-0P=D zRFW&_4{y7fQU&;7@w&O1$gqd)0(!*#->j@RL&>AFS3{ytK>xUbU<(bZ0^ifTpm>bf z0Fl-lHhENuBN&wR{MWB(LSyHBzMnjQb#Cj0;jLz9^Znc7}%+B z4FwGz@d2-{2 zyc=C(0I4Z@R>PD%YEC|Od9qEw z)T|t7g6N zisL9~KtSFUHCQht=|m=O}&_CC*gon5Q6@cA0s^lI~X~ z1Ki@@0u*qZGx)O7nkhzwU!YV!2ltYFJO}%JxJC>C5@?QIlVv6mJ%AjQYOStm3hWqb|GqtZ*(yd4xspYL4iUtU6EBq+-2sRMn=;9Y+W@Y0CyAvbb{R;XX36^>bXM>JIV0xqO43m`$7+WAIcFIBEH>jIB>1JEy~f> z^C)3k-GJT`7hsFVJl{Ucgiw?L9-F#cXJoN%W-oHR5O(X{BKN*1E3hg|K=)*&H|TH; ziE_Cfb}+^Fq9l}7xWSFj3~PBLXC=AZ)ZMTB9v^sX^d zqEpJB3ZO-WG9iXJ2mO}ii2=2`LE4_ha+*Qf0ye?Zi>FxWXXd%%2 z`|hj=w6sK6zERnA|J?VY2)Y%H1DBRwldm3S)=J>-J=(vE;vW>It)LU#whkNvNI`L+ z&p*N3KaW;>0&=6c?-zACzyIpkJRM)~}@~Zgj+p z(_IG^!8_yJoCY-FcDM6#v}bbh<+i$*s++a7+0XNTNC{4Rj2z-yAIg;&dIgaHm5YTW5zSn5EujSAQ3!?Sw&9 zaJ{2l5w8@nD-{a)xnBO&F1Dc7R07XLBWIV3hG5%%I$nz+EVq*_2Z@FIu@_&nEIdP4 z@Mlq^;z9;Rckd6%c_0n~p1TwF35|h$zh^-Rjpj^(!2euM;8Pwo zQGqTwskhwYfQq0NKMm)nC;mM?aS7v~9obayTcAFljHggo1<7^ggk{Owa} zy~sAkVmL%~=WFvI&-Q(Ij`(*`_&KVJdt8iUdg3n*=J9jd{5&cCQL1f)c?c2WIo6vI z1akPDO^>8=8I> zEp>&tFJn__9WOXZA`PEF3F3Z`g$_TvKl*zK@FNrMQ(qK-7$guhy#hya6m z&Ig{ujSuPzw@^VH=mr3x1xf5!h(!OMbikNTIzMR#lRO>op?7arc zGb;_h%95|3c<7oF3Ay->zeoMM7YZn4c20sM1OBkQxJpjNCq4%V!K;K8>q|FWslGhM zWQ1NS>GFy1Ac%j1kZl)x?H+)5<<2gWA3=TQv%!GC|0TC2i!u7)UOH8mf^xQv>s|UB zANJ1%Oiqu+^I2q%15Oz==!ODU#>YJ1u%Bg4c6ds%B=3NP*xH-4{(OzV`aZb~v_tvG zB2WmSq${}G=w3Yv0ME-hq_4)X@55NdMCP5Hv(}g6xDSoJd zb&g!*6E_Qt;K7DZ%1rmc5uKK*=B0xieo7`|zzB{3m!~U~9+qhHW8tjaWpDq%NdY4` zI^q~(xI=pZ39W$cQK+B7OZ@M803&!PwJI694^=)GsGvXtzsV1u{s1Tb=>m}+1?W^9 z7UCuchpwtqD06)LJzxZP){?K<2MRhf?x{D9M?Vuk?HtGciB5mCNNGkJRYq$vt~}!e z5>@Zc%!th9Y~D@Ux3r+Y#irbL0;RKbO9f3@D+)(PMncQqZ|0w4aRBg4L}ml92r%LbXw)$V z^@Z>6ysU&Ysq2jxS#C`fYn?*UOrQhfW8r~L8X>16nF*KC4QJD>o#D}oK&b>18o>3PuiV*$<>Rqsp~Z)HKJs7@y*5OqH8K!xuw zR0U+Lo1i+KX=qADV@l?{%PWWcbw2}hp>$r5z^AlWCX0aZEEWHJfC7;;b)iS}k;p+? z&Jfp&%PM@KZ-3*7%aUi(dJsZ@SmA~gU@=^j)=6fP9Y^ zFh@mdN&qKg*dc@NEYm>_e=~p3g>kXR8ACw3-E(4=I^+8N8UF4GPQl{f6p28(LQ@x; zo5hT-f&1z2sR9P*^?nh3=5ok`^>H7M*W9DeJ30t9_t|yGAQtcCnZfuCxu|mHy4LWY zhFjn?2H_>!md+KZ%>|%jQt&2Ye3BMp7zqiKX0@yUKtfSWLS8A2YG{D^92fD=x(`72 zc)!!t0ffmQnR{?5g8%#-{*MFsXGIeU{RXf>H6%R>{+$2_rr$=O5<%h{0bBnh63 z2vK+V)LzGcm{xZmX<^S44;+cm4bWjHYy8v$!7v2aVOc2n=bIBPQqS5FkaJz2_VV|; zz|cujlFfi(w4)$q>;Wmbsz%dSw1MFOA{KNhq?1GQ1?yyY;HLdPauSrzaPSF;4BUE0+7r&*`k#On*bNth4awsb z=v^sin)CB|F9qq_pAujax3ZXW?@^_X$8dHJAPI@A*&Z0Z#-UeBWgmh$R6shtXXZE! zo}T;XB0F6DNG!8?GKf3ISzN%)0r7l7{9a_J>r2t*pE@b0`|NzI6rE6CF86gqplJbZ zg7hO_?9CTIZdYk)$aa1?UG$%Mz#^?3lqKub3+t`Q0#B^ho0*qRJyg0i2?qkal? z-$0P|4v}w9cS5mbi`iB*umKT0pYS%~{`b<2qU*(O`7*m5SIvO| zm;qHn4a+UQ`vM5;9~_=SW!q`pko?RXl;W)8(eo1eUU-TuphFhYMO-=z?I{w9I+gz} ze5G3K5?91E*N-6l2DuXzx+|a4_*r-r$4g4#Dw`n=kkq&+&I*w4_n88p8q$Nr>`}b? z-jMY164D@T`*-1?-92C|Kg8lvA3+e>@;eX}_*{7U-#8sM0!VSSChB9853$MgciD4T z_$T2J=%QwIb*okATXHm(K2WIlw@gEclZ1J}3@!-2p#f!NCJq|xKg%MmGHo%j6lO$# zdfZ%i+;!Jq_&qyWk_sErizhj~^oy^1GnT8}_px{ihx-Z(O6H?|A)!O=JU~;>PLcAx z@DmUngU&}+CHf@mrrCvZDm<6$_Y1M2>WA)nCoG`?rAghew)sDy8AAQb?`8iGE-0;$ zDgj(&OE58)z1HxvL18b3oIyXV$ExBaRA06kc}FUpmMRB@x#)l%I+9+8f@a+Eg}V5T zj5ucjhRnf8=;n^N(9j~uI~~d%Y1|B*bPGkwr*2&+O=RI@RiE!$g#6bK+#=gkqIMUD z+?E@Vk%4R;OuIyJ1X>eD;=}?34MA63Y*HMFyGu)bMl8UZ$}Bo(@%|*LLWml)OLesY zq0`?R30PCB17ycy#;JkgHvwg$W0o!4XFU$V{zZVeF-vE_%V;*$ipp=c{GYy7U`;j7 zNa&4cIY;@z#<6@r7>EAM3jk|sqdl%pqeN)ej4TL~0b^4K{0o1^hXQLV!O2@(LY#N! zIe>En_tRm4M)r^2G5_2PbfZqUZ8A9C2%JY|n78obrUrSAe>WdUdfj9`Z203AWGAO` zZ_P6e4eN^nzM$NIh`q@AbhkmzPEG&TcBijQ$Y zcZ}^P6f|Fi>u|}Xt#*4m#{V;ZASFJjQH)ux2K5@&!Ow_)V4<}4@%Qk5tm{0X1NRDA z{%b^JjvBeHA5}2`ggoPK5L;G2K72t(o;pH}jgJ1azCfqpwmPZI{l)1;N;}^fjwa!T z`}i*M&vcr2E{kNP583EDd5b_;+UM zfy?K*Pz%O1p;rp$qc0)kpEIcjfKum{-c>uDMm3})5zqpJt=bQi5hI~`lbUkqp=DBa zAtQbG?}zAr>cAau)x-0KG7BtK;6>!Nlgq${W3b^T%+4q$z_jSba|H(t7;>?bKYaV4 z!>o6U;GA>WY;;Q^=)O`rBPV9}4$@Oy=>Bs06~`Sb?q}W&VCyb)X<8NV3e)_9^DB z!wS;p^~=}2hVp1i=-10xSqW`(4v+@p{NO1_S&pRHL z|B23$)M7fL(l!)24qSerm=5CU?V=g4sM2fGt*8M&$JAlLa9RB-PklMwgO#R9!%)FN zLpbj|vCQ!)0s6JFX(9166af64An{>o0 zKKuGYKCtW7Lyu!5DvzEunvMH{_x|4S(21I&GnCbDF70s*pin|y_zax1;pU)Xdr?7Y z-3L}h99$?U+I<`%@}GL-;}EzonA5PK8$M8HcKVX-M)4;P1#!yt@=6g|aVS#S8jxx@ z_RqWVdrFuX_U3s4xej|^H1Im-OKQC!Z(ma?1SLPFH%84b7Kjy$axLC~Y4&T;sDDVV zI_ISK34oauo!Q~XdRm`<;rk1&H3|pIM*6@2*h~n{ycCA#w*B7D3Uc#-Ftf5MJiyPb zewj;sAH?sXC7cTNK%Y5Npjtq%xwTky`W2zScWDIEjcI2%-x}@DadOL%A)Ee|{_;WW zfVd7s6O6lJ9F?x~;vMPn`!PXRefHFVWN}|WABzM<1Kr%QDL)?P-ucH{cUH#4tuf8E z$$`_$k7_gu)p?^y?yB5a+;$$#$uiy^6;#08#j8^(K$px>P7AnE00IA5m`Y6|FVjWo zbh0T%(R<%s_Ls{WIu)d{mGN57S*$*Eyx-2+UEhzz?|hspUu{ieT#zumBP+j9l(BOM zd~cDy=s5u-G)RA)^!$9&RA7{OhKnHiV*`pjgq~H_+_6F<+eI|icnU?5qU22c_fo!kj-`Kvk79X|v5mjrasztaf zqnzCl89zodcn4M&!6K7}hvHh!BdjR?O+^A%9I~8!5MAzL`_#9do(X%;&G%MaGg)GZ zn{*ye)e!;P@dfTfMedSvaVD9I4NZfoKsycz4V2G?eKVROEFX$Ek9=`bQ8Aa1-ntoo zN5T$yN+#rlEDL$U6)U5cFD2{mkqDT6AY=!G^AMY<9YzCK&E8b{yY$WI^3WGO-^)vV zf80{+(U9_!z~O%wO~HU>-QDSM5Me{qiAB#789%R*KSmRgOLE|y0wh+bHiSp3y-CU| zjrZEjR7{M>9ZHLI*%4}+wcQ2O+rcCA3#8Nh$hbnSzAvD+u@R`3<$b&HbFuj?P)W59 z=lh>Ou-1bN0?{z^S zMQ(7`l5bUUh92Cjc-a7Y@qWkF3!{`!V7Vbm7yugv5T8IZ8~o&NXKvF?o@X3`lI4&3 z`N899p5FiNDB(6tE-nUXH|#KKzAb@L`O}DhJq1bA>?C7=oUpkYeQ8*^TXyv0?@#>h zf%eq_sQnIoT1A_n9OKhp$Vp)XrkeXo#t6d82N>9Y^up-v)5eiWit<>Tu+>c&yVMIssD zus}TnKgwqM(d?=)B*|Jih(X4b<{4)E4CGEq zXAV*B424Ge@lk}2I4z%7`|nm2$edEOOd!s=J905MRJFeoNW2-%qbNh0pnEkwbBm6L z6FG|1)6cwFc%JB>$1~ii-R5+rmt}Ygl84P-+@zltT6#s%ukV=gG7rr0lApH}1qS_z(g7s(yH^~L7%A8pMC}C-&@dhE zbYVW2#g-e82m-x0r5PE8qgs1*sGW1=cOPnWJ4e@J0X1Y&rdCKLwE7+){Ql(Z(Q)pS zKml-)r+E;{A}01*IC8{^;w2zXS9>?fWEEH4 zy+N5&TtoAWanK{29+KO6&rkiH6Zu+^2g9hLaU(z&eUC!IV;%#{0U!}G? z!yC{7Ip6+ya{pQ&iA5+d_*2MzZ4hfc=&P@w3LXH1aASI1E+R!GO} zwZh+l;3W`j`Ewnv$y5xHb+vEaPA&0fG%0u7HXA=(iRvCm5B#Kt<(Hnr?>*?$Ta-pX zQB@m(nPeD+DuyFu%ajo&%zb`KjSUUSGgE`)~GDW*K#&}nJ zDn|d0U``Q0^sJJbgFIe?;R0NjzPdkg{}|0dL^)1b;u_?wYty#oV_xr&#OL&1Mni!x z0J`Wk?;{`_$+}0lL;SZOtM&nS`!EOTsAT5ph?3^o?JK(HP_;BMe%B0-(1>2C;c1=#&Uszmp~`ChG9SSOoWJSn|p#a*SG{m z<@4yxMP$ADH4|t<});vH%?9)3# za|n$9A_F?($BxCrYN_V~+D~4tufi*7^IEV}*E&7%OAK4d;0F56eR=|=gP*NFkh(oy ziB>-WYyLs2DC>YQe;<3xY^IWJcwtRFEH0fYR8FdA;JT;N5=b;$AwCwnfR+;Kp1H;W z5q_pgA%{RLE^8VKS_pi@2&v7xwD4=19oL7)H4}=UOKMRA03kAZ&pHZBlL9ufe?(>r z60|o^h1|$D5<{{w+d)6?c5yzL6V+qH6b)C&gkvn>P4o1W-xl31WYljr`4R#E;V$)l zOd`_X_^7PAW6V$+3oWs#(MB7HCLg8OG~=d>*5)`gapRkp4XD6Xe1G43?IzNL`rn|Q zBOV~{Or1sdEc$JcdA57F>zr!w!`&`1$>hP=0-f3Ck$O(^iHq|XyS!f6ydOOpYIZZD z-wE?|8NYUu^C>pJj>-KhZ_ye-pWQ{U-a=_lhs21S7f42(hgh6I{)n8P2m9Cj>17tD zJ^^V?nn7=Rv!+&ad#=R3n^TZZVWZj!fc}HYraRmQ`4srquW6!u3NN>9ZEgXR-A}hF z1Xh*j|NPob?1sg3LLE$ zuQq4leC8F;C*Id?Lh__6x(7G$h7En2hi=Fk=jZ5x(VFsUlUJpOcEkjD9?sFof|4M%S3tA+2gx~vH_G#Xl73lIM=$yxZAY+M|-CF2MR!?5ZB-)nQ{33e10&EF~(d>*S;lGmX9$ zl*wTiC||!81<-yHlqCkY5PK{bhF?Er_}Oh2)&iLYb!JGYD#$z^M;}~(C{X9GR-OkeRKlYJ z5G+ilHG-7*)9t)3$}pJ~2xd8rA+)Dn?t%X|?w%g<+s8i;jpV67y5Lse#dLJe+G==R z>|asK7$#kdk`Ij>X)0os6*{VS&cQEBA^1*-XbWieB!HmY%Z634?K$U{r4;GRm)Kx3 z+*EmW3T1RcOa9XS_~(P2-2pvn2t#;gD-2K@?ruykc*zW^^}eP@rNMMSf!&-h6%9M{ zk<7>b%__-NAlFDUQI8FM>Y{V{A7PtEMZ`MBWK$KeA+!LVU7($L3slOp4Q<<`LXboc zoEn;idhrML?>rr@>uu>J1p1}{7fJFly*;<_Yf;vN8@aczHCvxl(+R)#b-;12e+Ekd z4voiBK+4pgEw;@(=?3YWkNkL5o|2R23He&!oIv-$U9l4${8&oZ6jL)dk_4od1n$sn zig?-wJP-vI|FcJ^51~(v0R*_zL$aYgvUncEcS`{+Ek;s_`v@}Hw=!aGR)@aJOJdjU z052sY4bt4_*@2WEz{LCgN4_jY9GPOc0kv`t!puZsX&0>6W7e-lfr3PAi#n)j<_^?# zPI=n`)&JX~TuFjISX6vA+2CZus+z8H*%328QFs-j>N_KhGpG6^{ zA3t6W#oP)&|8RqY!BE_1%@#BXu;3DNTlCO#obP}GgXK??%YQ6N5=GFh9d5F`=;@Rp zTPd4+bJ+Lsx%6d`a*7@2Cy-LM49)j1KMZkSixQD^kXDZ%M;6f%PXzB_&aR^LwJ7!d znzrkTlyGg;kw^MihcD0T;&puVqQ4H7BGz0O*}!a4b{1tmkNK}pIb+QoJ=ik_d3m!E zQ(m}M+;eMw7A40xb5@)@0W4B29r6c@E6(Tf0fmM2aKQoenn0E)n6eQw8MWDCm3K?A zi#|R9kR%<`t3CR%%X@M6%>R5ZN?{mK;@+ByZ%Q=f2M;*M$-nKLMV2%hZ{wv3+>UgJ z^F(&vo`2$NQS9S7pY#Wym?}0XV`re4i~194!0{1#?k@Yl(+`4!P!p?G5@FiCJLbny zNKB3A2DO3a^2iZDn9rz-y`Qj`PXR@Mn7IV1d8+$sNca(clC2L`S`_3Y+KMPtuQycg zih>RB6tvj>XHkIG8lNbNDChAQWtU#R;PL4ht9~zv54foV;ej4DhgU$hmRxlb`Fs1g zXh;vXR<3Q#`kTw*jAk5u&c{DUGy^Sh%txRyq{(&Uc6!J?(^oG`2~|!+jtKV?S(GjD+-z~3k#>q8Q_f+6M$;chE8H~l;0;9*pz@qThY0JPZy%5nKzaX5 zbj0*6(2sT0wFdzP=&dRASJm?s#dIq(ghB`{!*^jYyGIjAG5J;#>L_YnHiqnyGjUE$ z(cLH@riUp#&F$;>L$s<4ulv=` zvv#@FF<1P(Wb`XG4&CYKCCOTFAc*NZto$7Dt|lhljYlL4EW#xq42;zg@2uKe%8sxu zv+kj7W;>a{D)$Tpw&B-n`fL9LZ_pi0)FR0|U8Cf5zKt0`e7--RghY;?-Ul zVC^e*qTuhfxO2+Q5CW(&10yn)w?JE&>@ots1|lz*?l@u3C|Y0zQM6RN3Rt9f|2R+v z?e(AqUIDJR$Uxw7^R?$Bzig;3GNr_}=&HFbLZ3lZ}?RQg%zs-nWHg-r+A z)N#Ftn!po~=N0|E5OeMW_LhUr-)5r$OqDT^Lwzpe??O;^ogT@>0?sUbwh$;-hRjD* zo+>@L4D?*fr_z5AK|s}*yjQqhK2b!gOdjFkg(kL}8{v&Dg1wb}w}%ZsG+H+}>c!}< z9zzD8W3Y#u-=kEfDz!w=5X*7~(5kh=HpLDj{vG9km($`>+Tt-2>0+~;a|5!Jf3~aO z)oP-SZoEotoU=V+7ZUfk4yV`PyF$})qy&vuWjt}3j6aX;^FuH1qur20lh0fNR3eMT zC6Rw84o~yn=W@2Z(4GXj(}spWE#Y-g1O4fczvr?p4`3bk`1K4b*nsU6l&RpKchK)# zTn>6w3Ol}6u&Fpern3h?06s<$f!{|E`nbsYssuM+U{BlSIn;d=)hsG=E=nr|zt|Cj z2+Tnq&v)GSDD2E<^`mX|ECoc2SqLz3UdfFPFV;0iB-eOK!H_GGBCnNO8}X?LN?0pDRG*K>ihpa$wjW zVe@zTwC{l~5^2UZ=*EnWDRM3_X6o(EZS%Wab!-@+&#aL$$EQhOghO_2pRcR;QS`v7 z^0+NBaYY^##jD0sqH2FWx6SmgtS5M7)OXq{03NImjc?ERbFSZ`C?7pdq}$NkcvtF@ zKom#fT(XKE5|`pU)A3!bcJKSTWv$~z z5Qf`J5sgCMXH*!M!&k8NbIZ23Q*$*zkg%gLW38}JoFaRV$9{ei0SR_`5QHnW(Ix0E zqt4!gk+#A6g;Qn77-Hj`U%c zb9N4FAw2!oVg6J`$s@s{uv37)7F8+b3GiI2}qkOAh!Zkk@$Z~Gbv4asU9Qnp!{FZ zw9UT_w5AK}0ZTtn@hu9Kk+hZP`TdhXKY474=KUeY*?N?)_QamLA3e;MBk5COz6m!S z*fSPGUjUdmH_-U;GxGI(mkh0o31IPY)hH=}_TRt7z8&A~%V zE>A&pRkA+rRmO_7v)yLBOYy--czCD)t@Q6m(BzSDTas$>Q7>>P0!1on{Poh7gWl6F zZyznA&S~YE{L!N<;rg7Oa5at2YMonpzXMky&Z_mEo8`6R(mhp_Zlt+#Z0l<*P)yvvb5R8#*2S5FKu}hd^%6O zT7(J%=@YC1J^dfwDNMzA2&?cYe1?nACC9X6#stbjw?AtK1?~L1DhydFoy+QMipulZ5=)KQ%sE zQ0l`Uc6~-jdE!q>E}g$VL;*zX>$6}$U;-koHTR4o-xn;oNDsa{9t+hhku@^T@~N|q z@T1p)agW5h*yRN?v4+fK5btl{0;vt-c6ARJ7ryHva07A@zCyg(S4exJs60v6nAO>zFMRq%#sGSgl+#gG0*^ zzrho$vF+z4zPBpA;VzK%gMw*2;P@2+sRi(_@bABls+2*jJwGR*4^^3~Oglyl9mDXG zH~#=lT=5mHDYNPCRe=WTEIfwiQvF^kttSfRNt{meN!@1UHY8`{`sSK5UpbvfM@_dh z-JrSJk`-nC8xUCSSc%j`C8bSuIIjcGmk4a(;{T105Y#Fs*xRogg&*fo24X+6H_W=B z=7=DsT_yOBa}aYo*FoZe(5OW?7n4UjA?Wh_we@B&hCx`$iiIestLw(&UH55<-wP4$LkB?)pw;g1Jd;mrMxg2>8G-SbJBHbuTu7{kTj7WQ zSdhw*E4h!HV>WW>J54=&)MHY%iIKpXhHr9`mG%^ z8RS%}Xs->Uw@;^X9+#1_Fg5p=Xy57>VCvjh>*EEMD zuQmGQJd8~S3Y8nA_LVQS^`8rIkiD?L*W-LVZcAB$7JRAg{J}qOxA+7KWEW9y?Qtz3 zz2?y7eFp{Yp>ana`g1%=_W)+87`8?!*ZmXUn@Lj8%6c@%;pC~=IL2sTK_ckSW+npV z023M<6_WN2^0dhtHGejwfMjA4G!{D;n}u*uJVpsYqVry$C{YpvM@wGN1w3gTZRS_2;fcoUFf+}3tC=i-R}$@1X;bi3tfN2`#qT?bO!x{ze14?+=? z#{T8dr3y-awkOYsf9c!xp+@sZOD+mRd_DAjBkCZn8I*+w#wGPr3hA1UL<+PrpVn+Z zWT;%RfYKr|OEo7DCi(k2P{~uTlX&Pyd~OdKGv3kkv0VR?0S7HMI*fxv#Q9TkYpS53vwExKkNj9u)a7nQO1nPU&#%Ri;71}$eYQNSdQ zL~fxgczOwt_RoeZ5Uip=WM=e%%aXjutU2%~*0gZhfBZclIw8amG?L|+27Z(A1j^|u zmwyo0pcMLV%@nB|0$)bkD5b_lm!<%+Zy$dT`A1vUIyQYvpI0?YM5ZA~&^G({9cTej z03A&3c%%SdpXnh3*D6ucZ@u|Dz zfc(5EI-v;4ZqJ{*av4s!W&CEr|ESIAv4d>GHtvVzJ?glbXplj69HA)PYS(a4*ayLV zj-3A2>aoa^cu*M#Ll&3x0F8d>^CAJuc&fx^hb6R87GjraDdtAI&!zFzm--q`(_prh z2X)lXR>w1V))4y6P4ev~DhT}V7hG5i%hm0}^&VqTviajC_%Vv_Qxfx{EN;MSd~Eq; zd2;px5eu+laL`g&b2mYF5NOnr67a&9jkq_n!}J zTZBr4P!du_v^Qovt!sqlZ}q}}a+g^#FCtTbWQk52AVRY9(Er}-72)#cRj`>W=FG|A zWFPfM`Zs>y=RC$xTk7tO9!jI^7=lXw$<5b*PepO*aaA86Z|xa(HME0gf#7}bt`$hL zX}R27y{=|Byj+I{p7MXK6G$uP5Fo&SgH)~Kl-u;wYei>2LtxlD3V;V|Bhw6My>&y2 zNXvCVIId=%|Ndi2>Y``o(ui8$uBk&Gi>S@+sL$`cYk@(zeXyez;P7-ES`=4?53a2u zc-+t|C*)BI56D7WrCkH4Xx}>=`6uw#K1rALN=V)q&DZ+DTz|L4&F!u}4Jpax;~94+ zD4u0NB=r+7;IZ4#(8L?yvZAvihq|=gJ%fSYZ5c(r6dt^n4AMp-=4SR67x1GavD8NO_oGX`3?RWwqSM#@CZ?VgrD<>Hrx-R$yAUaudTqQd%P0mXtrmSeku`@^iE=zp62auu$0l3FS zQ??r?^1S`su@3x8XXu3umPqP}Qt!@3PdUsWGX!JYZ~oDmor{Ra;mN~|$He%wlkM5L zZ?jN9;H_Lhjr+V12UF*vc)DnRV|k@ja-t0Z(Zv){VTwn{%(_3Nu7B{j-Tdx0wyK9` zXl}T-iQKV!ulVNPcX#*js1s`9pA_8o8MIM27~t==>b@~ZJV+&*X&($XwUUcz<*(Hx$6mA};TTOK0@UPiO+an%}*)e(dp;T8A;3i?_UM|JoM&uhab# z34?=ZDUd*pd%mcQP4nmSyMp*yl$tGF`QYg|00kCE`DuU{g#ONtvyJ^*yeM&)TbpEI zStngTF%|Y7>EM)Udm3+`4<4k??K4F6i$uSLPV z9Fh+smO*!i75@<|4JgiYmoXSsMt0Y0#*B-l{*xC-Tb2BOYj0ta4l;#$zH2yPm=BBwXqw zdiNs~#A)3+PitC=;?588eIClWi%QNWGbWBnEi-S(Om&M8 zj?i@W2?+wyP=f>pyY8?7i&j>WiA5|;wLXtt3D7g}sPuGbc@oP!54!9GSd+;;oj!OG zfS?lk{pdq7L{ekp6dZYL>A%agXB2WqZhh3Gv z45T8wNBwaC{a$91_2+4Nt^kA#)?5acgL5{9=(wdoY1+~l{(PYS3scG?#^3kid)u|RZ)S|mZ?Y9jvVK-4n@uoObtO$>pR>d z|B)d)S=*7CDfa^T{|9u#AJ*6H@|ticf}U@EP~dfaWzLZ3(9J@5dfVML7sl2bkFJ3^ zW_bWl)dLh`+h^qSJxG=*xe#a#NGyz0LK#Ez#E`E~eA%W+TICte450U+i3d3K#lm-< ziJadP)ZG1tm}S#|cdH;^^jyc*dNfqlkyjBF4@j^Svw&=ocSU+xL#=Su=CY#^wcRmEQLb zK%m1!UHk(cmh_0*ZcPEv$oJj>kGjbssYs9J63kish!rzac2M%ZEwwns77%o;A=jO0 z?pFOjw!UmjQKo74j=sexaws#RfCwz)q!#l$4;#4pKcvd)(s!SB*$SDFk&%(lK$5!i zOgTTl-^|Z{Lb8=ROfq3kvoI~xb1V24J6wDBSDP<77C&8=OLQZcPJOS!D|uO^fasw; zthSG~v5n={zMY^%fNqj*aq0Wf@pSb@I`**R44%L9nwDw1WN2Xx%aLnx5Zsw`S#UnV z5g@{<`}S%?K(cX7F50#Nat3| ze1v`J`vgUOUDiXi&1Ih4&1qXI`#!{)_3X>-(*lzC8S%KR_YI3@RS4WkfAD|0b{9Xn zDYDs}E)JMM)Ek*r`tBa}@ArMI=iBY1r@*n|T=@>ZF(dt)+3)=dBUzW|0ND?c#E7D$ z((Iq+-#z{bXVErbD;Z#HgGdWU^PvZ9tmlIKx7sR9oSUmE;S+sF6iPOo8b0>?$ZH%8 zECk>%8%h!n?R>`G7*PPEz{f%&zQ*PVYRs9;EWXr9zLnSKBk_5jv=sZ&s4`g7Z1 zzQf4cTLRh1gAi^MlLGS2IL zUopRfB58OSGHQ*-U`Zz36RdC_AWiZyDEJr3pDwVfx()dL#9%c5QUiTvc-X&dA{W~$ z>4G!7=9q4EK;XUnzX(%V!9$=N8HGDSd!Eq2>H`XcpD+2&tExR7kw%5nWRf!%xJ{Tl zdv8U34@!qZMI|!x#o|l9y&jtlzgp~T%pg)Q-UC5M*|^^4ChIHhv5l+z-a-M3C^1{Z zmKWiUbR%4VXPL;`0jt@Tp1nCDC{fE&MkYcwX27NY7!>S_(oZ4E_=#+KeyfFE3r6QR z@ncX%ZMNa`+=|LAxkQdVN!1AI#J`bJTDj`u={0ZpmGP9JC)w-zp4FDg(z;PPu1xa4 zZd=JV|7OsgcVa+LGu1>n5fP>LQ@P~m{fKFGUpI%e(pdfv4@ z{w<&6G=ntLB%vUzKxZmoQcvFftv3N;BEk(MpDxNp@v2DjK~`ynT{MU{QX&2M9xElh&NfM=f2d z2OHXFFW|OkK*IQv(DOS&pj=nI9$XN5i`htLqB~r3eS8lbhA1^ZNQo#!Ez&l*3IIX^ zh)y4$L%)tQi;$YYpHdBv`?#XyOD2ApLo)!<>1c7o zBCn6)v&##@tImRnH4+087%^C2!*|ved7p6t!mD>`-Ryg1Jk-t7HePV&z=Wmp@qEPB z0h-^7>~9!$Gh@(}QUJ%|?K|4<$#tV-oscrVxGVf<>XAkVzVlYglpHwK_F#99n-*Od zW5=P_9ku*7Z+FlYZLHJEs=9IlIsAa7HtRETG5jk5F9a|mliP^n9li1+2fM-N_Q-gO zEt0gWMuw}ZY!H^Lo)?BXNqh2r?ZH=@(kue{!N?7KWjL#BWKw&^)=!!+jMq<^@fhlUDR6Xa69YZ>%QVi`AUQ|A;xb{E&4r}A=_ zV*2~S;(hAI*lgYVnScS#6f$NX&&SwvnKIuc{o$XXB}!OQ*L4=$XZZgfa&|MisMpIW z1m*P%L=sGN`p9K=n3gSg`f6!P<~;~31XqmOdy2nvN1weg7SoH;0Si@SPHvC8?;@uR z7qEkK!<5@^ITi;gr}sU#*$TzSrxMTb2=zw!3TDff57}B2!@dT(JYLrzLqoV@ zS0@*TzCGN1?Q?g8qn!XAaR32mSRM{TeIf-4NbtQK?L0pe117U9uh!9lN4^hEOca|JMW z;dlV14SbEdmyU(pl4u|y)VAakFY{Z$J(w#;nZc>Ph_Ki#kF<3U`?I7x#0%FxEdX6g zu%zkt0q4v7+q9%+4=#J#P(oJ>&bC?>RX4$ZE4?eK8*g@3|iK zX(3L;lA8K9-Y+9#JgJG`^7@R@pJ_PjMa{jd z`McVVR~$}mrPKqu=F*j12?heYq{;6%HoCx7r9lN9avI%Q*02uM^b1G zYPB)~?<2{R@f`2J(~n;&uO+aXQ6!0GDSmYnyB$yYGbn-|AYcl?JO(Q|yVql4mBsS< zlJB*$7HE(>mYQ?0JF1c(qblG2*}{F*Di|NOs@ac8dAulSGSeU!@@G))Brfwnmf*6Y zjV=}B$x8ngVEr8wjV0Mw!ciwZ-Y<_pnB`VapA-8#C_&7ZWR@^p>5fVj9s3HrhCXWx z5Z9(#F99w2**l>MQFiKjWC;JW3x(Xk-gr_^R&&K00eI#r{rIbc8!Ei-5n36e;HUb4 zgC2l~@2`CKJt$L`U#=<_02o_~2)H5%y@Wr#-uf#)rxd9d=kD%FL5!YhGL5)r5_?4o zb?JQ@buPMfymylW*QXh~V;28a!s;=NPhfbyP+YgUVd4TRrF#Cv@1SUu!fXUkVw(&U z%2^KRKq+|Fzi;5^@$2}wgCV0Tj!|ycU_&sWwFgS)?~xMI%aorAsa#o)n~YK1$Uu9} z<4>eSGJYK_HVjkxdiN?CjaRTD|M`;dL1Ck&R2&CQ>9qCag_%jNV4lD8y?nOCNoId~ zVBXqSC#f56Ie4(X{tU+h0G>xZtyH(0+<~f1dNm@<+*AK=q<~-zNLUBT!!js~L>BQ3 zj%06VVFygtoj0(TXknnzz1Zo5=Z(e{GS7uW_9Rxs>?Pga$ZwZGvI64Fl zAk$j5S|~QNdh~tY*M^>U&zWbsHmxk7op zXH*O_Dj#vJGO@r%1cwm9BoNaM52M9DASy4DyoKyy!?bSns}09vO1d2Zs1x)T1wQsl+J%JIIa z&Y>sP=S2StO@DGTP&1xy^J>i3w!R4`5DH|!iGSVmD8`*N1EWn7(sq#EGXUuQj3kr{<)upWxm_>T z13Lg#vxFG7-!79>hFsuSeBv^odFb*{@QmcIeOVWZ{MN!vpm-+>D2MFw;p`%l&s_Q) z+@L9(NyE0~pl5iDsH%)_05|;Jn?PlsjzDaqya0R>r5ZB?G_?i%a(KqS*%3+c&TTj7&CDy7P;p>A{MF_<#=Q#orY;&!#_@i?ATZ+$K-B^FjZm zH+?^(36fG61|Th+Y(Y4K7;Qf`_B#A`1%ag9&A`vdKN%qcRQ&sLqB zEk;&_+XU`SiT*ivy?_`<1c{&l330IJ8!r)9F@Me-_H~wNzDyd1Y}!)16Lo=WB|vue zRq%8>NYr7Vs72Rs#H9H{pw{B>cwQ0xhSDlME)r0=N<}}WKmLm`#EKFVn8PAT z+iG-8S_KLF;Y`l@y*DwpmP0J4$225^+X+Z4dtCwf@xnJX5)j;ktRom{WkN2&{laTn zF7>8>*kE3B5_@8u>kKr0?oSoYOqEdPy4Z4_6Wnf^EjUB_+H$_9g?X590>&>awrmtB z2d6YHndf=s-;!#98W>JlUbd8|n)G!I0minky4R9An=#hG7)3eC)f2#QANDZ45X-M6 zm87@Hx+5enKjzXbnywUQxG?|N640;2ZqA2^3eJki*N-01+w@^)enCocWy}JH)haYV<_yrIR4$^VZQ<^=80o)5ky)%`#u)IRc5~FoWH9r)*S>WYk4GQ z1|ULB$36DD8{Thtvyuk~Lwx1My0RIgAE+B+ojzv_`66oqjw?ETaE=e;1lnC~ecYKj ze-n(4fy79%7M6uu{Sx0=U}x_Qx}WVWrnw=sq~HvA*O*EbYhg9+)jj==Rle7Z>y;s* zTn<|&%a@fCcev#Dp!6(0Zcf!tlnrXHv97>fWcEB7y($}n)BB9qS#kyrP_7|>vI3_{ z_`ttdA5Lrn*0Gf8OQUihfVJKpG)})iWBF%L&|U$T&z7tJVg@p^bE7pW zpy&QZij*I6n#%z;#E!Gt)|z^ltKZ81EB5)qk7Fcp4{Hi`*kyX<;bQmSpe(RblcPLv z(LgsSh^xd0OnfH(e}gh|_p;6wjcd(E6Cq%d*dgUUZm$F|79bz)X>)p;*<&wtED37T zpM5j1qG%qQ`M8|osT61vF?&lQL-hHue+NadG^Ij;Eq|D?)~qW~_%iHg-u)RAJ^?-> zXlb65@DQI(uF8vW7Z~}sd;$%2hlg%OaYr@EBTW*d-c^piBSp9qys!?W0sy4LNS{HG zzJ(p)-=IJRo{KT)Cf7)#fIb)<98cRj(U8HEX5Dm}FfAjwVv85M{w|a9yL_g5+Q?@F zAc)rO+^Ms*T$UYWxNoVP4pRPr;(v%ISDdKr3`uYAko>%5UmvfvComf6mh=)D3-o-q z*H-tl9%dCcYbC4FjUk;1K^#uvKD(p{^)*fah;+jiuu{0`ftIz2XZBCIcYtp2xUflh zXAgww+}nnkiwS*zXV!aW1_K9dh|dY1Z)#Z(AdS=|RiJpEWg(a+#A!T6v2ZSCkE0|u z4L52aK2Jnojv%NJNcrh(zBcF;yQJ$9>L5(?@w@n!D_4#q0~eX=u!QJAV%S(=6?}XS z`||G_fC1S%6s*!1r7Ou@^wZv*AzNSE+GW(H4l1hD{D-X)r9 zM87OI7dFs%{lG$lH^M!{lKWCV%4>CRZ63{QCf?<$aPE=|itM~yhRP{Mj=$!lnzMk(NgKF+@Tu!L$ip`uS8a6jG05U&Xvh?B0 zkNE1!($!hI-8Pwqx{1&~JH|BmmEdAlE7UBLdC640pq@0iko)*i;!EQQI1f@a39im+ zcUn^7aI!wuHw`An7jnqdWs{3E6p!A$nF$ln@b9mHeI3i3^Hf#@^wzXy90%&NG4(N@ zH2RfZHqbGflm(4enrqz-&}!g4|Nd>r7qGJRgS!Iv@B-be%P=PZ%Gu9dzgr!FEDdBw z)*~*}frDE!rw=cC?fFVz8XJP8C=W2sLL=Ft#tH0ve;ynDCME{Xham-$%Xh1xvqNt- zQS{lB2JeO96kazG2hXIeNTH`NbcaHI?jaBlM~DZtuCz?PFN!%(pfelx;$VJnL$9at z^6PbVORqcJ%E;qUbU=gs2>z2BR7-}_XVUHzrz_Po2dynY_CQ-w*ckkaWQe?kN%wA5%Pe*SyN4nClnY2I3VyIXrj9pBU|-t8%Y6cXu|+50L!qm9C> zyVf^Su$pCHlU0l;AKZM1ZGr zl{K<6B#%l!MC^N3$S;S=HPcWoU>iMjdDkBlIoTU?`>ZrBkzKhZwKy?2*77ktS;($` z^z-|7TX`G`uprR#<58%g`O0IvMBl&Pmo0vZDL@=5B_Z1j&@jhF`~@t2Jv_;7iaNb} z3@AK4j&_ebhi4Xi6~Cs9r{||f9plw!Fd{fNfc|)&)w_B-kBQ^67L~aVJdf&YUGK~B zm6!l!>LKTuzQ&G7Vp|SQ%w6!&&;hrRVXI;bcrAw9%JdmJ|HicKN3`ebyq2VG(d@bP zA`w_th8_Vm9+(NwH2E_okJ-qqnmnR~;8QxP+`tW`dymxhvUzs+2!f5UXlo`K?AGr0 z?cZhIRjU0g;V*S5fKjTFR<|*b{vHT6knR8`i6w@5qoLh&P~tPVME|XQg#%9)$(WBN zCRh36K>*KVHw62QbVUi0W6#O?;|eUI4Gs_W1fqfOsfGL^^8Vo6*#Noaexz>_@9S3l zI^Vp;WU}h%;P|CRccA8PWlKRs{-4qpe!w;oSmv%NU2TuT}M36c&g%XT8Eb z@$C^@dSgDg!~g4an%Ma?kWtKut3%d#gFOg(KbyYdB)(n&cdd2zNzJJ(szwuqME*7= zn0YAB>x#wb0vhqB^J-2@^0wYiC>K%Y`C^YrA6Uv|IWXJtqf!L*J}{*-GqfF#0j&q> z{m$S7vBS0h#tAFMq(qJDK_^^7;bXyu+w?!Dc`$rx0{%*>07>=JGas&zwR4RBt(}H5 zj5S8x8Wd~;x1kqfxa>A5-*GbKUI7|E@K>Y?f&Mz^=OH=&SvwZbS+`L2Fe?u+{g0i^u(|KA-5J6 z56MP*INIb)*+kMY0TJwH(BEH^Dc_IztI~~koUR_~Bu8S@Loyn{S78MGbAwyUJ^(elq};yyQ~4^>9y_; zNnEPWBI;+oj;JZ%$r1u^0%IJB0RyvfU(f&MVa|M(^z!I_>~0F&qA`I&p8mxqKQp7@ z%l(sua5*kF7=xnto5PH7BY+75G6g{=k79l}mPn&y4x(65SQnC2!dXFFC{;P49eoCe#+#{e-i zQe81QR~qP`9(FpLrvZw$_m6>`8Zui6Cu6rO<%K69E&G)@mLCN*2#hh07BBT7jZSy3 zw2|N}UiA3m*+6m&z0!GT-J=VRg4o5QWsgUYvi72;tM*8<&DalPSNx&IR#}8_tnf>q7ZK@*Waf8 zalj3~0U^C}vYuYo-LJS(Q9J+^*C>Wtg>6I#>$t=}PFWPJ9PcKu*D1trc6f$9Xi@sG z+~DV+2q57Q%b<3ck*pX>5(wo23@hYOy|5qFBF zDw22@%wM0fxDFsmf5qLR=ff!B+ls1OLfGmtf$aEq+i@KopC_~#+P-+KndBb)F8R0- z0d_48X6dTQsUiA^yQ{Q~wM}@R@d4haRe22qge%CpFtMv~06!zpSA3s%Oa6SdMXvx;1P)Y8DLU2=4(S8n3tZd=!D2C6xn z_<@)?P+x-G2AJy@cXZ7L9LSxM$qbWj|ZpCF~gjOXX^Nw-cT%3 z?SPyb)|MY2Zf{zG!n}h?3G-m_AzTf~8XW)6ZN+u4wZD%7FmE>r%fnER*OtO>d>Cm95S(vd zz;ZASpCO6kqB5Oteht)c&~rN`(WBW9Vn0J?guX~I*%9mfVx|!8dXnw-br$?CDkLHd z^VC{tWv&;ed00f8cmpKfsQW6jVMI~n%YtK|lrWb~JLbr-^R%33-DkZ93-oC*hi{ks zbYO@x5Kkt&^^S)-nC84iJ#l~>!u5=)sLfdeAYG!}KR7qWWi;vArU*AWy&e5&sbY6W zQa^tMG?Yir9a_szL}-km)2Rn#t(*L8n|*KflmViH_oTa`HjQF>THJ7a_`Ag@P}0ap zrUPciBdmwv*nxHXj(q*ye9zAk-&<53#d#gGA7sNCpKSnOT$}Bny4vP1K8uMq=kvxz z+`$EJTQ6YN(c-kQJ}7{)azNuJfUdr8_QU;pz@pntJhj$?vUAE1w zeCca3+!Z2z0*0CSB1XpblmZ=iZq97eJ0A$NgThq$fe))FK6QLNoXQ&?{jQR)i)KgE z*i=+@#q{E6AuG5RJ|R7?MRZJw8?fw0xOEXKo;6Gn6?dD)y})_B&i6ZQr_qc`GKxyY zRBiWB*h}?UdL6JYyCLR{xn0Iv5}c~^c4}7|4kd3%@JVcMN$@Q%93UbeE)+O%5*Ai| zY?24$%N)de(rk@z7PRxDjdaBhsE>~Utv%3!X&~3rs4Pb?CW)>Mh-QBrn1Iy|QbCR? z7NKY?8d$%8eF*|LQ}544Qs9!zZgXLytYz9Fcqa51oHahG24FQ;XUp~a0Dl|{4>W`~ zgf6lA^JC=KDFGFh^fHw9Jh(*keY;3*@=>ag1SlV%r5lZ{Yq~h^;>w6V0~E+B~IC&O&o&PA|g=Ow<9J_$U3uXWYuYWN9GPr3VvaCSku%%t0aa2GQbUNy&e zHUs3;77Ib|_JBI8j;9BTg0DHO6(GyQC52Cq;6ZG!J=hlz6f*RBdil>Kv(i3%YC>(U zuxHIhrt=vikk`%3&pv+u$s_Er4pZF`m*XXt(1KQ;tdM^@fybW<9|c*+Spr5)GDZER zJbhGdBp?&BW0>D-CI?~&7!w1b$~v7tI;Oz#JHih!kFm;Q4@^B48y7A*_Oayxi7zw7 zVFW$CTspJ%)?>O^D#AyB2OK>|G&aS?Ps=i=Cs5kFU9G|Y2uh&n)#?o-Wa#^lTpxAS zbYy(E0`BE)T>)>d2_>V>%bH4VC)`jiMDV2UWA_D$mP>K=bQ?hH?~&wZL$+k+P(5p- zpXn797C@r|$bWicn@{mD8td;3()aYDEejgNMYsSr(gjv($&%sqqbLH_(V+_onmic6 zeGqOA=#`ajyEF5@cZw1e@i<#(uf!l{@>J8-ag6_7oQ-$+;96;ivWUm@yF_ZUEbsUK<`9wpzMf_NDXM=gE$jaQ9~4i4b zE6W63rW;v;YRLNnQ_F`RT}2nwm4}3`0rWO5$e-4u*bcgGDuW%AY}D&KU3&BfivoIF zMp(026Ue${&(eWyRp>4L+vnjnNrsD#8#t`^rwbnf%6qhJ`t;nfU!`~jEsaRR5;}JONk9904%I93?xu{ZWZC za57#;dPsp&Uq82%@NQhR4qSe+@d5UZJhHv-^L#7iVGKsGD~ZS5ElCWm%Ae`tZx%(* zVK#x7gGR1gj*gY7F!$s9+ULRS3;9twjCp&;WvK?Fn&#fGRt*M;%5w+)`)!D~toZFd z)gaa@A#P-zt8rIO`&n%dN}_92(FfmkTJTUHaTQ!Ne!k>;wP8mjoftwA@nZ?;bj?eC zBYxM(*9~jBlf;3&*lL{{x8yw`-EU`J6Y(J0N~#5%x=Q>eBVhYb%hA&U@Vk}q`$FG) zy}bbLwbtTr(3_?N+3tv?K^yOVy+n$tK}{02~MeZok|{09ZdA9>hmgR2!NzgCAz?7xlU)awA0~jzgIF{u6 z^0>_LX@I`J0Dhpr7I^fu{JWhOpSbXp6_xlM=5z$`8 zJEYfihx+`kUG!GPf*{_<&3b?!wdetffp~?)tAac=zGa=gM3|fl5LMHAThgbG11FAu ziBof{sG_0!%_V2RZ%}NUelK#Gc=B<*tImV1x%jCca2vk@tl`NL0*^=WF^IALy6w1KZsPxNIF2;3$;^UD-7s zSZrVfjcj^zv#Q;=DccZ%v*_)}eZ&V4g0iQn-2`6D{Yec1uDMap?Gx1ke4yNZx8L<@AG0m}Q) zUcrbjFv7|`gFTD=y3s@>4D5sdy&-%pFjB*MCAK5m?RgRozFn(30gEcW`Y{QYlX+_Nh( z+N(=#_xWH5(B5H_eeFDd1uo3Fs}qfVN)Em6_o8*79z4GLaDC4ndBo)jgx9r6TM*VL zsX|+v=ZWAod!r#Hfb^5)<#8WC<;HUvx_p014a*t05c9N~JS<*OAb}M=KGr6%yUNyS zd>9MBL68*C+N*}n>l6IcpZ2{N1Yz7696+yW)71;iQHuQr_TLLD5r_+2bzk=akg#_| zzkT$Ob%g)bz)q@TvynkH6#ts8+7Zl^HwiYTut-4NTHYH~NY7{e<#9lTcr-3Is4<#Y^DlQXc` zY7AD~p;149RSq~G%lXrI$P}m*1$8*@!`~4}JjH9PDYZ?MN12>;L5%EoKE8@oodr_O zuhGrD$b;J4YJQgxeofac5Q3!Y!N5%wIdHRUa7UxJ|GxJ3yHh8CV27Rp02SrLA$6z( z8uGD+1Gh`GrggFfM#t7UuZuNW%)_T{AaIS4t5^+A090ZhF~C>(7SRr1PX1P=#l$iW z2M$d-J~A8mbh5IB*QWDYpDlGv&$@o2aja&gMp_pmus+v1@-<_b;|nFrAdIHci2{bj z8(afCYiark6#@QLbpg3$L^?1=VslnE<2$zDXErni^tX@pa=9}(E#N0#ycHiZR@bYa zu0cH&VMIV029DCHSAOoT5$vmWl(T=IhI8Uf4G;d)LQeXhZxeEOBoblqpbhr;0nEjxaWHXE%-}gG0ttP`ctDdt>SFKn_-mNoNe-v|o&yJPD zMZU*Gs3(DRfcyEd5O=kgePqDa1h%O!B=UmRB{eg>f{wtsqOX^7m!kfe#i)@Y31y@C!dP-M%B-kd27J>$;c(K#yqmny@3bZ2s#zz^VIzB_qY|sIWP&g;GPse zSwzAt;GzQ``8&zF?i_{W9AtRr9cvG9#hHgL`zu)k#PmB~=?&nn#rjM-2v|0`8R^&l zf3zpnT5_OyFyz~1J=?TFY#t~7X>wKIV#;qWw9(!2c9&-qyIB8V!+;=Jk&X&2Ja1$^=vH^zBn)LZG@~Z*o zA;V=;pSXx1kTpI;g-PFGVa>*`Nz^Fon%DL1>Sssr;CPjWuOzHzZDk09n~T!6*#*we zWrck7Xi+F~IAT8WZ4aEz$8b-4Jr2^Hyi#BY3K9LVT5$KOdN}w1D97Dqi`RDX%%A0J z2d+our*m>oc;KX1z5`9VXPo_;jLs=@iMz;DB=S~Y!%cK=C?yQ0Uju+t9MxpSTUOxD zih#+Y&r#Wt{fIB~-i(;NsGRPEkA;5NjzEL2^ji*&2GY`V5Q;r?HP2H{PP^zgf#$bN zjY1@>F(CP5f+x0Tl)r=tfD_+JbHE2G)Y+-K(?$RVpJR{XwZ!aQL-jj)SWi5WiRrOq z!{b8C_lZ@bzqc$9J#*7sK*FL4%&sDcbLh)Rn^=;ue=I6KOzAj(+GO&;hWyP53YvnqL%VpHiqPTgFT_bQt~+cke@WG zpBxMr-fZO0N0gb9Yj}eDt%?T-ul_tpKqx&OKBZ$x#R=L+$LiSRfHctp)q6i*o8SmP z_HJ_5;|Jr8gKwo_`8*W;8@WJn2WYym{Gy_d_AJ3EjQ+j~hhKqXGv3`6u%kST-F$Q? z|J>8u<+x|@*X~A`p0tH(8p$zZ+=K2Uj{)}t`Rr)5JC)@MNNV+RL!LEcXp{xSz~HYx z0bhG(wu`Kr7(AA9jsdsK3fx!C@I6+UGv`CTWRC)$Taa=H&K6KE;VZu5rxEK=JH{0q z7l~S9GxB&~>E8pFR76b9dq!H`43Z|NE28(wdxuaM{Mu6v1p}rV1a1~v3nDQe7$dl~ zuPUa)NI6{-4>Tk!t(dk7eQ(0+H43t*i@j@?yn+K!71{ev;_~$T%)_=3ocpy=J5=!@SH2siv~DW zI%gB(e1v!&w7$cdW5H+7-B$1(zyj*Zv#V?+&!^n~3~4dCbqa=DKsmV?eAErZRzQ?J zj(!t#rr&_Yr*e^52*=7)4|Y`FnD?XyWC6fT@B?8_!eE)Le=ZBO#ov##z)8AZA9cgW7mQEWitKcXZxG;Bv?F?m;P{t1GC zX10UKR1TlGhR((dCR5xqpZ$w!PI=H;aGv4=UAX4>ahn=Eysbaz)bDufMM^akn{t7xJ4K?`I7PlwW`0B9 zkR2j)OO9=0j{YEA!Tk^Op7ZzfJ~8;sCd&1;a6MbC=SM8oVA=8ZK6*ovS(e=G;?=>4mt}^3rN~!(!ae-1%~>BjeU5O0E~X7}+$GpUas=Z$L1GlW*NKn2-= zu7p<}`M!P*|GybJ$67dUD+K^dvykG)1)HedZ{|CwL74M+DO$hRGa4qcYugIj7uGAN zX^b>_Stv=>60fVHAihav&q4c_w+@F48kzA@U0pw)%E$bex=-~S@@qzb7h}pxx|$vD zry#6+=dJf6B-rK-fqCo`?sUSv`;6bfk#zsaD^*_#FY?b8EhL8l^G==pNWEmw_pemF z#E%L+MzMH0UIyz5kZP3apNGGnAyc@;@WuFH+Q6+KX}P|c>3#$KZ^({d?&Y=FbiVVg zgHUl~&jl2+e_t8?&lc32eKxy0#?4|yToMq_e2Wv}s{~{KC>*7OQkdLTX2(eOchdiF z2mt>+G*@{`OOd*O5Z3`z>#=8X_#4zDe!c++qfI0*&Z_4eM?8G^69S!OXz3uvI&tWH zVLssv%fL;-TL>szb99a_k9xk&gTRN5-geQ+znL0L2?xs$qVA+^Y-&v?(6hmf{_Tx` z1C-^S4myQ=cq7!2F5+GJF!i*0HdJK%32L++N`=)_5Ym5ml%+lrW89LPC!u-!tuj zru@rl1h8+FP!5jONv?)>allaK5lh~XHd(IFr(+!jZ*K4NoX~)g&voUT-C+aL3Ntd- zoig%w=)7}V-zB`df?2w+puJ#0fA@K4{7bY5uGqhN#tJ0d!d4|&Q$s$`w zT68aTt~}(@y-dIdA3;g_D9w975gW_YA76Ur(Y-cz{;%2%`E z%cd>pSO|Jx%-tTIWzg^39!5wKaofSv`p8%lI&B&|nrSaR2SJu?uMhbPyHkp7Lef5|TR z76*)A$JGVt^p!7mL(I21BL=2RCFLO+-8Duj-Bz0q9N$?YqZ*tnoxY7hNB1oIK{xK{ z`FC&gF)1ljw5A8IK2%~!_67L!-Y%AIwG2#y zDC>JW4Cs6vr{`w==e^wvY->&}nK$s<1s`+*WP+aUou98bfTVBe>PgMCJ?@3+?|>mL;l_M4F-!Ic z`u&K1ISR8nDCOoKk2QopAZUK@Y1w%He;HVvTs;4)iZY+`Y7fBbS#?LUFyt=hXTbm~ z>IjE1hRSFg#WS;<;?sjUhDQ*>c|PxMFT^i&keZsSpQK2wIOJ$v`|LaA78S#A1w16&KdSlBvwQy? z8aacgaV;%ld-Fhc>txchkse+t?^RIDax+|t)7Ga3G@Ze(;}OSz%oYAuO=TDW?7R`8 zjo}ct*3T+#=r+O~(H%AMH}F$0%Ma@2mw@4d#vwj)>;!VV!vDew9GJcY3iw{GNre&0 zfV5D{Ibdb{4Eh2tB!DAVnYDiCVmOJ4o<}!qIcmz`ncm^=D6}D~P&wX6>bj!9olBLL z82Svjq(8&n>PgqZC1hEp?E^A=5Jc%t5%`H>I28IsW#SLs%QPnzh?DgAsL;YReu#H9 zn0nIEKf;Q;jceG0K&F(39uG<+fKuZ7*QBf z#xwr@Et9Oo@U~n5JZE5wm7g6ah;QlOA~r-NR?PevT5P`-`V~@(^>UhhH@2>7E?<287+eALBLO%SFjY&C?W= zx;Z|R6aauEPVgHk@ERELfU)LS9DV0X5Pk+u>G-aT4!`hZ&870nH|5PQ2ks#C`~-%L zkN%lb_V5RMo`;4PPUnxU{7`}mCQ+?2j5AGulMBtdUZjN_?Z`o{w0gi0y^KU;i2wllva?kRcOqKnVspt6rV~>q9 z8r%!a{tRhuWoD8$0Lv_gTxc)RM z&lOdzNPgEN5TFEk{_wovNsoYXL!3tp$bcy)WMKYDv7cuZ%#gD2chMI7DQ9iUiMVU zoaFME+24b~IJEpZwb;TwPlHPJ5tp5Icr^s&5n5Nr?KpuV3wb*7*A*BsM~aH!KK~Vz zhxnm;3pZTc0~)5?vK+xj;%$bhENCAca`wI6v6L_r*z=PAHz?D@NGV^yrL8pA-oA8) znfcEp-fE}bY+b25&Rh3vH#IaYou}sC9&t4CWn_LCXcx0oBdT@M!#ZC;u=!(p6vcWV zGTg;q!N!Mz;)uQo{8OtR(kZaqHM}n_SWYDyb385-kYEOE+TnBo54^4)}(I^{*w=s#H<#Ox@O7cMHw zIi7-|D}%_R0t$|C}e0TUgqo&E2^Ep@A$}ZP_A5r*RCER zCy=dNOHj;#=lLzA@8H-RmE)=cjFUSt*MUA4I}ZPS&4DCB+~=IHhOpB<^z&UM(%m8c zXU8)ZP;NVWS$5IF48TXdF_@z8Ha22OUWrROIj5#WIrSmwIS3BHM_#+KC+A2=z}W(0 zPu?uhy*z?V(BCjqz*`$rp+qdSSa&CR#?{hzeq@j1@CbScE?2J_t)F6{Pd0SiHD7*T z*2L+k-s}Um9>xI$=r~-9@BHPTM<^N#=c~vrgE38EzoW-?0m$FqM_6!A=~YwfXVe47 zR?w3GG3@73`i^uDY8^SnIT22q-O+XWA#C@{&sU`T&IAxgxW*}kkyJ555*=iG2HC%P zy@kts4##zBfZ(mcc>f5fNr|qDdKtKGB7Q~BqYxb4TCe^xc%VgLq*0lR#HzW= z?J?~;<}2K{)XJ4&;2(#@$HtsCj^MKKr$et_8%YX>M%03X$tRFfhH!VcdB*bh0l6SF zeZVanUrbWav?StZY1c&k8}1iqKHMe{$FH;dd`Hs3(you^vVn9>!~Qfl|1Jt7Bw^%Yl<oE1kl(q{}|Bd%j67@@G z%J5QG54}2bHG-<+vuqf`0pu*2O!jY4bzS0gg*KMAogEDHJ@!TQlw(pI)f}`gbZ4>) z0v9sgIn#%JyLU6#{dvmW}SW*xz4OJJ+1u=;fCW%R2IXj+LQ9;Z>JVo|l|36ryKCs5iH*j< z->kbJOqW9emfj1Vyc=p+If&gRRPLQT%X3%4dtlt@IoiL2ancWRUCBAgEU|O-Igli2 z$!9I~GZ?_J6_&1~BP?1=t$oxUu21hR^0_1AFj4r!ajgs{4dA@jDxX`BOoJ`bNFm2o zB-FTmEG@K+pCbnQB?VBD`bgIGavnpfqXS?gCyd4I<@(>Xun1%h7Z{69HM$sqEX^>T z+-HXWdDs|bvx!y?wywhriLp9JME~5Ro?r4Ee+US(?W zSjNLeY73qOV>l3ehEDzEIXyqWlLEN24x`Da3#*_(`BALR?tM^-6-kzX1~ZRUz6)7~ zgqP&b!&iJqh@`A&WWtu~d3`!zHdEl+j*NLl$bmhUv+B11mnw48oC{>ovF8bEU-sYF zBE>b@S`ZDAg&!Nyg-TTr6@lM)gK=ppj$HT}M1HI|WNB4k<>c|1WzvHWr#^CcB;>#n zJykreaE}OI^&2Rn9Io+0KxO+5vcWW%c{Ss%oB1;)%iwl^u+0uO(aK_^u-F5xOa#_2y$vDhN=S`Mh>0XkZIbO=S1E;UH^R~ zHKT+$YCifX!SHL~OJ3F@?)APynaG)NhLRm!bTxvb0e1`E^3*so#~V?i_N}ZGHqT-m z6jPoP|MR~5cvOpyhw|Uyl!GgUI*0AN>3`wZ4%Y2*z1Q(X#lXR4kwzMe_Y!oa0QBoN zg>mN$Aeg{q&z+&)KT;bk)TRehcqpum`;@rK$v<;IE%cCoUu4yXY`c)^Oj^Srr(jtM-W#t3^_|0-hjZdA!(c>= zKMCsN;oa8{MvXU7q0ZzA@;(*uX#X5gNViY^kav4Xu?AM>N^U@#|LCwPwv+t6 zBi!N7(duUcXp|gHPIx?`b(w$B9RJ7Gmo2NxG*R{wbsz%bC4&s2%n-=U7tHev2JrNq zuyyM`f8QR@rmC{Cva)hm3(7S-NJBlZ>yf`;m8Oe80?K=P#mHyJ1qSmWG*6+GYGs-z z;7<=Y?qLd_{}O5{mNwBt%`WHrfT)SXxZxj<-D#XO3BgTTMeop68hc9so?`pRTb@3| zSb)j5i8#n0QAInsn!Il6`BIEzIMyrgo%50Ih!d(rM~FslV|)~YIOm4W!iy7l=%5xJ ziaN;SFBtXvPVjm_IHaZK$u~_z!RrzzGqG(sAkhsI`=VZ;tKSOc^K?mp82ga;m+E~d zygvfHcZbZ>0YXj1EP$lHW@>|M+wz)hBOSZkuzl#OPI8X$ImTl6zmt7Fp*ECfyq0n%O2UX_NvUexG#;N4GU@t{J2b4aHT5ytqBWSZe zAEAr@Q9`g-P?O>+TZyV^RXp>BQ)jpH*!WV<>rhK{Cm$xCd@~oV6Es$oX zfG9bHEOTG^TU`c>y`I(_@g`k{u{%`LK-B5x6MQt}4CtYLcLNZs7WWare7+CK?tc94 zKklC6V{@{ggC_7y9Yt1+*LH{gts&6Fib%45W)WN#jLCQCi@1X@zk~ryc>pMSN^M*{ z;3^G7gIW5Izc*PNu}T;L%}M$F06-EF)RDa%i?`4pH@i0SCNg|gW!qp7m|T*!YXLL_ z1q}gKA~j4&c^bH6uvdjm2`SuW`n_}b#YpK$@3atFH)uFKED#rOVt-ARc|ziDh`2Ss z8o5E;j@C8Zo3B4RN1n#1J_6F(InpwQfvR^Xb=*wl_c+|$Bd+O`JOLK@ndXzeF4bPu z`5NcsjL@8NUwZ)B0z@EGk;dk?i~q+AwacNW90JMaB)S1kGod*;6rp}^-$-+OqP4+D zvYwDdYs7!_=mnfk<*fsfE(V+0q1)qw?=9O zg?(>5q)NEKB%7aux|Y||YFak?r(V)#l}WL84=%FWk z@ea-c$pZ8JFnX&Xk)Iwo$vPr^^j+!Noz4#_{nytk9aoy*MHt=v(ZP?tMFzq@x%r1| zFUrw^R+VCqvv6rsS^Niw$t=(fP&o0$LH&$jemp``KAkRRtLhHvC*u(0wTFevo z{ISg6$!Icv1Rj|&f*Jvqt2EtjP_?@)>?Ip0g-y*oLS?+&J?suNa5eLiT??uDDgnS%bu9P~8EUXe24!)Lv3iAD4S7DgoA>;- zxSgq~S8K*2-ds;cke(g_vG)XjG`&NRIEB`aM@N<+&H@~80lnMsjn98UAK9!A{h@yz z6~_YxWsRzK4$a@Cwke&Spgow;kC#y$A3<8@I#o`#)I7gr}5VBIr_z!!j)ixTBk4 ze{E@hn}H)6=u@TwD55>C80gy`Zukg8fN;o-M#nMj+zxu7j?QCc|9w=t^BR?i-EkIq z3UIK!jT7I?YI3-(%DN91Db5uQDEcByTg_n9%Ys`0sz8OP~@m|~Y@ zlG1E1j@M*oB66?t33wUMhMe<=@w4{+K2twulQV&sM#KE}DlTpou1DN~<{kLN_c*-@ zymkv@3l8!WaI<+2DrOh#YaD|{Cp7vCBpLh^X7x_fs9&W#aJ(bGDGDv0mxZ{lRR z^mvH4S}>p1fONQu`aK7wKd0PsA?HKoECn2;gVN+0xPu8Q9cie$zp7#1326F zL8HwuW|98J9MMyCUy7v?gFS`|luidIk{HqAgv0wX4dYANsYM)IPtx}G+GBjm6A)xh zGxX&ELisSSJ;BO*+uuilFZI3DghVlmw1pyiRs?B^f0(m%h+$FZdnq(}&RORKS~A&r z+pfP4A8kD2r;4i-VM=Lb;(NzMPJbUhOAWQOT)G0_jjo#&e(kwN-^Tjh__G6uae=)+ zDtZPmYD`4)UY_1@z!PvkiXP#Y_uL?F>Nr!2(yEU0eyhFJR1Mcv(7=Egj_f&vQ$%y@ zZgD_JmIBZrann=m^60tQ9%`b?Qx>o;e@c4Ltsfa$E9TQfYY!JvdY0$7Bhxt$V5Yl$ zvzN2gjDCJ(P(SR1L$Lbx{#tzLrkVFN3J-5X4YjM765-Wseyd}CbdwRLTn79t{;7Fa zO%9|}1*r5ez>jVs&^HW_ZY9u(dk=k0LZ~Wwe7`7^w4}K+C$-(uUAt z$2lrV;Q|Hp0|fzzRsT;_5pt*V>v86hPVg2Bf-3;{C2VJTU!@?f?jhAu14>5Ef@{|y zL{@k8f4hqJ=3$_i4QwhxMq*lxJMje&YkzHlZyMt5X<1e!TmBgKz%!djZ`bNa4pEep zvHrZ!Kyp=0b>UIBmHSsESk+Gx8bai=KrJ`Dj|Ksy-sj}KjBB{D@t?JH+J`bYAMvT$Q0?OZ6HDVDX<%5N^d(d4K9{Ke^g@Qt-3<>t_Fm*HoQ+4EY0c zojg_WbRCo*-t}nWUVv$=l#FDl^Ni&d8cy85k+y!saNu(f?N14j5_9?ir8X7aytb? zpPwB<|E?xRT&b_nYn6u=#I*Oi1tneKO*LrD=1J~%D6~$sWXLuwcmr`dN6k== z(&lJve+^l-f`{CSb)fn|Wr>P)(mX$WDvf3*h$VbxGhij;>*g7w@d_1D`(NX5(Kwz; z5dhn%D%6Pb*yyViJ8a^EuWtmB!0h;maX9hQ3#Taf8T3cEPw^9Nq;Hz+<_+F$0D;!xYlaqMqhbR46`N4iPr9cPaec zBI{|LM(EQ^SFsMSx=JX&WGx z66v5rfYI>%)I*eoMHmlysWnD>fHTjEa(%36Wu>bAbz;o*GKA-=X)~&`roc)XE*_Zbr7aYMbkj@ z>t&&t)#uB8#q3LraxEbgs<^Q$bDSmbF!cJ~qWZf;rZq9o0i<+DUIOHc?pb{-?^{y4?0XeM7x+e!dOT^j>u+sG;0Dc-1Br|FnQR0`uJ;OmjV*~>{cod(Z zoPh<#LzM zHkst;9IGj`S5hqs#-35K%G=-V{50$mfpcNdyCy z#R|afuV+BSplsr?R}%ehWZlFQOCGiRT6jGGf<1k&5&qud!fd%A%2z<}2-VpAWlaK; z-WC4Wfve1c0dx}km_bzU%vp{-R?MG3OMxFVc0OINJsvQcfZwL+{L|q1`w`MQWXsY6 z^(15)RX&bm`m%Qof8Ts8rQ*PXB2k9O-Xg3xcv^A$Ey@Mp>cWp^&?u@@vwLY_l1 zyoMB7W1r7;k|BTp3-p=UN=lfDeooam9*=qN&3}x=QH5511VAYBVB|QY6`=WQkL}FbPlFzw$gEfyP582Jy5s8PlTS7%zJ@{u$lh7WMbt4tr=KJ|l_*kC8 zNrxAkSKVz1FGFJ3dA+~IHnkXl91u_a?!eQ#P9{P?mzUU}uLJonC5%vxu6{G;0YolR zKpA`X|31eeRdQ77YwlK3rD%m4W=)J$b9 zc9aMBrG`BLw}BztYGZ#Vy*|O*-4h0tQ%;>0a~$HjYKEu3E^5lC zh~pYgdV!$Ps)A<3$nFaL=o54$baauccpU+(OTUJxyzD0UZ6N#Md`Ps8@Q>9~L3MZ% z*3o0r`;W-Z%uvbI<2pEigKn|QMPqRPugV4N5HIJ}Omm-67iU3{=&@Iy{Hom1BQ2~n zZt?M127$&O)CppO+c@vrf(1_8`!O$L`U>o!nJ&-Fc`u)R%hPc!p@<`5ctRq50_1@E zZ4Y;U71W$ z3-n-LLgRLWlva~!Yc_1o=l4g>3wNk;(+I$Nmd0^l8hqK0@oTd6qd{=f8e-XeuDx=> z4;<7{ygu@?`L&N?cSw|lEA2A`pv40#Nw?jO-{T|zsIod5(Lj8jIFzV0i1MB{dyRA8 zhA8nOrSvG$sGbG1M6o-Y`bQ}9;-oasWr%Unc@E`5NV4v??2m@DWgV*3Z6%g&Lh`}6 z5sTYx%YAFeBpU#EJjfRxHKsP`z^R{ix}A@Pq!tFe6z2h?khM|6eSUP zRW>+7bw(Tiicg}=?ML&y{|k#lX>mqVB7g?nA@gpuB(rA`-~WTYHS~hD#YoRf}Ht$yQx7#w*Iaq?p&wQdAfme8^>!bA(r-z^zWUcrRZwjTQ^biC^y?# zRcmx_3VKa;jcWrVamOAOt~?(qe0}=!dnP{`;$NkuvuGl_^3Hhd8b>mo)W2`?CT8Oa zt)ZHgA?+LR9HvK(-OS8uoD!-a=i(#|LHvBmcTHg)rSsQ@boR(y*9#s>g>vlXlMV08 zezRmh8gf1pY2YX1!de5tct@ERp53nxw%ti9-RqHx>xlB~Vg)WItl8!M+5R904!mxF zs$QMb5Qv%uJh}ck{&#Ju=bB$lIn}yZ=+OpX!na9$KGGT?WQ|=}j4JASBu)?|rFXFD zZ@I4+EyL{%hquqNqHh2mn1jygSG6YaY)Ay|qX01N8Ea?WiNsB^>9JjYKdYTO%*I2Z zT_5@sjZkkLEUo>Uy@A!5a&j|iIr39YBBzt7K=t$O(~sskloXPET-Z+-HAD(;eRF*B&B50Km9SE4eqG(J|NXCr93H;NSm&FJuGN zg-(8Dv%_8T?1&_zpTykW8UrB%!zYC&u-=-1<w$?5*eH#bP!-ig&wWb7Yb4S1pRg~@)+by7%Z_EAO z7rN^;>M>nJfNwfRhik6@jo(+;G1H3!;;*>0a=18|Mj~3m@^(0XCOa`VT4YS--IlWP02DmM;cDzMGygN|aU&Bt{P`t*gD16dH zFHRH5k@m0`Ztj20m>KF_%#83yF|se+ z@bxVy0=#S``4HzL;@`o@EGyO(=@xO_zYcDltqpy5_l)rdyd(4Yu;rH)ZXuDlDhnRy zFQ`itgyVz0aN$7}-+zq>;^I#lkb$m&Ax2W#1Szv^JB)n>xvT{QYCPBP^)*y_W9eFS z-n&7!-(l_#oaae;GA_qM@({397p74A4aK#9IbU&6HH?aTx;fFz%EIyIosJ=JWBAWN z0^5wtF@S5IsW_j;+a7B8k$R8SOVg6awHO=(EdUh^d+8H~fYi^C<*mj&5oTv?V&F+y zEqhP1{z$#2X8^+MLtfKbK`5jLb;f_R6+3JzgUD2vmU54rAA!w3BAnvv?O^SH9au+- zhve6#0pH6-@S_X3hFfxCf8#HB3hIB(awc6XTLR!WDE`L6v;re)Q)(vo!OsbElJ~&hfiS{R^7gpI^)RzjR&9j zG00FAl|9Z;8&x&&G}k!?$i@f#{uvDNlR1^o1Ym+@|3b`WVD#BJ`0LV#3#96+)A^7e zu2(L$!sO}wlV8!DcIrd{tNDSTm+sxZChR&Pb*{MLHV2&tvVw4RB*5Ge;9l_U=NE@hZg6&h)E^|Hmb&bo8q@f(Dg*= zQq}>paAbkAjb3AIub26VL;~HpYNtp&2F>6|x8z|xb_9yge+fkFCR%fYL#E0K^?o5z z!Fs{=>zb$A$Dnni^hrjoeN|N~K$K7=V zj{#DO9?tdEmn-&cbNWP*Ji+;st1^q>Yt*hoAE~lXF6=sKcqhfWnX{U3*$ODK-)AAX zD_uYL)atotLix;%1*{_G{WF{e>PasTKEH<*3rt|63$#pTxf#iiC_3H^hEwI6C*Z$> z)}$7Lv;9|rdd01pY7_#bI|Wnb%)I)Hc31q@f58AM!lx8CHKsgfu>?#L>&{;B87Li) z`;~_XyqtQzg87it#C9gCUp2g5P+&QLPDw^G{pPY>r*hbPT6g1Py0=(bp-~Y?>IdU^ zYMg{eHqZ67BP~=T)@dpq0LH{cqUp>lUAHadBTnx&P~;VtA&8NQd?-PzyWQ)6_W{E5 zK@u!35^zp>lu>f6V{nr`16&SgV_srbKWUdPw6s2{k2}onX8=Maz3?G-lO9z0P?Kra zdAs5Nv0bu124ED-;eH?1nLFIQ=B{rVvHuMF1+9;$oHW@9gG8#&50If+jqM10#Hecr z;C()b2IZGf%S&O_XyV%}KmX;yan$LyPL+0PE+S6R<_ zIQ{pT_s*i$0xKI+Y2Q9cdnxf}wR*#!O;k+9i~2f z#U#~&%q%&zLPMbUuABdjJp=y*rjcb*(fpbgrO{lY%jUCu1WK>&jOEnOLN}zIP0;X9 z20PN>kA|Ii!M)wJGn$BnPbLR}x=nl2@LR)9JjJrEn3l?I5UX~9sBcTWToVl3159~3 z8iS&|UJF)H=16dPF55CTS-y>MPz$ZkL8Z!pz6*{&Mu-fM(I08L*RHhkDz~yHbOhd@ z=H9D_w`al3fZ{6eMwbXvo_W#*aq(6ZvqtMj(W{#Ufq}7~-RZigpFdloHz&N{u<4;97KfC#D_=tX>(8#$g9Myh zS##&x)Yl$`Yw zx0ka1T40f-rJ%wcFCDV%Io=nDy#Y+$*D;bhF-JprOclRLLp5EbsS3BPeM!?kujb&{ zg5o?#DprD9e7fv7{vT;Rs5XR--$1XuM5UBaenk3-g-?K2vt^0v0=TEe6q-*km zM*>u5*3)v~>)cgN%9lkb4&w!y#VKpyn7Jqe~a!AQhT5$^^O{tkF4o5%%&QQ9(`FKdQ8rQSe)c0p&>m2axfKx5dFcEvs~ht=h9}6yLF+kf-kk#g`h*P; zPEF+EJB-Et*OGM_cybTu zh%tz=egMY)&7o<%MhMpY%JkYQ$BaV{*9Op&U6cnPMKPq(wZ2OmgO@aWCb9|wJ=lEEuWvmsE zrswSL;lb!6XsTKUWkJlvs$da==Fp~hHTJB?_B(9f^?Fsb=T*L~4(@6Xq=wwvPA|Xx z4zqu{2y!_{Csm9>Lsgy_BJ(>27kNeUtjRXbx0OEws`nhH_d2u7szbDAoGp1OcErDQZ_*8jX&IpL+$n*C5XOL8%cn4D78Flqbfi#AR+`U-x>;H8I|OP4(cOH96Zb~Rd*<|q<cA@i`G1OhG**@ zXq$Tct`&f(24Cjr5;#jrYPsISqv*UESm; zKB4?>jGP3Zk%91RTkP*3_QR_TE#c0C>H1JJ#cFuceyxOCNyX9|pFZ8u-MkEXWM8_5FxH9Fr?T(E48YHkT_`UQzs97xzGcdJ0p%LS6 zxxi&e!$V$LRrf4zu-yEfB@2-{Y9F_2bYUBwgI!E=|h~DEluR;8Ias4MnW=Xm-fS5JxRm2W%Jsi=jf=4(##m?_()4
GZ;T>*+!!ML6NG@OlMBJfX=eKE4*LhjQ$| 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 z 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

#1dx>mFsY> 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 literal 0 HcmV?d00001 diff --git a/art/reml.svg b/art/reml.svg new file mode 100644 index 000000000..4d86c662f --- /dev/null +++ b/art/reml.svg @@ -0,0 +1,273 @@ + + + + diff --git a/basis/ByteTable-1997.sml b/basis/ByteTable-1997.sml deleted file mode 100644 index fc4dda9f1..000000000 --- a/basis/ByteTable-1997.sml +++ /dev/null @@ -1,262 +0,0 @@ - -functor ByteTable(eqtype table - eqtype elem) = - - (* The ByteTable functor should be applied four times: - * - * table elem - * ------------------------------ - * CharVector string char - * Word8Vector string word8 - * CharArray chararray char - * Word8Array chararray word8 - * - * Then, by using opaque signature constraints it is possible to - * make CharVector.vector distinguishable from - * Word8Vector.vector. Notice that equality works different on - * arrays and vectors; for vectors, equality means structural - * equality, whereas for arrays, equality means pointer - * equality. Things work out right because string supports - * structural equality (chars in the strings are compared), - * whereas chararray supports pointer equality. *) - - struct - - type vector = string - type array = chararray - type elem = elem - - fun sub_unsafe (t:table,i:int) : elem = prim ("__bytetable_sub", (t,i)) - fun sub_vector_unsafe (v:vector,i:int) : elem = prim ("__bytetable_sub", (v,i)) - fun alloc_table_unsafe (i:int) : table = prim("allocStringML", i) - fun alloc_vector_unsafe (i:int) : vector = prim("allocStringML", i) - fun update_unsafe(t:table,i:int,c:elem) : unit = prim("__bytetable_update", (t, i, c)) - fun update_vector_unsafe(v:vector,i:int,c:elem) : unit = prim("__bytetable_update", (v, i, c)) - fun fromList (es : elem list) : table = prim ("implodeCharsML", es) - fun concat (vs : table list) : table = prim ("implodeStringML", vs) - fun length (t:table): int = prim ("__bytetable_size", t) - fun length_vector (v:vector): int = prim ("__bytetable_size", v) - fun null() : elem = prim("id",0:int) - - (* Body *) - fun explode (t:table) : elem list = - let fun h (j, res) = if j < 0 then res - else h (j-1, sub_unsafe (t, j) :: res) - in h (length t - 1, nil) - end - - val maxLen = 16777211; (* as MosML (= (2^22-1)*4-1, with 32 bit) *) - - fun sub(t : table, i) : elem = - if i < 0 orelse i >= length t then raise Subscript - else sub_unsafe(t, i) - - fun update(t : table, i, e : elem) : unit = - if i < 0 orelse i >= length t then raise Subscript - else update_unsafe(t, i, e) - - fun tabulate (i: int, f : int -> elem) : table = - if i < 0 orelse i > maxLen then raise Size - else - let val t = alloc_table_unsafe i - fun loop j = if j < i then (update_unsafe(t,j,f j); loop (j+1)) - else update_unsafe(t, j, null()) - in loop 0; t - end - - fun array (n, e:elem) : table = - if n > maxLen then raise Size - else - let val t = alloc_table_unsafe n - fun loop j = if j < n then (update_unsafe(t,j,e); loop (j+1)) - else update_unsafe(t, j, null()) - in loop 0; t - end - - fun extract (tab, i, slicelen) = - let val n = case slicelen of NONE => length tab - i | SOME n => n - val newvec = - if i < 0 orelse n < 0 orelse n > maxLen - orelse i > length tab orelse i+n > length tab then raise Subscript - else alloc_vector_unsafe n - fun blit (i1, i2) = - if i2 >= n then update_vector_unsafe(newvec, i2, null()) - else let val e = sub_unsafe(tab, i1) - in update_vector_unsafe(newvec, i2, e); - blit (i1+1, i2+1) - end - in blit(i,0); newvec - end - - fun foldl f e a = - let val stop = length a - fun lr (j, res) = if j < stop then lr (j+1, f(sub_unsafe(a,j), res)) - else res - in lr (0, e) - end - - fun foldr f e a = - let fun rl (j, res) = if j >= 0 then rl (j-1, f(sub_unsafe(a,j), res)) - else res - in rl (length a - 1, e) - end - - fun app f a = - let val stop = length a - fun lr j = if j < stop then (f(sub_unsafe(a,j)); lr (j+1)) - else () - in lr 0 - end - - fun map (f : elem -> elem) (a : table) : table = - let val stop = length a - val newtab = alloc_table_unsafe stop - fun lr j = if j < stop then (update_unsafe(newtab, j, f(sub_unsafe(a,j))); - lr (j+1)) - else update_unsafe(newtab, j, null()) - in lr 0; newtab - end - - fun sliceend (a, i, NONE) = if i < 0 orelse i > length a then raise Subscript - else length a - | sliceend (a, i, SOME n) = if i < 0 orelse n < 0 orelse i+n > length a then raise Subscript - else i+n - - fun foldli f e (slice as (a, i, _)) = - let fun loop stop = - let fun lr(j, res) = if j < stop then lr (j+1, f(j, sub_unsafe(a,j), res)) - else res - in lr (i, e) - end - in loop (sliceend slice) - end - - fun foldri f e (slice as (a, i, _)) = - let fun loop start = - let fun rl(j, res) = - if j >= i then rl (j-1, f(j, sub_unsafe(a,j), res)) - else res - in rl (start, e) - end - in loop (sliceend slice - 1) - end - - fun appi f (slice as (a, i, _)) = - let fun loop stop = - let fun lr j = - if j < stop then (f(j, sub_unsafe(a,j)); lr (j+1)) - else () - in lr i - end - in loop (sliceend slice) - end - - fun mapi (f : int * elem -> elem) (slice as (a : table, i, _)) : table = - let val stop = sliceend slice - val newtab = alloc_table_unsafe (stop - i) - fun loop stop = - let fun lr j = - if j < stop then - (update_unsafe (newtab, j-i, f(j, sub_unsafe(a,j))); - lr (j+1)) - else update_unsafe (newtab, j-i, null()) - in lr i - end - in loop stop; newtab - end - - fun modifyi f (slice as (a, i, _)) = - let val stop = sliceend slice - fun lr j = - if j < stop then (update_unsafe (a, j, f (j, sub_unsafe (a, j))); lr (j+1)) - else () - in lr i - end - - fun modify f a = - let val n = length a - fun lr j = - if j < n then (update_unsafe (a, j, f (sub_unsafe (a, j))); lr (j+1)) - else () - in lr 0 - end - - (* The source and destination array may be the same. We *) - (* copy from high index to low index if si < di and *) - (* from low index to high index if di < si. *) - fun copy {src, si, len, dst, di} = - let - val n_dst = length dst - val n_src = length src - val n = (case len of NONE => length src - si | SOME n => n) - in - if n < 0 orelse si < 0 orelse si+n > n_src - orelse di < 0 orelse di+n > n_dst then - raise Subscript - else - if si < di then (* copy from high to low *) - let - fun hdilo j = - if j >= 0 then - (update_unsafe (dst, di+j, sub_unsafe (src, si+j)); hdilo (j-1)) - else () - in - hdilo (n-1) - end - else (* si >= di, copy from low to high *) - let - fun lo2hi j = - if j < n then - (update_unsafe (dst, di+j, sub_unsafe (src, si+j)); lo2hi (j+1)) - else () - in - lo2hi 0 - end - end - - (* src and dst are never the same because src is an vector - * and dst is an array *) - fun copyVec {src : vector, si, len, dst : table, di} : unit = - let - val n_dst = length dst - val n_src = length_vector src - val n = case len of NONE => n_src - si | SOME k => k - in - if n < 0 orelse si < 0 orelse si+n > n_src - orelse di < 0 orelse di+n > n_dst then - raise Subscript - else - let - fun lo2hi j = - if j < n then - (update_unsafe (dst, di+j, sub_vector_unsafe (src, si+j)); lo2hi (j+1)) - else () - in - lo2hi 0 - end - end - end - -structure CharVector : MONO_VECTOR = - ByteTable(type elem = char type table = string) - -structure Word8Vector : MONO_VECTOR = - ByteTable(type elem = word8 type table = string) - -structure CharArray = - ByteTable(type elem = char type table = chararray) - -structure Word8Array = - ByteTable(type elem = word8 type table = chararray) - -structure CharArray : MONO_ARRAY = - struct - structure Vector = CharVector - open CharArray - end - -structure Word8Array : MONO_ARRAY = - struct - structure Vector = Word8Vector - open Word8Array - end diff --git a/basis/FileSys-1997.sml b/basis/FileSys-1997.sml deleted file mode 100644 index 212de889d..000000000 --- a/basis/FileSys-1997.sml +++ /dev/null @@ -1,196 +0,0 @@ -(* FileSys -- 1995-06-16, 1995-09-25, 1996-05-01, 1996-10-13 *) - -(* The preliminary OS structure defined here is - * hidden by a redeclaration later.. *) - -structure OS = - struct - type syserror = int - exception SysErr of string * syserror option - fun errorMsg (err : int) : string = prim("sml_errormsg", err) - end - -structure FileSys : OS_FILE_SYS = - struct - - (* The type of directory structures, as handled by the OS: *) - type dirstruct_ = int (* handle to directory structure; untagged abstract type -- - * do not test values of this type for equality.. *) - - type file_id = {dev:int,ino:int} (* with ordering *) - infix << - fun ({dev,ino} : file_id) << ({dev=dev',ino=ino'} : file_id) : bool = - dev < dev' orelse (dev = dev' andalso ino < ino') - - (* Primitives from Runtime/IO.c -- raise Fail on error *) - val failexn = Initial.filesys_fail - - fun chdir_ (s : string) : unit = prim("sml_chdir", (s, failexn)) - fun remove_ (s : string) : unit = prim("sml_remove", (s, failexn)) - fun rename_ (s1 : string, s2 : string) : unit = prim("sml_rename", (s1, s2, failexn)) - fun access_ (s : string, i : int) : bool = prim("sml_access", (s, i, failexn)) - fun getdir_ () : string = prim("sml_getdir", failexn) - fun isdir_ (s : string) : bool = prim("sml_isdir", (s,failexn)) - fun mkdir_ (s : string) : unit = prim("sml_mkdir", (s, failexn)) - fun tmpnam_ (c: int) : string = - if c > 10 then raise failexn - else - let val is = Random.rangelist (97,122) (8, Random.newgen()) - val f = "/tmp/file" ^ implode (map Char.chr is) - in if access_(f,0) then tmpnam_(c+1) - else f - end - fun modtime_ (s : string) : real = prim("sml_modtime", (s, failexn)) - fun rmdir_ (s : string) : unit = prim("sml_rmdir", (s, failexn)) - fun settime_ (s : string, r : real) : unit = prim("sml_settime", (s,r,failexn)) - fun filesize_ (s : string) : int = prim("sml_filesize", (s, failexn)) - fun opendir_ (s : string) : dirstruct_ = prim("sml_opendir", (s, failexn)) - fun readdir_ (d : dirstruct_) : string = prim("sml_readdir", d) - fun rewinddir_ (d : dirstruct_) : unit = prim("sml_rewinddir", d) - fun closedir_ (d : dirstruct_) : unit = prim("sml_closedir", (d, failexn)) - fun errno_ () : OS.syserror = prim("sml_errno", ()) - fun errormsg_ (err : OS.syserror) : string = prim("sml_errormsg", err) - fun mkerrno_ (i : int) : OS.syserror = prim("id", i) - fun islink_ (s : string) : bool = prim("sml_islink", (s, failexn)) - fun readlink_ (s : string) : string = prim("sml_readlink", (s, failexn)) - fun realpath_ (s : string) : string = prim("sml_realpath", (s, failexn)) - fun devinode_ (s : string) : file_id = prim("sml_devinode", (s, failexn)) - fun int_to_word_ (i : int) : word = prim("id", i) - - fun formatErr mlOp (SOME operand) reason = - mlOp ^ " failed on `" ^ operand ^ "': " ^ reason - | formatErr mlOp NONE reason = - mlOp ^ " failed: " ^ reason - - (* Raise SysErr from ML function *) - fun raiseSysML mlOp operand reason = - raise OS.SysErr (formatErr mlOp operand reason, NONE) - - (* Raise SysErr with OS specific explanation if errno <> 0 *) - fun raiseSys mlOp operand reason = - let val errno = errno_ () - in - if errno = 0 then raiseSysML mlOp operand reason - else raise OS.SysErr - (formatErr mlOp operand (OS.errorMsg errno), - SOME (mkerrno_ errno)) - end - - type dirstream = dirstruct_ option ref; - datatype access = A_READ | A_WRITE | A_EXEC; - - fun access (path, perm) = - let fun mem p = if List.exists (fn q => p=q) perm then 1 else 0 - val permcode = mem A_READ + 2 * mem A_WRITE + 4 * mem A_EXEC - in - (access_ (path, permcode)) - handle Fail s => raiseSys "access" (SOME path) s - end; - - fun getDir () = (getdir_ ()) handle Fail s => raiseSys "getDir" NONE s; - - fun isDir p = (isdir_ p) handle Fail s => raiseSys "isDir" (SOME p) s; - - fun mkDir p = (mkdir_ p) handle Fail s => raiseSys "mkDir" (SOME p) s; - - fun chDir p = (chdir_ p) handle Fail _ => raiseSys "chDir" (SOME p) "chdir"; - - fun mosmlFullPath p = - let val links = ref 0 - fun incrlink () = - if !links < 30 then links := !links + 1 - else raise Fail "Too many symbolic links encountered" - open Path - fun expand p = - let val {vol, arcs, isAbs} = Path.fromString p - val root = if isAbs then vol ^ "/" else vol - in mkCanonical (List.foldl followlink root arcs) end - and followlink (a, p) = - let val file = concat(p, a) - in - if islink_ file then - (incrlink(); - expand(mkAbsolute(readlink_ file, p))) - else - file - end - in - (expand(mkAbsolute(p, getDir()))) - handle Fail s => raiseSys "fullPath" (SOME p) s - end; - - fun fullPath p = - (realpath_ p) - handle Fail "realpath not supported" => mosmlFullPath p - | Fail s => raiseSys "fullPath" (SOME p) s - - fun isLink p = (islink_ p) handle Fail s => raiseSys "isLink" (SOME p) s - - fun readLink p = (readlink_ p) handle Fail s => raiseSys "readLink" (SOME p) s - - fun fileId p : file_id = (devinode_ p) handle Fail s => raiseSys "fileId" (SOME p) s - - fun hash ({dev,ino} : file_id) = int_to_word_(19 * dev + ino) - - fun compare (fid1 : file_id, fid2) = - if fid1 << fid2 then LESS - else if fid2 << fid1 then GREATER - else EQUAL - - fun realPath p = - if Path.isAbsolute p then fullPath p - else Path.mkRelative(fullPath p, getDir()); - - fun rmDir p = (rmdir_ p) handle Fail s => raiseSys "rmDir" (SOME p) s; - - fun tmpName () = (tmpnam_ 0) handle Fail s => raiseSys "tmpName" NONE s - - fun modTime p = - (Time.fromReal (modtime_ p)) - handle Fail s => raiseSys "modTime" (SOME p) s; - - fun fileSize p = - (filesize_ p) - handle Fail s => raiseSys "fileSize" (SOME p) s; - - fun remove p = - (remove_ p) - handle Fail _ => raiseSys "remove" (SOME p) "unlink"; - - fun rename {old, new} = - (rename_ (old, new)) - handle Fail _ => raiseSys "rename" (SOME old) "rename"; - - fun setTime (path, time) = - let val tsec = Time.toReal (case time of NONE => Time.now() | SOME t => t) - in - (settime_ (path, tsec)) - handle Fail s => raiseSys "setTime" (SOME path) s - end; - - fun openDir path = - (ref (SOME (opendir_ path))) - handle Fail s => raiseSys "openDir" (SOME path) s; - - fun isNull (s : string) = prim("__is_null", s) : bool - - fun readDir (ref NONE) = - raiseSysML "readDir" NONE "Directory stream is closed" - | readDir (arg as ref (SOME dstr)) = - let val entry = readdir_ dstr - val entry = if isNull entry then "" else entry - in - if entry <> Path.parentArc andalso entry <> Path.currentArc then - entry - else - readDir arg - end - - fun rewindDir (ref NONE) = - raiseSysML "rewindDir" NONE "Directory stream is closed" - | rewindDir (ref (SOME dstr)) = rewinddir_ dstr; - - fun closeDir (ref NONE) = () - | closeDir (r as ref (SOME dstr)) = - (r := NONE; closedir_ dstr); - end diff --git a/basis/MONO_ARRAY-1997.sml b/basis/MONO_ARRAY-1997.sml deleted file mode 100644 index b7e717032..000000000 --- a/basis/MONO_ARRAY-1997.sml +++ /dev/null @@ -1,33 +0,0 @@ -(*MONO_ARRAY.sml*) - -signature MONO_ARRAY = sig - eqtype array - eqtype elem - structure Vector : MONO_VECTOR - val maxLen : int - val array : (int * elem) -> array - val fromList : elem list -> array - val tabulate : (int * (int -> elem)) -> array - val length : array -> int - val sub : (array * int) -> elem - val update : (array * int * elem) -> unit - val extract : (array * int * int option) -> Vector.vector - val copy : {src : array, si : int, len : int option, dst : array, di : int} -> unit - val copyVec : {src : Vector.vector, si : int, len : int option, dst : array, di : int} -> unit - val appi : ((int * elem) -> unit) -> (array * int * int option) -> unit - val app : (elem -> unit) -> array -> unit - val foldli : ((int * elem * 'b) -> 'b) -> 'b -> (array * int * int option) -> 'b - val foldri : ((int * elem * 'b) -> 'b) -> 'b -> (array * int * int option) -> 'b - val foldl : ((elem * 'b) -> 'b) -> 'b -> array -> 'b - val foldr : ((elem * 'b) -> 'b) -> 'b -> array -> 'b - val modifyi : ((int * elem) -> elem) -> (array * int * int option) -> unit - val modify : (elem -> elem) -> array -> unit -end; (*signature MONO_ARRAY*) - -(* Type [array] is the type of one-dimensional, mutable, zero-based - constant-time-access arrays with elements of type elem. Arrays a1 and a2 - are equal if both were created by the same call to a primitive (array0, - array, tabulate, fromList). - - All operations are as for Array.array. -*) diff --git a/basis/MONO_VECTOR-1997.sml b/basis/MONO_VECTOR-1997.sml deleted file mode 100644 index 733e0d6e4..000000000 --- a/basis/MONO_VECTOR-1997.sml +++ /dev/null @@ -1,30 +0,0 @@ -(*MONO_VECTOR.sml*) - -signature MONO_VECTOR = sig - eqtype vector - eqtype elem - val maxLen : int - val fromList : elem list -> vector - val tabulate : (int * (int -> elem)) -> vector - val length : vector -> int - val sub : (vector * int) -> elem - val extract : (vector * int * int option) -> vector - val concat : vector list -> vector - val mapi : ((int * elem) -> elem) -> (vector * int * int option) -> vector - val map : (elem -> elem) -> vector -> vector - val appi : ((int * elem) -> unit) -> (vector * int * int option) -> unit - val app : (elem -> unit) -> vector -> unit - val foldli : ((int * elem * 'a) -> 'a) -> 'a -> (vector * int * int option) -> 'a - val foldri : ((int * elem * 'a) -> 'a) -> 'a -> (vector * int * int option) -> 'a - val foldl : ((elem * 'a) -> 'a) -> 'a -> vector -> 'a - val foldr : ((elem * 'a) -> 'a) -> 'a -> vector -> 'a -end; (*signature MONO_VECTOR*) - -(* Type [vector] is the type of one-dimensional, immutable, zero-based - constant-time-access vectors with elements of type elem. Type vector - admits equality, and vectors v1 and v2 are equal if they have the same - length and their elements are equal. - - All operations are as for Vector.vector. -*) - diff --git a/basis/Makefile b/basis/Makefile index 7377cced3..5d308453b 100644 --- a/basis/Makefile +++ b/basis/Makefile @@ -1,4 +1,3 @@ clean: rm -rf MLB run *~ *.vcg *.log - rm -rf web/MLB web/*~ web/*.vcg web/*.log rm -rf io/MLB io/*~ io/*.vcg io/*.log diff --git a/basis/OS_PATH-1997.sml b/basis/OS_PATH-1997.sml deleted file mode 100644 index c9df76bb1..000000000 --- a/basis/OS_PATH-1997.sml +++ /dev/null @@ -1,196 +0,0 @@ -(*OS_PATH.sml*) - -signature OS_PATH = sig - exception Path - - val parentArc : string - val currentArc : string - - val fromString : string -> {isAbs : bool, vol : string, arcs : string list} - val toString : {isAbs : bool, vol : string, arcs : string list} -> string - - val getVolume : string -> string - val validVolume : {isAbs : bool, vol : string} -> bool - val getParent : string -> string - - val isAbsolute : string -> bool - val isRelative : string -> bool - val mkAbsolute : string * string -> string - val mkRelative : string * string -> string - - val concat : string * string -> string - - val mkCanonical : string -> string - val isCanonical : string -> bool - - val splitDirFile : string -> {dir : string, file : string} - val joinDirFile : {dir : string, file : string} -> string - val dir : string -> string - val file : string -> string - - val splitBaseExt : string -> {base : string, ext : string option} - val joinBaseExt : {base : string, ext: string option} -> string - val base : string -> string - val ext : string -> string option -end; (*signature OS_PATH*) - -(* This module provides OS-independent functions for manipulating - strings that represent file names and paths in a directory - structure. None of these functions accesses the actual filesystem. - - Definitions: - - * An arc denotes a directory or file. Under Unix or DOS, an arc may - have form "..", ".", "", or "abc", or similar. - - * An absolute path has a root: Unix examples include "/", "/a/b"; - DOS examples include "\", "\a\b", "A:\a\b". - - * A relative path is one without a root: Unix examples include - "..", "a/b"; DOS examples include "..", "a\b", "A:a\b". - - * A path has an associated volume. Under Unix, there is only one - volume, whose name is "". Under DOS, the volume names are "", - "A:", "C:", and similar. - - * A canonical path contains no occurrences of the empty arc "" or - the current arc ".", and contains or the parent arc ".." only at - the beginning and only if the path is relative. - - * All functions (except concat) preserve canonical paths. That is, - if all arguments are canonical, then so will the result be. - - * All functions are defined so that they work sensibly on canonical - paths. - - * There are three groups of functions, corresponding to three ways - to look at paths, exemplified by the following paths: - - Unix: d/e/f/a.b.c and /d/e/f/a.b.c - DOS: A:d\e\f\a.b.c and A:d\e\f\a.b.c - - (1) A path consists of a sequence of arcs, possibly preceded by a - volume and a root: - - vol [--- arcs ---] vol root [--- arcs ---] - ------------------------------------------------------------------ - Unix examples: d e f a.b.c / d e f a.b.c - DOS examples: A: d e f a.b A: \ d e f a.b - - (2) A path consists of a directory part and a (last) file name part: - - directory file directory file - ------------------------------------------------------------------ - Unix examples: d/e/f a.b.c /d/e/f a.b.c - DOS examples: A:d\e\f a.b A:\d\e\f a.b - - (3) A path consists of a base and an extension: - - base extension base extension - ------------------------------------------------------------------ - Unix examples: d/e/f/a.b c /d/e/f/a.b c - DOS examples: A:d\e\f\a b A:\d\e\f\a b - - - GROUP 0: General functions on paths: - - [parentArc] is the arc denoting a parent directory: ".." under - DOS and Unix. - - [currentArc] is the arc denoting the current directory: "." under - DOS and Unix. - - [isRelative p] returns true if p is a relative path. - - [isAbsolute p] returns true if p is an absolute path. - Equals not (isRelative p). - - [validVolume {isAbs, vol}] returns true if vol is a valid volume - name for an absolute path (if isAbs=true) resp. for a relative path - (if isAbs=false). Under Unix, the only valid volume name is ""; - under DOS the valid volume names are "", "a:", "b:", ..., and "A:", - "B:", ... - - [getParent p] returns a string denoting the parent directory of p. - It holds that getParent p = p if and only if p is a root. - - [concat (p1, p2)] returns the path consisting of p1 followed by p2. - Does not preserve canonical paths: concat("a/b", "../c") equals - "a/b/../c". This is because "a/b/../c" and "a/c" may not be - equivalent in the presence of symbolic links. Raises Path if p2 is - not a relative path. - - [mkAbsolute(p1, p2)] returns the absolute path made by taking path - p2, then p1. That is, returns p1 if p1 is absolute; otherwise - returns the canonicalized concatenation of p2 and p1. Raises Path - if p2 is not absolute (even if p1 is absolute). - - [mkRelative(p1, p2)] returns p1 relative to p2. That is, returns - p1 if p1 is already relative; otherwise returns the relative path - leading from p2 to p1. Raises Path if p2 is not absolute (and even - if p1 is relative), or if p1 and p2 are both absolute but have - different roots. - - [mkCanonical p] returns a canonical path which is equivalent to p. - Redundant occurrences of the parent arc, the current arc, and the - empty arc are removed. The canonical path will never be the empty - string; the empty path is converted to the current directory path - ("." under Unix and DOS). - - [isCanonical p] is equal to (p = mkCanonical p). - - - GROUP 1: Manipulating volumes and arcs: - - [fromString s] returns {isAbs=false, vol, arcs} if the path p is - relative, and {isAbs=true, vol, arcs} if the path p is absolute. - In both cases vol is the volume name and arcs is the list of - (possibly empty) arcs of the path. Under Unix, the volume name is - always the empty string ""; under DOS it will have form "A:", "C:", - or similar. - - [toString path] reconstitutes a path from its root (if any) and - arcs. Raises Path if applied to a relative path whose first arc is - empty. It holds that toString(fromString p) = p, except that in MS - DOS, slashes "/" in p will be replaced by backslashes "\". It - holds that fromString (toString p) = p when no exception is raised. - It holds that isRelative(toString {isAbs=false, vol, arcs}) = true - when no exception is raised. - - - GROUP 2: Manipulating directory paths and file names: - - [splitDirFile p] returns {dir, file} where file is the last arc in - p, and dir is the path preceding that arc. A typical use is to - split a path into the directory part (dir) and the filename (file). - - [joinDirFile {dir, file}] returns the path p obtained by extending - the path dir with the arc file. - - [dir p] equals #dir (splitDirFile p). - - [file p] equals #file (splitDirFile p). - - - GROUP 3: Manipulating file names and extensions: - - [splitBaseExt s] returns {base, ext} where ext = NONE if s has no - extension, and ext = SOME e if s has extension e; base is the part - of s preceding the extension. A path s is considered having no - extension if its last arc contains no extension separator - (typically ".") or contains an extension separator only as its - leftmost character, or contains an extension separator as its - right-most character. Hence none of "a.b/cd", "a/.login", "a.", - "..", "." and "." has an extension. - - [joinBaseExt {base, ext}] returns an arc composed of the base name - and the extension (if different from NONE). It is a left inverse - of splitBaseExt, so joinBaseExt (splitBaseExt s) = s, but the - opposite does not hold (since the extension may be empty, or may - contain extension separators). - - [ext s] equals #ext (splitBaseExt s). - - [base s] equals #base (splitBaseExt s). -*) - diff --git a/basis/Path-1997.sml b/basis/Path-1997.sml deleted file mode 100644 index e9bbc2c17..000000000 --- a/basis/Path-1997.sml +++ /dev/null @@ -1,196 +0,0 @@ -(*Path.sml*) - -structure Path : OS_PATH = struct - exception Path - - (* It would make sense to use substrings for internal versions of - * fromString and toString, and to allocate new strings only when - * externalizing the strings. - - * Impossible cases: - UNIX: {isAbs = false, vol = _, arcs = "" :: _} - Mac: {isAbs = true, vol = _, arcs = "" :: _} - *) - - local - val op @ = List.@ - infix 9 sub - val op sub = String.sub - val substring = String.extract - - val slash = "/" - val volslash = "/" - fun isslash c = c = #"/" - fun validVol s = s = "" - - fun getVol s = - if size s >= 1 andalso isslash (s sub 0) then SOME "" - else NONE - - fun splitabsvolrest s = - if size s >= 1 andalso isslash (s sub 0) then - (true, "", substring(s, 1, NONE)) - else - (false, "", s); - in - - val parentArc = ".." - val currentArc = "." - - fun isAbsolute p = #1 (splitabsvolrest p) - - fun isRelative p = not (isAbsolute p); - - fun fromString p = - case splitabsvolrest p of - (false, v, "") => {isAbs=false, vol = v, arcs = []} - - | (isAbs, v, rest) => {isAbs=isAbs, vol = v, - arcs = String.fields isslash rest}; - - fun isRoot p = - case splitabsvolrest p of - (true, _, "") => true - | _ => false; - - fun getVolume p = #2 (splitabsvolrest p); - fun validVolume{isAbs, vol} = validVol vol; - - fun toString (path as {isAbs, vol, arcs}) = - let fun h [] res = res - | h (a :: ar) res = h ar (a :: slash :: res) - in - if validVolume{isAbs=isAbs, vol=vol} then - case (isAbs, arcs) of - (false, [] ) => vol - | (false, "" :: _ ) => raise Path - | (false, a1 :: arest) => - String.concat (vol :: List.rev (h arest [a1])) - - | (true, [] ) => vol ^ volslash - | (true, a1 :: arest ) => - String.concat (List.rev (h arest [a1, volslash, vol])) - else - raise Path - end; - - fun concat (p1, p2) = - let fun stripslash path = - if isslash (path sub (size path - 1)) then - substring(path, 0, SOME(size path - 1)) - else path - in - if isAbsolute p2 then raise Path - else - case splitabsvolrest p1 of - (false, "", "") => p2 - | (false, v, path) => v ^ stripslash path ^ slash ^ p2 - | (true, v, "" ) => v ^ volslash ^ p2 - | (true, v, path) => v ^ volslash ^ stripslash path ^ slash ^ p2 - end; - - fun getParent p = - let open List - val {isAbs, vol, arcs} = fromString p - fun getpar xs = - rev (case rev xs of - [] => [parentArc] - | [""] => if isAbs then [] else [parentArc] - | "" :: revrest => parentArc :: revrest - | "." :: revrest => parentArc :: revrest - | ".." :: revrest => parentArc :: parentArc :: revrest - | last :: revrest => revrest) - in - case getpar arcs of - [] => - if isAbs then toString {isAbs=true, vol=vol, arcs=[""]} - else currentArc - | arcs => toString {isAbs=isAbs, vol=vol, arcs=arcs} - end; - - fun mkCanonical p = - let val {isAbs, vol, arcs} = fromString p - fun backup [] = if isAbs then [] else [parentArc] - | backup (".."::res) = parentArc :: parentArc :: res - | backup ( _ :: res) = res - fun reduce arcs = - let fun h [] [] = if isAbs then [""] else [currentArc] - | h [] res = res - | h (""::ar) res = h ar res - | h ("."::ar) res = h ar res - | h (".."::ar) res = h ar (backup res) - | h (a1::ar) res = h ar (a1 :: res) - in h arcs [] end - in - toString {isAbs=isAbs, vol=vol, arcs=List.rev (reduce arcs)} - end; - - fun parentize [] = [] - | parentize (_::ar) = parentArc :: parentize ar; - - fun mkRelative (p1, p2) = - case (fromString p1, fromString (mkCanonical p2)) of - (_ , {isAbs=false,...}) => raise Path - | ({isAbs=false,...}, _ ) => p1 - | ({vol=vol1, arcs=arcs1,...}, {vol=vol2, arcs=arcs2, ...}) => - let fun h [] [] = ["."] - | h a1 [] = a1 - | h [] a2 = parentize a2 - | h (a1 as (a11::a1r)) (a2 as (a21::a2r)) = - if a11=a21 then h a1r a2r - else parentize a2 @ (if arcs1 = [""] then [] else a1) - in - if vol1 <> vol2 then raise Path - else toString {isAbs=false, vol="", arcs=h arcs1 arcs2} - end; - - - fun mkAbsolute (p1, p2) = - if isRelative p2 then raise Path - else if isAbsolute p1 then p1 - else mkCanonical(concat(p2, p1)); - - fun isCanonical p = mkCanonical p = p; - - fun joinDirFile {dir, file} = concat(dir, file) - - fun splitDirFile p = - let open List - val {isAbs, vol, arcs} = fromString p - in - case rev arcs of - [] => - {dir = toString {isAbs=isAbs, vol=vol, arcs=[]}, file = "" } - | arcn :: farcs => - {dir = toString {isAbs=isAbs, vol=vol, arcs=rev farcs}, - file = arcn} - - end - - fun dir s = #dir (splitDirFile s); - fun file s = #file(splitDirFile s); - - fun joinBaseExt {base, ext = NONE} = base - | joinBaseExt {base, ext = SOME ""} = base - | joinBaseExt {base, ext = SOME ex} = base ^ "." ^ ex; - - fun splitBaseExt s = - let val {dir, file} = splitDirFile s - open Substring - val (fst, snd) = splitr (fn c => c <> #".") (full file) - in - if isEmpty snd (* dot at right end *) - orelse isEmpty fst (* no dot *) - orelse size fst = 1 (* dot at left end only *) - then {base = s, ext = NONE} - else - {base = joinDirFile{dir = dir, - file = string (trimr 1 fst)}, - ext = SOME (string snd)} - end; - - fun ext s = #ext (splitBaseExt s); - fun base s = #base (splitBaseExt s); - - end -end; (*structure Path*) diff --git a/basis/TEXT_IO-1997.sml b/basis/TEXT_IO-1997.sml deleted file mode 100644 index c8a9a9611..000000000 --- a/basis/TEXT_IO-1997.sml +++ /dev/null @@ -1,195 +0,0 @@ -(*TEXT_IO.sml*) - -signature TEXT_IO = sig - type elem - type vector - - (*input:*) - - type instream - - val openIn : string -> instream - val closeIn : instream -> unit - val input : instream -> vector - val inputAll : instream -> vector - -(*not supported by MOSCOW ML either; it raises an exception. - val inputNoBlock : instream -> vector option -*) - val input1 : instream -> elem option - val inputN : instream * int -> vector - val inputLine : instream -> string - val endOfStream : instream -> bool - val lookahead : instream -> elem option - - type cs (* character source state *) - - val scanStream : ((char, cs) StringCvt.reader -> ('a, cs) StringCvt.reader) - -> instream -> 'a option - - val stdIn : instream - - (*output:*) - - type outstream - - val openOut : string -> outstream - val openAppend : string -> outstream - val closeOut : outstream -> unit - val output : outstream * vector -> unit - val output1 : outstream * elem -> unit - val outputSubstr : outstream * Substring.substring -> unit - val flushOut : outstream -> unit - - val stdOut : outstream - val stdErr : outstream - - val print : string -> unit -end; (*signature TEXT_IO*) - -(* This structure provides input/output functions on text streams. - The functions are state-based: reading from or writing to a stream - changes the state of the stream. The streams are buffered: output - to a stream may not immediately affect the underlying file or - device. - - Note that under DOS, Windows, OS/2, and MacOS, text streams will be - `translated' by converting (e.g.) the double newline CRLF to a - single newline character \n. - - Type instream is the type of state-based characters input streams, - and type outstream is the type of state-based character output - streams. - - Type elem is the type char of characters, and type vector is the - type of character vectors (strings). - - - TEXT INPUT: - - [openIn s] creates a new instream associated with the file named s. - Raises Io.Io is file s does not exist or is not accessible. - - [closeIn istr] closes stream istr. Has no effect if istr is closed - already. Further operations on istr will behave as if istr is at - end of stream (that is, will return "" or NONE or true). - - [input istr] reads some elements from istr, returning a vector v of - those elements. The vector will be empty (size v = 0) if and only - if istr is at end of stream or is closed. May block (not return - until data are available in the external world). - - [inputAll istr] reads and returns the string v of all characters - remaining in istr up to end of stream. - - [inputNoBlock istr] returns SOME(v) if some elements v can be read - without blocking; returns SOME("") if it can be determined without - blocking that istr is at end of stream; returns NONE otherwise. If - istr does not support non-blocking input, raises - Io.NonblockingNotSupported. - - [input1 istr] returns SOME(e) if at least one element e of istr is - available; returns NONE if istr is at end of stream or is closed; - blocks if necessary until one of these conditions holds. - - [inputN(istr, n)] returns the next n characters from istr as a - string, if that many are available; returns all remaining - characters if end of stream is reached before n characters are - available; blocks if necessary until one of these conditions holds. - (This is the behaviour of the `input' function prescribed in the - 1990 Definition of Standard ML). - - [inputLine istr] returns one line of text, including the - terminating newline character. If end of stream is reached before - a newline character, then the remaining part of the stream is - returned, with a newline character added. If istr is at end of - stream or is closed, then the empty string "" is returned. - - [endOfStream istr] returns false if any elements are available in - istr; returns true if istr is at end of stream or closed; blocks if - necessary until one of these conditions holds. - - [lookahead istr] returns SOME(e) where e is the next element in the - stream; returns NONE if istr is at end of stream or is closed; - blocks if necessary until one of these conditions holds. Does not - advance the stream. - - [stdIn] is the buffered state-based standard input stream. - - [scanStream scan istr] turns the instream istr into a character - source and applies the scanner `scan' to that source. See - StringCvt for more on character sources and scanners. The Moscow - ML implementation currently can backtrack only 512 characters, and - raises Fail if the scanner backtracks further than that. - - - TEXT OUTPUT: - - [openOut s] creates a new outstream associated with the file named - s. If file s does not exist, and the directory exists and is - writable, then a new file is created. If file s exists, it is - truncated (any existing contents are lost). - - [openAppend s] creates a new outstream associated with the file - named s. If file s does not exist, and the directory exists and is - writable, then a new file is created. If file s exists, any - existing contents are retained, and output goes at the end of the - file. - - [closeOut ostr] closes stream ostr; further operations on ostr - (except for additional close operations) will raise exception Io.Io. - - [output(ostr, v)] writes the string v on outstream ostr. - - [output1(ostr, e)] writes the character e on outstream ostr. - - [flushOut ostr] flushes the outstream ostr, so that all data - written to ostr becomes available to the underlying file or device. - - [stdOut] is the buffered state-based standard output stream. - - [stdErr] is the unbuffered state-based standard error stream. That - is, it is always kept flushed, so flushOut(stdErr) is redundant. - - - The functions below are not yet implemented: - - [setPosIn(istr, i)] sets istr to the (untranslated) position i. - Raises Io.Io if not supported on istr. - - [getPosIn istr] returns the (untranslated) current position of istr. - Raises Io.Io if not supported on istr. - - [endPosIn istr] returns the (untranslated) last position of istr. - Because of translation, one cannot expect to read - endPosIn istr - getPosIn istr - from the current position. - - [getPosOut ostr] returns the current position in stream ostr. - Raises Io.Io if not supported on ostr. - - [endPosOut ostr] returns the ending position in stream ostr. - Raises Io.Io if not supported on ostr. - - [setPosOut(ostr, i)] sets the current position in stream to ostr to - i. Raises Io.Io if not supported on ostr. - - [mkInstream sistr] creates a state-based instream from the - functional instream sistr. - - [getInstream istr] returns the functional instream underlying the - state-based instream istr. - - [setInstream(istr, sistr)] redirects istr, so that subsequent input - is taken from the functional instream sistr. - - [mkOutstream sostr] creates a state-based outstream from the - outstream sostr. - - [getOutstream ostr] returns the outstream underlying the - state-based outstream ostr. - - [setOutstream(ostr, sostr)] redirects the outstream ostr so that - subsequent output goes to sostr. - -*) diff --git a/basis/TIMER-1997.sig b/basis/TIMER-1997.sig deleted file mode 100644 index e27fba4a5..000000000 --- a/basis/TIMER-1997.sig +++ /dev/null @@ -1,42 +0,0 @@ -(* Timer -- SML Basis Library *) - -signature TIMER = - sig - type cpu_timer - type real_timer - - val startCPUTimer : unit -> cpu_timer - val totalCPUTimer : unit -> cpu_timer - val checkCPUTimer : cpu_timer -> {usr : Time.time, sys : Time.time, gc : Time.time} - - val startRealTimer : unit -> real_timer - val totalRealTimer : unit -> real_timer - val checkRealTimer : real_timer -> Time.time - end - -(* A [cpu_timer] measures the CPU time consumed. - - A [real_timer] measures the real time that has passed. - - [startCPUTimer ()] returns a cpu_timer started at the moment of - the call. - - [totalCPUTimer ()] returns a cpu_timer started at the moment the - library was loaded. - - [checkCPUTimer tmr] returns {usr, sys, gc} where usr is the amount - of user CPU time consumed since tmr was started, gc is the amount - of user CPU time spent on garbage collection, and sys is the - amount of system CPU time consumed since tmr was started. Note - that gc time is included in the usr time. Under MS DOS, usr time - and gc time are measured in real time. - - [startRealTimer ()] returns a real_timer started at the moment of - the call. - - [totalRealTimer ()] returns a real_timer started at the moment the - library was loaded. - - [checkRealTimer tmr] returns the amount of real time that has passed - since tmr was started. -*) diff --git a/basis/TextIO-1997.sml b/basis/TextIO-1997.sml deleted file mode 100644 index 621c09ece..000000000 --- a/basis/TextIO-1997.sml +++ /dev/null @@ -1,152 +0,0 @@ - -structure TextIO : TEXT_IO = - struct - - exception InputChar - type elem = char - type vector = string - - type instream = {ic: int, name: string} - type outstream = {oc: int, name: string} - - (* Primitives *) - fun sub_ (s:vector,i:int) : elem = prim ("__bytetable_sub", (s,i)) - fun size (s:vector): int = prim ("__bytetable_size", s) - fun alloc_string_ (i:int) : vector = prim("allocStringML", i) - fun update_ (s:vector,i:int,c:elem) : unit = prim("__bytetable_update", (s, i, c)) - fun chr_unsafe (i:int):char = prim ("id", i) - - val stdIn : instream = {ic=Initial.stdIn_stream, name=""} - val stdOut : outstream = {oc=Initial.stdOut_stream, name=""} - val stdErr : outstream = {oc=Initial.stdErr_stream, name=""} - - fun closeIn ({ic,...} : instream) : unit = prim ("closeStream", ic) - - fun inputN_ (ic:int, n:int) : string = prim ("inputStream", (ic, n)) - fun input1_ (ic:int) : int = prim ("input1Stream", ic) - - fun lookahead_ (ic: int): int = prim ("lookaheadStream", ic) - - exception CannotOpen - fun raiseIo fcn nam exn = - raise IO.Io {function = fcn^"", name = nam^"", cause = exn} - fun openIn (f: string) : instream = - {ic=prim("openInStream",(f, CannotOpen)), - name=f} handle exn => raiseIo "openIn" f exn - fun openOut(f: string): outstream = - {oc=prim("openOutStream",(f, CannotOpen)), - name=f} handle exn => raiseIo "openOut" f exn - fun openAppend(f: string): outstream = - {oc=prim("openAppendStream",(f, CannotOpen)), - name=f} handle exn => raiseIo "openAppend" f exn - - fun closeOut({oc, name}: outstream) : unit = prim ("closeStream", oc) - - fun flushOut({oc,name}: outstream) : unit = prim ("flushStream", oc) - - fun output0(os as {oc,name},str,function):unit = - (prim ("outputStream", (oc, str, IO.ClosedStream)); - if os = stdErr then flushOut os else ()) - handle exn as IO.ClosedStream => raiseIo function name exn - - - (* Body *) - - fun input1 ({ic, name} : instream) : char option = - let val res = input1_ ic - in if res < 0 then NONE - else SOME (chr_unsafe res) - end - - fun input ({ic, name} : instream) : string = inputN_ (ic, 64) - - fun inputN ({ic, name} : instream, n) = - if n < 0 orelse n > String.maxSize then raise Size - else - if n <= 64 then inputN_ (ic, n) - else - let - fun loop(n,acc) = - if n <= 64 then concat(rev (inputN_(ic, n) :: acc)) - else - let val s = inputN_(ic, 64) - val sz = size s - in if sz = 0 then concat(rev acc) - else loop(n-sz, s :: acc) - end - in loop(n,nil) - end - - fun inputAll (is as {ic, name} : instream) : string = - let fun loop (buffsz: int, acc: string list) : string = - let val s = inputN (is, buffsz) - in if size s < buffsz then concat(rev (s::acc)) - else loop(2* buffsz, s::acc) - end - in loop(64, []) - end - - type cs = int (* character source state *) - - val failscan = Initial.failscan - fun scanStream0 (scan, is as {ic, name} : instream) = - let - val buf = alloc_string_ 512 (* characters recently read *) - val read = ref 0 (* number of characters read *) - fun getc charno = - if charno < !read then (* already read *) - if charno >= !read - 512 then (* still in buffer *) - SOME(sub_ (buf, charno mod 512), charno+1) - else (* no longer in buffer *) - raise failscan - else (* charno = !read; read a new character *) - case input1 is - of SOME c => (update_ (buf, charno mod 512, c); - read := !read + 1; - SOME(c, charno+1)) - | NONE => NONE - in case scan getc 0 - of NONE => NONE - | SOME(res, _) => SOME res - end - - fun scanStream scan is = scanStream0(scan, is) -(* - fun inputNoBlock (is : instream) : vector option = - raise Fail "not implemented" -*) - - fun lookahead ({ic, name} : instream) : char option = - let val res = lookahead_ ic - in if res < 0 then NONE - else SOME(chr_unsafe res) - end - - fun endOfStream is = (lookahead is = NONE) - - fun inputLine(is) = - let fun loop(acc) = - case input1 is - of SOME (c as #"\n") => implode(rev(c :: acc)) - | SOME c => loop(c::acc) - | NONE => case acc - of [] => "" - | _ => implode(rev(#"\n" :: acc)) - in loop([]) - end - - fun output(os, str) = output0(os, str, "output") - - fun outputSubstr (os, sus) = - let val str = Substring.string sus - in output0(os,str,"outputSubstr") - end - - fun output1 (os, c) = - let val str = String.str c - in output0(os,str,"output1") - end - - val print = print - - end diff --git a/basis/Timer-1997.sml b/basis/Timer-1997.sml deleted file mode 100644 index 976a1230b..000000000 --- a/basis/Timer-1997.sml +++ /dev/null @@ -1,49 +0,0 @@ -(* Timer -- new basis 1995-03-20, 1995-09-14, 1995-11-06, 1997-03-07 *) - -(* Under DOS, real time and cpu time are the same *) - -structure Timer : TIMER = - struct - - type tusage = {gcSec : int, gcUsec : int, - sysSec : int, sysUsec : int, - usrSec : int, usrUsec : int} - - fun getrutime_ () : tusage = prim("sml_getrutime", ()) - - open Time - - type cpu_timer = {usr : time, sys : time, gc : time}; - type real_timer = time; - - val fromSeconds = fn s => fromSeconds(LargeInt.fromInt s) - val fromMicroseconds = fn s => fromMicroseconds(LargeInt.fromInt s) - - fun CPUTimer rutime = - let val {gcSec, gcUsec, sysSec, sysUsec, usrSec, usrUsec} - = rutime - in {usr = fromSeconds usrSec + fromMicroseconds usrUsec, - sys = fromSeconds sysSec + fromMicroseconds sysUsec, - gc = fromSeconds gcSec + fromMicroseconds gcUsec} - end - - fun startCPUTimer () = CPUTimer (getrutime_ ()) - - fun checkCPUTimer {usr, sys, gc} = - let val {gcSec, gcUsec, sysSec, sysUsec, usrSec, usrUsec} - = getrutime_ () - in {usr = fromSeconds usrSec + fromMicroseconds usrUsec - usr, - sys = fromSeconds sysSec + fromMicroseconds sysUsec - sys, - gc = fromSeconds gcSec + fromMicroseconds gcUsec - gc} - end - - fun startRealTimer () = now (); - - fun checkRealTimer time1 = now () - time1; - - (* Removed 1995-11-03, added again 1997-03-07 *) - - fun totalCPUTimer _ = CPUTimer Initial.initial_rutime - fun totalRealTimer _ = Initial.initial_realtime - - end diff --git a/basis/basis-1997.mlb b/basis/basis-1997.mlb deleted file mode 100644 index d06a46f91..000000000 --- a/basis/basis-1997.mlb +++ /dev/null @@ -1,147 +0,0 @@ -(* Initial allows for other modules to be discharged at link time *) - -local - Initial.sml - basis General = - bas - GENERAL.sig General.sml OPTION.sig Option.sml - end - - basis List = - let open General - in bas - LIST.sig List.sml LIST_PAIR.sml ListPair.sml - end - end - - basis Array = - let open General List - basis Poly = - let wordtables.sml - in bas - VECTOR.sig Vector.sml ARRAY.sig Array.sml - end - end - in bas - open Poly - MONO_VECTOR-1997.sml MONO_ARRAY-1997.sml ByteTable-1997.sml - end - end - - basis String = - let open General Array - in bas - STRING_CVT.sml StringCvt.sml - local open List - STR_BASE.sml StrBase.sml - in - Char.sml String.sml CHAR.sig STRING.sig SUBSTRING.sig Substring.sml - end - end - end - - basis Bool = - let open General String - in bas BOOL.sig Bool.sml end - end - - basis IntInfRep = - let open General List - in bas INT_INF_REP.sml IntInfRep.sml end - end - - basis Word = - let open General String IntInfRep - basis W = bas WORD.sig Word.sml Word64.sml Word63.sml Word32.sml Word31.sml Word8.sml end - basis PW = let open Array W - in bas PACK_WORD.sml Pack32Little.sml Pack32Big.sml end - end - in bas open W PW end - end - - basis Byte = - let open General String Array Word - in bas BYTE-1997.sig Byte-1997.sml end - end - - basis Int = - let open General String IntInfRep - in bas INTEGER.sml Int.sml Int32.sml Int31.sml Int63.sml Int64.sml end - end - - basis Real = - let open General String Int - in bas MATH.sig Math.sml REAL.sig Real.sml end - end - - basis IntInf = - let open General List Array String Word Int Real - in bas INT_INF.sml IntInf.sml end - end -(* - basis Polyhash = - let open General String Array Word - in bas POLYHASH.sml Polyhash.sml end - end -*) - basis Io = - let open General String List - in bas IO.sml TEXT_IO-1997.sml TextIO-1997.sml - local open Word Array Byte - in BIN_IO.sml BinIO.sml - end - end - end - - basis System = - let open General String Int - in let basis Time = let open Int IntInf Real in bas TIME.sig Time.sml end end - basis Random = let open Real in bas RANDOM.sig Random.sml end end - basis Path = let open List in bas OS_PATH-1997.sml Path-1997.sml end end - basis FileSys = let open List Time Random Path - in bas OS_FILE_SYS.sml FileSys-1997.sml end - end - basis Process = bas local open Time in OS_PROCESS.sml end local open List in Process.sml end end - basis Os = let open FileSys Path Process in bas OS.sml end end - basis CommandLine = bas COMMAND_LINE.sml CommandLine.sml end - basis Date = let open Int Real Time in bas DATE.sig Date.sml end end - basis Timer = let open Int Time in bas TIMER-1997.sig Timer-1997.sml end end - in bas open Time Random Path FileSys - Process Os CommandLine Date Timer - end - end - end -(* - basis Susp = (* Suspension *) - let open General String - in bas SUSP.sml Susp.sml end - end - - basis SetsAndMaps = - let open General String - in let basis Splay = let SPLAYTREE.sml Splaytree.sml - in bas SPLAYMAP.sml Splaymap.sml SPLAYSET.sml - local open List in Splayset.sml end - end - end - basis BinMap = bas BINARYMAP.sml Binarymap.sml INTMAP.sml Intmap.sml end - basis BinSet = bas BINARYSET.sml INTSET.sml - local open List in Binaryset.sml Intset.sml end - end - in bas open Splay BinMap BinSet end - end - end - - basis Regexp = (* Regular expression support *) - let open General String - in bas REG_EXP.sml local open Int Array List SetsAndMaps in RegExp.sml end end - end -*) - basis Sml90 = - let open General List String Real Io - in bas SML90.sml end - end - -in - open General List Array String Bool Word Byte Int Real IntInf Io System Sml90 -end diff --git a/basis/web/DbFunctor.sml b/basis/web/DbFunctor.sml deleted file mode 100644 index bcbd955c1..000000000 --- a/basis/web/DbFunctor.sml +++ /dev/null @@ -1,352 +0,0 @@ - -functor DbFunctor (structure DbBackend : WEB_DB_BACKEND - val name : string) - - :> WEB_DB where type 'a Type = 'a DbBackend.Type = - struct - structure DbBasic = DbBackend.DbBasic - type ns_db = int - type quot = string frag list - type 'a Type = 'a DbBackend.Type - - fun getOpt (opt,default) = - case opt of - SOME v => v - | NONE => default - - val dbCache = Web.Cache.get(Web.Cache.String, Web.Cache.Int, - "__InternalCache:DBTABLE", - Web.Cache.WhileUsed(NONE,NONE)) - val unique_number = case (Web.Cache.lookup dbCache name) - of NONE => (let val u = Unique.unique() - in (Web.Cache.insert (dbCache, name, u, NONE); u) - end) - | SOME u => u - val config = fn a => DbBackend.config unique_number a - fun quotToString (q : quot) : string = - concat(map (fn QUOTE s => s | ANTIQUOTE s => s) q) - - (*structure Pool = - struct - type pool = string - type db = pool * ns_db - local - val pools : pool list ref = ref [] - in -(* - fun initPools {section,key} = - case NsInfo.configGetValue{sectionName=section, key=key} of - SOME ps => pools := (String.tokens (fn ch => ch = #",") ps) - | NONE => raise (Fail ("initPools.no pools specified in file " ^ NsInfo.configFile() ^ - "; section " ^ sectionName ^ " and key " ^ key ^ ".")) -*) - fun initPools pns = pools := pns - fun putPool pn = pools := pn :: !pools - fun getPool () = - case !pools of - [] => raise Fail "getPool.no more pools" - | pn::ps => (pools := ps; pn) - fun toList () = !pools - fun pp () = - let - fun sl2s sep [] = "" - | sl2s sep l = concat (tl (foldr (fn (s,acc)=>sep::s::acc) [] l)) - in - sl2s "," (!pools) - end - fun ppDb (db:db) : string = Quot.toString `db=(^(#1 db),^(Int.toString (#2 db)))` - end - end*) - -(* type pool = Pool.pool *) - type db = DbBackend.DbHandle - - open DbBasic - - structure Handle : WEB_DB_HANDLE = - struct - type db = DbBackend.DbHandle - - val getHandle = fn () => DbBackend.getHandle unique_number - - val putHandle = DbBackend.putHandle - - fun wrapDb f = - let val db = getHandle() - in (f db before putHandle db) - handle X => (putHandle db; raise X) - end - - fun panicDmlDb (db:db) (f_panic: quot -> 'a) (q: quot) : unit = - (DbBackend.dmlDb db q handle X => (f_panic (q ^^ `^("\n") ^(General.exnMessage X)`); ())) - - val dmlDb = DbBackend.dmlDb - - val execDb = DbBackend.execDb - - val dmlTransDb = DbBackend.dmlTransDb - - val dmlTrans = fn f => wrapDb (fn z => dmlTransDb z f) - - fun panicDmlTransDb (db:db) (f_panic: quot -> 'a) (f: db -> 'a) : 'a = - dmlTransDb db f handle X => (f_panic(`^(General.exnMessage X)`)) - - fun panicDmlTrans (f_panic: quot -> 'a) (f: db -> 'a) : 'a = - dmlTrans f handle X => (f_panic(`^(General.exnMessage X)`)) - - fun foldDbCol (db:db) (f:string list -> (string->string option)*'a->'a) (acc:'a) (sql:quot) : 'a = - let - val (s,r) = DbBackend.selectDb db sql - val f' = f r - fun loop (acc:'a) : 'a = - case DbBackend.getRowDb s of SOME g => loop (f'(g,acc)) - | NONE => acc - in loop acc - end - - fun foldDb (db : db) f acc sql = foldDbCol db (fn c => fn (g,a) => f (fn x => if List.exists (fn c' => c' = x) c - then getOpt(g x, "") - else "##", - a)) acc sql - - fun foldDbRaw (db:db) (f:string option list * 'a -> 'a) (a:'a) (sql:quot) : 'a = - let val (s,r) = DbBackend.selectDb db sql - fun loop (acc:'a) : 'a = - case DbBackend.getRowListDb s of - NONE => acc - | SOME l => loop(f(l,acc)) - in loop a - end - - fun appDbCol (db:db) (f:string list -> (string->string option)->'a) (sql:quot) : unit = - let - val (s,r) = DbBackend.selectDb db sql - val f' = f r - fun loop () : unit = - case DbBackend.getRowDb s of SOME g => (f' g; loop ()) - | NONE => () - in loop () - end - - fun appDb db f sql = appDbCol db (fn c => fn g => f(fn x=> if List.exists (fn c' => x = c') c - then getOpt (g x,"") - else "##")) sql - - fun listDbCol (db:db) (f:string list -> (string->string option)->'a) (sql: quot) : 'a list = - let - val (s,r) = DbBackend.selectDb db sql - val f' = f r - fun loop () : 'a list = - case DbBackend.getRowDb s of SOME g => f' g :: loop() - | NONE => [] - in - loop () - end - - fun listDb db f sql = listDbCol db (fn c => fn g => f(fn x=> if List.exists (fn c' => x = c') c - then getOpt(g x, "") - else "##")) sql - - fun oneWrap f m db sql = let val (s,r) = DbBackend.selectDb db sql - val res = f s - in case DbBackend.getRowDb s of NONE => res - | SOME _ => raise Fail (m ^ ".more than one row") - end - - val oneFieldDb = oneWrap - (fn s => - case DbBackend.getRowListDb s of NONE => raise Fail "Db.oneFieldDb.no rows" - | SOME [x] => getOpt(x,"") - | SOME _ => raise Fail "Db.oneFieldDb.size of result not one") - "oneFieldDb" - - val zeroOrOneFieldDb = - oneWrap - (fn s => case DbBackend.getRowListDb s of NONE => NONE - | SOME [x] => SOME (getOpt(x,"")) - | SOME _ => raise Fail "zeroOrOneFieldDb.size of set is not one") - "zeroOrOneFieldDb" - - val oneRowDb = - oneWrap - (fn s => case DbBackend.getRowListDb s of NONE => raise Fail "Db.oneRowDb.no rows" - | SOME l => map (fn x => getOpt(x, "")) l) - "oneRowDb" - - fun oneRowDb' db (f:(string->string)->'a) (sql:quot) : 'a = - let - val (s,c) = DbBackend.selectDb db sql - val res = - case DbBackend.getRowDb s of NONE => raise Fail "Db.oneRowDb'.no rows" - | SOME g => f(fn x=> if List.exists (fn c' => c' = x) c - then getOpt(g x,"") - else "##") - in - case DbBackend.getRowDb s of NONE => res - | SOME _ => raise Fail "oneRowDb'.more that one row" - end - - val zeroOrOneRowDb = oneWrap (fn r=> Option.map (map (fn x => getOpt(x,""))) - (DbBackend.getRowListDb r)) "zeroOrOneRowDb" - - fun zeroOrOneRowDb' db f sql : 'a option = - let - val (s,c) = DbBackend.selectDb db sql - val res = Option.map (fn g => f(fn y => if List.exists (fn c' => c' = y) c - then getOpt(g y, "") - else "##")) (DbBackend.getRowDb s) - in - case DbBackend.getRowDb s of NONE => res - | SOME _ => raise Fail "zeroOrOneRowDb'.more than one row" - end - - fun existsOneRowDb db sql : bool = - let val (s,_) = DbBackend.selectDb db sql - in case DbBackend.getRowDb s of NONE => false - | SOME _ => true - end - - fun seqNextvalDb db (seqName:string) : int = - let val s = oneFieldDb db `select ^(seqNextvalExp seqName) ^fromDual` - in case Int.fromString s of - SOME i => i - | NONE => raise Fail "Db.seqNextval.nextval not an integer" - end - - fun seqCurrvalDb db (seqName:string) : int = - let val s = oneFieldDb db `select ^(seqCurrvalExp seqName) ^fromDual` - in case Int.fromString s of - SOME i => i - | NONE => raise Fail "Db.seqCurrval.nextval not an integer" - end - - (* Stored Procedures *) - fun execSpDb (db: db) ([]: quot list) : unit = () - | execSpDb (db: db) (qs: quot list) : unit = - let val body = Quot.concatWith ";\n" qs - in dmlDb db (`declare begin ` ^^ body ^^ `; end;`) - end - end (* structure Handle *) - - fun dml (q: quot) : unit = Handle.wrapDb (fn db => Handle.dmlDb db q) - fun exec (q: quot) : unit = Handle.wrapDb (fn db => Handle.execDb db q) - - fun maybeDml (q: quot) : unit = dml q handle X => () - - fun panicDml (f_panic: quot -> 'a) (q: quot) : unit = - dml q handle X => (f_panic (q ^^ `^("\n") ^(General.exnMessage X)`); ()) - - (* Stored Procedures *) - fun execSp qs : unit = Handle.wrapDb (fn db => Handle.execSpDb db qs) - - fun fold (f:(string->string)*'a->'a) (acc:'a) (sql:quot) : 'a = - Handle.wrapDb (fn db => Handle.foldDb db f acc sql) - - fun foldCol (f:string list -> (string->string option)*'a->'a) (acc:'a) (sql:quot) : 'a = - Handle.wrapDb (fn db => Handle.foldDbCol db f acc sql) - - fun foldRaw (f:string option list * 'a -> 'a) (acc:'a) (sql:quot) : 'a = - Handle.wrapDb (fn db => Handle.foldDbRaw db f acc sql) - - fun app (f:(string->string)->'a) (sql:quot) : unit = - Handle.wrapDb (fn db => Handle.appDb db f sql) - - fun appCol (f:string list -> (string->string option)->'a) (sql:quot) : unit = - Handle.wrapDb (fn db => Handle.appDbCol db f sql) - - fun list (f:(string->string)->'a) (sql:quot) : 'a list = - Handle.wrapDb (fn db => Handle.listDb db f sql) - - fun listCol (f:string list -> (string->string option)->'a) (sql:quot) : 'a list = - Handle.wrapDb (fn db => Handle.listDbCol db f sql) - - fun oneField (sql : quot) : string = - Handle.wrapDb (fn db => Handle.oneFieldDb db sql) - - fun zeroOrOneField (sql : quot) : string option = - Handle.wrapDb (fn db => Handle.zeroOrOneFieldDb db sql) - - fun oneRow sql : string list = - Handle.wrapDb (fn db => Handle.oneRowDb db sql) - - fun oneRow' (f:(string->string)->'a) (sql:quot) : 'a = - Handle.wrapDb (fn db => Handle.oneRowDb' db f sql) - - fun zeroOrOneRow sql : string list option = - Handle.wrapDb (fn db => Handle.zeroOrOneRowDb db sql) - - fun zeroOrOneRow' (f:(string->string)->'a) (sql:quot) : 'a option = - Handle.wrapDb (fn db => Handle.zeroOrOneRowDb' db f sql) - - fun existsOneRow sql : bool = - Handle.wrapDb (fn db => Handle.existsOneRowDb db sql) - - fun qq s = - let - fun qq_s' [] = [] - | qq_s' (x::xs) = if x = #"'" then x :: x :: (qq_s' xs) else x :: (qq_s' xs) - in - implode(qq_s'(explode s)) - end - - fun qqq s = concat ["'", qq s, "'"] - - local - fun mthToName mth = - case mth of - 1 => Date.Jan - | 2 => Date.Feb - | 3 => Date.Mar - | 4 => Date.Apr - | 5 => Date.May - | 6 => Date.Jun - | 7 => Date.Jul - | 8 => Date.Aug - | 9 => Date.Sep - | 10 => Date.Oct - | 11 => Date.Nov - | 12 => Date.Dec - | _ => raise Fail ("DbFunctor.toDate: " ^ (Int.toString mth)) - in - fun toDate s = - (case (RegExp.extract o RegExp.fromString) "([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9]).*" s of - SOME [yyyy,mm,dd] => SOME (Date.date{year=Option.valOf (Int.fromString yyyy), - month=mthToName (Option.valOf (Int.fromString mm)), - day=Option.valOf (Int.fromString dd), - hour=0,minute=0,second=0,offset=NONE}) - | _ => NONE) - handle _ => NONE - - fun toTimestamp t = - (case (RegExp.extract o RegExp.fromString) "([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9]) ([0-9][0-9]):([0-9][0-9]):([0-9][0-9]).*" t of - SOME [yyyy,mm,dd,h,m,s] => SOME (Date.date{year=Option.valOf (Int.fromString yyyy), - month=mthToName (Option.valOf (Int.fromString mm)), - day=Option.valOf (Int.fromString dd), - hour=Option.valOf(Int.fromString h), - minute=Option.valOf(Int.fromString m), - second=Option.valOf(Int.fromString s), - offset=NONE}) - | _ => NONE) - handle _ => NONE - end - - fun toBool "t" = SOME true - | toBool "f" = SOME false - | toBool _ = NONE - - fun fromBool true = "t" - | fromBool false = "f" - - fun toReal r = Real.fromString r - fun fromReal r = Real.toString r - - fun valueList vs = String.concatWith "," (List.map qqq vs) - fun setList vs = String.concatWith (Quot.toString `, -`) (List.map (fn (n,v) => n ^ "=" ^ qqq v) vs) - - fun seqNextval (seqName:string) : int = - Handle.wrapDb (fn db => Handle.seqNextvalDb db seqName) - - fun seqCurrval (seqName:string) : int = - Handle.wrapDb (fn db => Handle.seqCurrvalDb db seqName) - end diff --git a/basis/web/HTML.sig b/basis/web/HTML.sig deleted file mode 100644 index 9189abf5c..000000000 --- a/basis/web/HTML.sig +++ /dev/null @@ -1,346 +0,0 @@ -signature HTML = - sig - (* Type of an url consists of a file part and form variables *) - type fv = string - type fv_val = string - type fvs = (fv * fv_val) list - type url = {file: string, fvs: fvs} - val getFileFromUrl : url -> string - val flattenUrl : url -> string - val getFvsFromUrl : url -> fvs - val buildUrl : string -> fvs -> url - - (* HTML generic marks *) - val mark0 : string -> quot - val mark0a : string -> string -> quot - val mark1 : string -> quot -> quot - val mark1a : string -> string -> quot -> quot - val comment : string -> quot - - (* HTML documents and headers *) - val html : quot -> quot - val head : quot -> quot - val title : quot -> quot - val body : quot -> quot - val bodya : string -> quot -> quot - val htmldoc : quot -> quot -> quot - - (* HTML headings and vertical format *) - val h1 : quot -> quot - val h2 : quot -> quot - val h3 : quot -> quot - val h4 : quot -> quot - val h5 : quot -> quot - val h6 : quot -> quot - val p : quot -> quot - val pa : string -> quot -> quot - val br : quot - val bra : string -> quot - val hr : quot - val hra : string -> quot - - val divi : quot -> quot - val divia : string -> quot -> quot - val blockquote : quot -> quot - val blockquotea : string -> quot -> quot - val center : quot -> quot - val address : quot -> quot - val pre : quot -> quot - - (* HTML anchors and hyperlinks *) - val ahref : quot -> quot -> quot - val ahrefa : quot -> quot -> quot -> quot - val aname : string -> quot -> quot - val aemail : string -> string -> quot - - (* HTML text formats and style *) - val em : quot -> quot - val strong : quot -> quot - val tt : quot -> quot - val sub : quot -> quot - val sup : quot -> quot - val fonta : string -> quot -> quot - - (* HTML lists *) - val ul : quot -> quot - val ula : string -> quot -> quot - val ol : quot -> quot - val ola : string -> quot -> quot - val li : quot -> quot - val dl : quot -> quot - val dla : string -> quot -> quot - val dt : quot -> quot - val dd : quot -> quot - - (* HTML tables *) - val table : quot -> quot - val tablea : string -> quot -> quot - val tr : quot -> quot - val tra : string -> quot -> quot - val td : quot -> quot - val tda : string -> quot -> quot - val th : quot -> quot - val tha : string -> quot -> quot - val caption : quot -> quot - val captiona : string -> quot -> quot - - (* HTML images and image maps *) - val img : string -> quot - val imga : string -> string -> quot - val map : string -> quot -> quot - val mapa : string -> string -> quot -> quot - val area : {alt : string option, coords : string, - href : string option, shape : string} -> quot - - (* HTML forms etc *) - val form : string -> quot -> quot - val forma : string -> string -> quot -> quot - val input : string -> quot - val inputa : string -> string -> quot - val intext : string -> quot -> quot - val inpassword : string -> string -> quot - val incheckbox : {name : string, value : string} -> string -> quot - val inradio : {name : string, value : string} -> string -> quot - val inreset : string -> string -> quot - val insubmit : string -> string -> quot - val inhidden : string -> string -> quot - val textarea : string -> quot -> quot - val textareaa : string -> string -> quot -> quot - val select : string -> string -> quot -> quot - val option : string -> string -> quot - - val export_hiddens : (string * string) list -> quot - val export_url_vars: (string * string) list -> quot - val genUrl : string -> (string * string) list -> string - val genUrla : string -> (string * string) list -> string -> string - (* HTML frames and framesets *) - val frameset : string -> quot -> quot - val frame : { src : string, name : string } -> quot - val framea : { src : string, name : string } -> string -> quot - - (* HTML encoding *) - val urlencode : string -> string - val htmlencode : quot -> quot - - (* HTML converter *) - val convertTags : string -> string -end - -(* - This module provides HTML support functions for SMLserver scripts - - HTML generic marks: - - [mark0 t] generates the HTML tag as a quot. - - [mark0a attr t] generates the attributed HTML tag as a quot. - - [mark1 t ws] generates ws as a quot. - - [mark1a attr t ws] generates ws as a quot. - - [comment ws] generates as a quot. - - - HTML documents and headers: - - [html ws] generates ws. - - [head ws] generates ws. - - [title ws] generates ws. - - [body ws] generates ws. - - [bodya attr ws] generates ws. - - [htmldoc titl ws] generates - titlws. - - - HTML headings and vertical format: - - [h1 ws] generates

ws

. - - [p ws] generates

ws

. - - [pa attr ws] generates

ws

. - - [br] generates
. - - [bra attr] generates
. - - [hr] generates
. - - [hra attr] generates
. - - [divi ws] generates
ws
. - - [divia attr ws] generates
ws
. - - [blockquote ws] generates
ws
. - - [blockquotea attr ws] generates
ws
- - [center ws] generates
ws
. - - [address ws] generates
ws
. - - [pre ws] generates
ws
. - - - HTML anchors and hyperlinks: - - [ahref link ws] generates
ws. - - [ahrefa link attr ws] generates ws. - - [aname nam ws] generates ws. - - [aemail email name] generate name. - - HTML text formats and style: - - [em ws] generates ws. - - [strong ws] generates ws. - - [tt ws] generates ws. - - [sub ws] generates ws. - - [sup ws] generates ws. - - [fonta attr ws] generates ws. - - - HTML lists: - - [ul ws] generates
    ws
. - - [ula attr ws] generates
    ws
. - - [ol ws] generates
    ws
. - - [ola attr ws] generates
    ws
. - - [li ws] generates
  • ws
  • . - - [dl ws] generates
    ws
    . - - [dla attr ws] generates
    ws
    . - - [dt ws] generates
    ws
    . - - [dd ws] generates
    ws
    . - - - HTML tables: - - [table ws] generates ws
    . - - [tablea attr ws] generates ws
    . - - [tr ws] generates ws. - - [tra attr ws] generates ws. - - [td ws] generates ws. - - [tda attr ws] generates ws. - - [th ws] generates ws. - - [tha attr ws] generates ws. - - [caption ws] generates ws. - - [captiona attr ws] generates ws. - - - HTML images and image maps: - - [img s] generates . - - [imga s attr] generates . - - [map nam ws] generates ws. - - [mapa nam attr ws] generates ws. - - [area { alt, coords, href, shape}] generates - desc - when href is SOME link (where HREF is replaced by NOHREF otherwise) - and alt is SOME desc (where ALT is omitted otherwise). - - - HTML forms etc: - - [form act ws] generates
    ws
    . - - [forma act attr ws] generates
    ws
    . - - [input typ] generates . - - [inputa typ attr] generates . - - [intext name attr] generates . - - [inpassword name attr] generates . - - [incheckbox {name, value} attr] generates - . - - [inradio {name, value} attr] generates - . - - [inreset value attr] generates . - - [insubmit value attr] generates . - - [inhidden name value] generates - . - - [textarea name ws] generates . - - [textareaa name attr ws] generates - . - - [select name attr ws] generates . - - [option value] generates

    KOaNEd}#OLMGdF~In#QQv#^Yw9? zL@9Te0m?iI_mMDvtClEz#tf%dpV08#snfu1g_DzH)s$&2;p@j8((~<$$<^;XF!4wvuP;B-BtZe!*2UB z!e@;vu7Z03G9&(>WM8lDKy(~=%9i|go_j3~fyx2M5hlkr$) zZ1H>FHER91bikk%1^-l+6lXqt;OHC|atg3XfI})D45Hh0K(MO zzmOz9LR)l)R{&MEL@rOlgQ#IH9;$73U$dC5QbaxG%fSgO5x*dJxI=zXEq*?6!$c>- zbh`2yD4LZIisrlIS12Z5`_>Qfgke81R7;1qC9Pj_~SZ zyFHd)vq&CIq)s6j$L*5qs+1E>vZqi#pMazy1IX4`8_i_fWBF;0Hdg1~PYjndZ+JPa#r-?&C`qAuCvhRxb1k_#c3SJC5tPLmzxT zff*T*F;r`v?p!N|fZ>x-J4ncDA&|KxSe(-U$`D%iMx?&Nqi@@>&nE~J5Z}d#HF`2g zpquF~f;ryqgx4pG`;(ts09vxt=KA#4;AA9#$@=|?ldoT=ge)gMuZI(HVR+8|w)c5l z@zC-P;R|OaW}-{*K1%+^CR$@UoNWY=*8yOc^4pMR=3a9Cnnh#h6rwRPVAa5N4tPn) zk^Tp=cj*x09-ay(=LhE*>p&6c?AULwPlzU0jogI}v%9WPwj3j}@DHsaAqGC#n?@fX zTD}I_1fBru2^==j=-w=CuJYuD()9a2O|Ni@w%w2%g3QN?FQu!VXEPDiw zu#HgcwfYxBS~eX?0X<p=fG}8lIk|Za3e0R`88Z{39&HG2(02+x>P*nkx zn9*~|jt}VXQnsV;8Sq9Q@`V+6fJ}lS$s`v&9QtD5q588vz$8B)|JmnOJs>yrt^xT9 zkSs%i@VbYi{?<>5z(8~{6BE!9PgJRM5q9yLjb`NcTj&3d3pAZTI77N5A=YC`U#R@v zr&?^ZWwB#;oGaQX%B?{0t1Q8(Z20m3;;6?j!=~_6hiT!$1gtQsJhHGFUuF#34Fms1QYmX8(S0sRfiz5ADs-moIUAdA{jK$5jwQwuAJ|$lZ*VD_ zfIYnvUcVMnkwD~uouS`&E!(k05Op=3zt@``0A263b#y>1aAP_{xh~y5@jcE-Tjv|& zJZ*r$L!Kxw-$R^foAJ+CM|>ut8WkYg<2%pA8)0Ahsp}0t5&i6S9hr(>J z`*{635B#XIhe8PJBo@;KMCx@G#4zAKs74I^xdWa>r{Mr&*PrSGDwC(@>G}f|@R@6q zM;AzGr{qNlIpvAoV|A$agzEb_p^ygXx}=jQjUMjIiSKsMpeT)WGRjEr&?Wcdu;xG~Uf^V%-7 z-z1NGeNwaxm9g~2mrk035C$m+F3Pvp-|}Xwr4b8vp_5QtY~5G-i1LQ|(QJ->1u?)Bvz1#HY{e zmnR)HT@BS%Fx*GolH3h_`vzEhYIFsYrw7Ab`Kz@*1BQSw{cK$?Qwg-@1(iK*i9u#7&kg*1y7#LzVg9uhNNxlrGcxr1tS*9~o3%y6y|fb$rS3HcBqaH2`m<)h2 z;iWya{+Yy*<7ICQGIY#8lS45Wt&U@xOR|gNYKJo#(u3nmY2V#cJ`j+@cE*asmgBk* z;2;i3#W%89%wtMc%k!7V^)0EGaa%nm?JT#I#F{+m&iluIot|@YiP>_sy!J$nD(>rn zVeg&Mua#U@$H9}Rouqj|s8M#$QS?tSNwB6Ju#|P8AMtGE4GuTZ-rFU4Po@Aa*i~9m znY?;7u1y{%Dti<6&ov!}E4+;4ry%%d0&eM{+aisy-uG!g*@g4qd9>q}2-TEUD1n}8 zGfJQHnO2sE8?;55Wwim(4+yU2n|}tR(jYS&2Mm*g-mnOP-K=)>A`@sc;OB1zJ>8#| zJD{H}Oewo@Y0CZc^2y#ROA&XJn`0EsuBb4id8d-^$MAclO55p2pbH`fi;?@s@fbVF zw0TEwi56zuT2M`A>r`7%p&;bp9>D+T#x=YHiur=7cvsL|gNerrvS+A&gauu)7V5aU zeWI+W;0f;r%z2xm`WBWpaXg@)-l4k=T(tw>Vz4HZt$*JGKbC5Q`sioC0d$r$s7uet zl-`}*_uqR#=sDC9-cl&P8cM)~J5Y;dZF}<(eUIo$+b3xlNo`&v;D%^gwKXb!F7%%P zHI6NXoZD($NfVpMXxPRZ$gEX0Q^Vnq||Lik-IgrFR*m>|0YKX_}o4Gn@-UBF4A=|M)tH&DDs z@MzT10FWHSX{2-do}DM)jQ6zdGdgFTf)ib!QcXWGQG0*>tzJ3cqVWgZzQ-5!mJau0 zw~pO*e7>b=02CsP=eBq-hnW@0U|h7l{_?dDI&{zOf)W{5+#}%7J{=tIpQ>2Ys2r!k zbmak{Gv)ED->33_P%MSudbaR~?>hs60sEK2;Y73P>~>AEoCC~eNI)n6(Dau0`*itGgF9nRWEs|x?sQe}8DKbo@BEx~U>+^P%uw8w z9WybuB&!*4`u#J6uvegMx0Mmf(uL}1XOW0kqyM)ayTypflqA(Q(vzVXaZO)=xCp*c zK(>MVPvo$WlTj=u35mkkRfwP?``^p3UVVXJ4-TsH1%JU~UYu$AH|*G3nwwMOpw77d^>4mTrXp6`#m?rqe*r`1dAgTlKJ9vz9 zlb|E(e+}bJA+hY3^`k&XH>Wd&b;x%fm2W*t6cn< z34o&eHds9Ih zK|7CZxD_RYyq*9?Q>r2WaEYN0=F7=L{}V8H#|fSf3_gxDXaMz{itJCC^BXDQGUj1r z;GR{as@IQ^8Km9e-N!C#AguB5q9-wYdZJ^E@I7?5Z zlpakt{BdFqM=*^v>PFnOtVqNK=X**@4YtVdx`N*WQeK|r!2*KbdqN@h;h=k$9eQ#% zjg^re+d{tTu|osNan8d(>=Yy4a?86_TxhDLAO`=K%=iq*W8>y@zD*;%!BYE#J~fE7 zxXwdutmK!<=tuK_`RhX8&kY6;uTQ%GR`p1G{u`T@srFGwQK^YIc@&3@x6lc-yDVQ7?)Hq++`jdk9q9kw zL(ZcE*H{I&w_4kXNB{^0nuA`Gc<;z~V%J86oS-K%_$9Rct_P1fji8&g z>LoFeNdJ9Z{fIMP=A6phW;qmO!)hVpfJdE7ZOjqmEUR_S_vF#p~ZF+rRo#Luuy*H&3N0sncwm!7Q7r<=m^VcpcrCywo zemhOy!*xZFk8BRGdDO~kl39rd@3`FvpYK$_U!#6#zvP4nL2IU^(kA#3x|; zZXyqI3dnZHBdZu8_OOKSdkWWqf-x;c&`$u*obsG#w+8Q(nE-{r(m>W4nm8HnkF zo}x)W3VZGxEU)Ew$OALeromGWrOYU-U4TW{ZljN(j~pm5w=6Ax28-+6RUplSG{~Rj zSc#vjz*|ZzgA@R>6(EdL*``4Nh6l|9ZEufeFeePu6cE#;%ntky*4b`$epV}`vU_wW z+9z)_C1O!zuE}F_VLw7cn5+RJ(z=rl0Tm2=n=rR`Hs`03GLwOsd_{33yoTP)02YQ^ zPul@}tu_h)*z{S&3`*pF9-20h)fX0i|E%^Z>CstC09g`94O_@QDi^57-9Pc|k7S0I z0k;YF6wTxoMX(~X-Mgm0mgHU(NC{s63tznXq*WH>6W-+#MTiMURc>)$6fb4PJzit3i znVF?AtE{pqNsrkDCD)#XGZ|({e?A zvb)FZLgq@YD{Z(%QGhEp}#R4Z(iHqCy4HT&9$RBXsQGf+B_Z@v7pQtAQOC$(-0_A3x2Jfv%Yj+Lrq%W6Lh z3G!KAM+%sFFTl;wUB$KPM-NqK>3V!C;m;sWd-LorI}y*cIM|+*yXWfs*B+v0amvV} z@03^0hp;Sgz+ZPP@-LaqT*^_i9D82*W$4fo}EgaDZ;2(6akl z+^p|sNu~z$W=j;Em}{osCchY~~G`BJul&s3ImZzbY?ipKFT5T@LZXvM$BuL55z@y_mgUM%r zh#X?r?EbQRwlBI401eP93Awz_AOr2^hY?yqvU&EG4q!!Vb1!ZA3<3yCK+4UuM30N>BdT*z zW35dIKZ^y})ya%>|8NYB8+fGPv%Rw|LhA zdm=vvVgkacFt?}~m1T(@uiYeOyAk<&Am+iL9_>wWVqng=mP~qf*iQ!F?FA4w_bkTf zVI(Qv$UFiAF4sRxD!sN_x$1lnYBYafC0||)a`O@kbn66d@5i`25y4d2i*$rO`3ITr zu(11q0I*IR;7&>(o(-yi$Jx=YiTCk-KlL#BQe9&TCnvTd#&F27`3Q78uLE)XuU&;z z)Y1Xc`H%+=N5DR{rcETjLcIp^_D29|c%tO>XlfSnG&i&Q66%BY?;O{=z6RKIO+f){ zPyAb4_aoE>$l&9LAZviib6||;%~65U_m3p{=j|TZxvnolsg~;@EUdNpW4w_CW&&OI zmC-651!*Q3c+$U&_d(Tb^sHXc{+#h?xOcz7UAo! zAZ2FG^O+NDOR{BId+#C)gKM&%n4ev!3GYKpiEeT2&JjsHuWK*YzXB6E2%2WfyyEsX z*7i0crO7v4dM*0n?wnLnzR|(W=hGH;vtsHDHJaEzGX#Na$KX3di&o^pkacJegC*;if6kay29sPmjFy;Gqxi z?aAbSGitYyqn{JRHKJ#r-AC)-?iIOaFtxOTGiRuIF5fj{{%E+VIh|3se071*6__CN$^ z^TA8JGW#;25-WV*LHMYEtf=D8y7QaO#E`f{#6$8jC6RE#6dL-V`p-%CGA>|T0upEF zg9i#LXKL`4vDno+zF~XE&4aZZT&bwa-mIL4UNYsC`|s!2lv!0#*3a}YM%2~TG$gk7 ze!`#0hD|>OD}PV{J)i;cX;#~1y`@7xla0*PsjaeR>3XXC+_;6HoV>-$cN{{>uxM$v z4r!0 zfb-oD-qWC?YTK@N7foZ`4qOX{hm=nR$jB4Q zZTgXud!1f1XKAKmX~4Q2$ubDZJlKr-o9F_>j%o4q4hcIRx6{=F9z1&A7CsRd-&r## zAN7FCpjJ%f5>LfDDDgd=r5fwZjgusJGBZ+-ymv2m4Cv2v^dY>lCNPTiG1Heu@fZee zr$PRi&g3;=sR+zby&u+wwl2V*$!+lhqk-WKd_t^dTTW$&BL)awk!Du1nQrliajd-Vp`x>u4Mi<}ZO57iZvkaUh z*o|g?rEFJ84our&6?PJz86N~|ZTv%7a&4v=l)A<+!D7MY4p(^aL$>qf@1_lGJ4e}Z zpB^aL#%P#^=DF{_FH5f})f(;2Se1cXZfXqF7w4!!-^47Eq%BDvkZY{gsdF0Wgi+mjlP<99+6f2Ymp&^*gJZUW4El z!@J3#1bD52(EwUskW`1V!7C!L!+$=lo!W~)ot}{B0+EGqbO9a;Kk{AFByy(CZDpHE z^sB<%J9W+ww*TNnK#0_$kc!@w&a-e8 zsB|@tGd04V0ssCpj&sxbOx>*ozlJBEdR;6}!nPIre#D19%)unphddlwOqJALi;Z8o z7Hp5*y*?6HXGh_58YU?A-v8z}ty-#hG#Y#d@!l+Fl3CjO2w@T& z&2wEJ?ogxOF9zQQiF*u4#Q^}-T^B;q;=^^E%Y8rn#5NGS;-NF?Ma}Sml8YS<{r4|d z-4B@6t}Xvr&e3h9L2=7hg`{=z5~!1?y!18Cd9~I}?tpfBAP`N99wISjm`ygaQ!2xTlpO2Iaf$ zBj3r2L`MQbe6SkysowC$8&!taN2T|pP$Jf$8D#w zV+uMT)uue&>Bml4^qr3HR#)JyxnPvskt61npaQYKB)z8t`Wk~-J2Kf3>Tn04vtqpd z)52m}1R1N>f#4MXaV%7zmb*P(o6PT;9tx7RH1H#VF8Xr;qA>?p^6Blc`{f3a%M8!w zdWo1$EY}WnD?~xw{qegp5<*z?+=!OO(HwG<3szp@EpIFEjVMRPX$n1-ycAaoYM(12 ziGfiQ{(0Xac-jo-5X$-ROc=YVMtMEDOJwe2c<&I8>@lk**d+m!K&;&{5FKi_u7~Z+ z#OVJH*B;oUW{#;=ygrzbuj7%tz0iCY6@5_7dAiD_IYwAk8|FDT_gv_`sF$9LfYKwb zFGrmsPwi+4>dd{D;_V|+pC4l8h>0GLTKy5Eaqsot?cY{!8T(NEJ7jN>b9m%(K$U-X zDo*tC-n`k?QY74}I0Jh$_EPzK9Ek>mpFOl1*QF30Yu-KNpzii(9KfTX*Ajckmzec# zG?uo9_-_fz6B4dA31OVgAs5Z6NjbLsbqktI{@fhdHppO2(u#6Q(B$|WcCX1gaLH%G ztMfEwx;{tH^v!rXv+Iv1H%xQ79yn2s0@@{toSj+uM_b~xwR6uVPnUzLn$&O+SYQ;B zPau2qJ0P^PtQfS=35}~R9X`fh9PPqDU)#+Gb>xD%X(KYmp*-hTw7TQ;-fI>S*94xK z8k05vw{GO;V@J%N`r~UlMWqdsBLONj22!Vfexg~ki!A;A2WQa(L=NGDD?yBLDZI zQqcOEo`dEHk$0@xF@jdSUF`nnsA9zs^@MBgGIE%ljk1k;l=!>bNx9FBm9r@K;9(jW z_@UhIK(FsO0^RIES$m`rKrSXcw|d!&&g(r6!nn^7u4dsGXmet(DGHyK9epKVr%!Q>DlB<{we)F(|4fBg?i0y+3l6;i)>fOlR-fDHi&? z0@2&fyZG}FNwu!FI6KQ-5|c2f-C6AS2Cg5oL+K1tlGQpAl}xZj(t|Eqy&oc<<1n-) zR7$mqEXjv7EoNRGn4MeyJr0)Ui~MFlgUssU<;`DmN)Z32$hr;D>}uKN!CZe1zFo>wQsAh;H=z5?lj(yRgiO4P=IEG{?^~%RN)D= zmPMevrq#Bcv$DnSBSAeqSB{_eV>FuQ_0{%kk%2cC8V49;9E3&e!g#Nc1Yd9RM@|8h}iRWD+bUFCw{Ra1V14{3Q3N`JGDJRES` zb|3RGL>-$=7z^-oo0k>DCeP96?s(K$DAqkpEC<@k6!ez2lzVqkD4nz|asZKXC*XnJ zLihPB+*0~|44>=+GKSy~$U<6?%cC!{3t&Vxv6xKEMX^Q%N+U{y_g79lfCWF zo}aiEkG3^=vVYdOmRfaS6_ds0SB7dCCgi{;UVN;p4?J3SjLOpAxUa0|A`vZ}LuW~! z^6(mXh<0VGpZzC7lm1dGk9^=Bp}f!xZv@RJnSP&M_`Rwc;&PK)jc9qh1NM+Q{OjpU z>(;_^T_z41DOd$045O3$C*e*qikYp8cQAn5b<8mZxo7(k`1W+-l-{5Z2XW$~>UYWA zSrKh#^8GRXIiUfKt6m)EL?s9wJrC@y_?t{E19lc6vlV0AMC8bAaOqW9DhPo2{g+M<oUvPLU)gdvggNh zR2CwL<4kA7$$|Lh!u}Hxhw+Mx&<+LQSr84QL3D5&?CO(#VEV@rhqH|M2y)pzHV#zGY-oym8g3_E`2fj${*|`6?UGNuLn`u zlC~5J4Ri-eq^p}fJ|w`Yeoux)7jIO?O^@Yx0_K0wH5_rjWBq(2!NA}OHz0vkfef4v z)VXf{NrT?8Jx+sV->yD7E%%$iRQHF*?fla}u5pP#YheR&mU-+M=DGKae8*~e znK%UGe1b=9&S}wmN#}b@=O?z^dq~^PB+SGzX3bein0Rjx{~2pWbY+oG)Fl~j8ayX! z5uY6QQp#u5ee!lZJ*dO6Z%ODG3p3occk!0@N80&X14CV zCLVwfQ{v59qb_D?K&Ec7@-x}Fzmr8xdW8=cKNV0{xLncS&HWWlv#(r;JTTJZhyz1) z!A~{+>W}(5QD(P={ltl$G<7dmpAWNT)cs4J>9m4-4=RAG@dJ5e<8DYUKK`qWu2Ik) z5ee6{g(?M`9x7m5*tH*jrjr3A7QbA=@SdfR8I-tn)!!NF?;Qf;2+%p2TE$Pv_0l`C zO*fZ+c8JQlKM({<1roG(%UE@WKS@ zEsiz(!rZWd+nI?G|M^K7!JD)HXyVx{ucpDMP|DuS_gU2X2!JM&FzNKrMGq3xAkM{Z znYWKPu9hW_2D=35d1UcLy@*5oxvRZ09fn_MZaf|Y(R>*5?5#KhgxP<5Wa&u7y(2eD z>YNCz3#xvW=@#GLaeyG6&!5h~2kS$lSbVk-HR^t4T%=Komq|^qxvu9Zn_P50?@t0h z#%=9KHmKs|j>~7lyCuYQ39>(h!vKUg&A?1j+7f`_2){lULf#Il_hc#g?5vN*8?GtW zv}EU!50cn+ke`n@(1t<`F%WXIY-Hm`uVDU*=kV*v^dZW<*1HS1np6tV3Y)dR7aw-Z zy#fN7k<9)s1#@>3ry2KH+;xp@S%17|j9YF7iKm(^oa4=?QG9|*N+^Ob5@2D2C3_A~iXZns3g>%2QSOQh3j)-3%>EO< z17c~1Q2@=)n{~T@kfK69rh13*{hCrH^QC4VkEo@V_7ZPWev|Mw3s?Yl<_-r)myk+) zbahqLOSM_3*vWeR>!l5ac23OpVgs$e;T^Mi3%flaKm|{Ql74((aZAQI!Q)7vn0e3U z6A-K--R>qX6jLhcgqB|N0}be&cR=9(@)0AaIvgIq5c6eJ|>fzf>|53(>3gh^kOwxl>$z_J&tL#1Fkt!_dcrqj!xJK&4CJ zPK5ts+{=@sX&kSeoP zF99{fk{N0Rm-qef|MAtjI|x;i%|0w6%|_ue`oIVOd$Ldkm~Z-NH~{?}ZjC^ajI`XZ zfLPsUsY{l9&tvQw(e{JQO1cG6Z1xE zeJNY+F>r|fy+1(tS_41^FznKL0%x@8QvNUFK6Q{T1nMJ@M4=SY#LjCtd^^cro_u4) zgqU?s_7uhu@!@DX{69eb40v7Ai7$E^6pfTwA5AXU2|2#Ty^glqb69+kkIQ+Obw)g6 z>Mu{$hHIGuOaw&$03iAt07Au`T=B=ra#A_fr!l(UTOPp#EG>&g-urhx=U9=O{`KY! z^u&?HIGi4iSKPO~?h`I7Fg_d#s~&Wq{HRxurp0zDoS%x|;Zv z`J0uas@;vUJoTrP^q=OEGz8ghhgm^l;G#@el(T-zJO6olB&Gf|yO`L}DZ7heHkvo7 z;8QGc(mk;-SV87@+XeSAyl?EQO^X6^ErDNA#Na|TT@)9*{OzI?AfrkOO1z%rTZ4fH z@mg0}_UC@G_=*=kQBbL>(wb^V;3|Sl5v=LAt&vxw=RYrbuTZJui&!n0h=ztQp9}Q9mM0JEdp~ z+GpqNA<(A(cS?XdJK)@DJhVi%Qf_^9%=VwI#itL%m_d3^!c%^{DGLVLjQhJGa56xB z6trirr_9!4JcuLUj%({%oNivSyYfl8G`$rqx06UWRIxRL&F5{Xzg^iiCU~q-jz9$A zofVpV=(qrD|8iyg@LwDlQMAZRi`)`u;C`46a^9KRzAgmZf;EW_Baxok=>+`IqdM)4 zWbZ{iDCJc~(p&}o=u0@t0tEs$+iv{h%3h;g&jpmv*x+(GcxP71(RJVDzAp3##+vXN zmu#PFWQw;@Q!l#+>USKeYJd`uqL0-uTPqY0D)~77N~9(0K1js_fV~#LUeXj~yX(Dm z^Jg5PU@5g1S~N$L(ING*r8ziz>GHGNX6*GIosM%Kbgg4NFNTIU@|MWGCwm7PS|W3c z%WKs`JY5nBlC7T-S={b$C5$y@?Uuio2rZVYlfG8cVc^Hyr+EFb?j-zQCz_AI*lnzF zcDHf1>7=`WamURQKhEr1;f4o}>X=&$$X;Pm{HN*VW#1GNf_PDU6MD%GaN*VS>z#f5 z#P1y8-7@ZoL+-Ee)Emc5J%#4XCHIbV(Rjx8xPNwu!(Z0Gj(Be(kvFR(fFClI28r&Alaua|A4 zZx1@%C5IU)&hrmFi;p8IS(&=I$ImuIz}3QufH9nsbvlF0>=x1g)L@~Y0yN4OX)LukzkOd%Hn+62EyU`@4?I{(A{qWQgcNDP_VJ!nUvdK`@YjL z8U6}d&)`>7_ZU8NpNGKLn#EW3%q;UgbI5t& zj@d18uPVQ<$nStK6{!sM2RuFoA){)SBtEP=-|Md_=>-KsG_0yG`LbNJu)vML{p$uG zTow3}SyziLU?=j{$MJdDUP}s+hJav>0jSk-_ACweBbK=t;xNOuU+n<_T!C6i=y&XB z%fRj?RD$~0RXlzNMAJb6 zZ+(Z6@lH=@zG>-II_2<0`7HNF(f6X}>#_nZigTzR!r5Idq{8#Z-%~^ntnMuP10Luh zXbz%^EJ)Vh$MKZ9M?R*09==rZ&>c}gx*yK$SU!@E?vkdk)kK66?Jr210 z%8hjx1-i#Cv42g(3W|g9??1k34rC%p^+kZLh8frm=)(&9Kkz4C4^otb$W`=qU2Kb} z&^xW@Mf@w(W$MF`GweukmgCicCOuX}zk*xusH+B$w8K1IaHen&fHUBF+d1HVqTfa< z4?(Y$7$K?ED>10_1cyHtl%>I2R5&|QG)1-`@|u-*zf1AY+%p-*G5d#pBvL9G@$t2j z{!CT|LC>-#&u*2iqnEnaP=@DM|J`p-##kj9IVL}+n#7ohhYAnk@Tru%Pxzwr0cGzt zC3}~x5SXW9k~{xB^lBC=j{bCJm_7@N5V_^HcR$0@78DAe?4DNs1j6X z?RrGJC!=A_Kv^l5=;-2d0`r6neW#-P?a5E?!OnPYT>xLNuPxLj(G7g}@?-+}@0z0+ z?AqyhvAYtL>{y?lJ9hJHT)5ZFBgLNrpvQ=D9hI5pyyHvW9^_b&HC%6}vAW-xJh{ZY zf$nNWKa2XTeT2V1$?#$hMTUpHYhdc%ir~y>={?JN+2IwS0|evdY(xw7PqysWV$!Wizz9$=AItCXwsXP30<+?Nxb&3JGU)E`@!v0Z%hWS4i zO!u0d*@_F>^O5x0Be0a08ne6T*7ba)pZ7-~RO%BHj4`0yp8x~0rMkO|Cc}--nj0^0 zVqax(PbTF{+~l{5PRv*_RN05XfXkKh!*YlOSW(_Civ9=b>zR;F!1K9!R5m?0=vQC= zWFM#J!PBhkSOG0}{+!@V&;{cBpVcB~Kk}^r)vfk=of9p>Z`ZxK_s2!gbu-b!Q8+6u zAyDIq8r5je8(%>B?AGB+6*4Sqh&&1?(Ev^2Z81MUdSFI`j=HE&-62v>@zE2GZ1XuJ z-x~q}dSGgDyMi>()Ht?KKkUn^3;CM`4-Yl7p^GTy8%@DQV9SYOVY}|_vU@^jV%N(l z2d$*^alVL`P-*RL*ZKMljfVUwGeI~>MHkYmuGj_H*Xr#z@K9S7wl?w-1u7_>Y^}~| zr(gP63GSi|P%h^UwFCP6w$K5Yz84$eBd@)hfR5Z0-Y|GGyEnxs0~8`S|JjJm)8fG&f(I{l=LWP7s%dYk6YFqB7KN+21CIyqpAZ}3zQ z4VUeZ-(BbP^hQ^}*<7(JSKm%voH#VIbISf48uKEzF&j~rE{}Q~IVB|@@2n{WML=%{ zUe*M1MwgmdKnonvl73Ei6xHs&v1>*Ql-X-KWiehHTqE|2uQd{;8)|P|Cp(q2CxE># zIM8?fw#MM_G1@)~5E~BcngE>{kkbBjE?(e`;L#4ziHo4Y9rEJR1NMqP%h2OSdG$e* z411X9fF6_eX~gft_hk*x7XkHz5Ua@}E~VBrvJ!*+b3BhIHqw_e5Nb-e+v3A`fFQ)L zq&U4c@-bf_e}D zM=VjvKvn^ zc-6Engccf(LGJYA_|c&60=eH|9Q!Le-SW5z$(uCtaFMNn0~mheJq##KdfqWeB`!)# z;Jv@J#_1odquxUwJJeb4DMAJD70TzVx=Ta+3JnIW3D50)@ILR~Z0vX(vfNZT#`FIiI`_XdJCorJv4M^x!z)tes-Qz}whZhiGf1=Ma zXp@S_#=QY_w??HlPm5<^~x_z1DTHBeZ32die265x>KO$CaVUG`fu4)G{N8SG_*+3Xc$2*RoUA)q-=6 z3#jYFBY)VBxKDk?b-L5X!Olc+gtKftBniZi7P_1}irqqF=fcp;^6R3gC z2dZ?$$~|*Z_eg9LxR_xWukg4hUTHwF8m$1r29=4l7RVhT{Rt16Mvbr^NZ?b4#;57@ zi1B4VeSTT9e$>{iak^Z-};|?`s!a4-D4a`8<6Anph3O1+x8OC4$Uwd@C42X|`j^oJM^!1B@ zdha&|$u1<2)fDV-KqxF389CnTDnF+OhOM#9TY48Ooi=++CQ-}0Wj6(Ewjf=qspw$D zo{A767PhVIE~T+$Vf*P(_!fCzM894|4h0O1PIbiIXt`Sh;0JgfYeWOhK#(EEDOyqF zdmnj~vY{rJ3{o$pg{B>RpuE6)^fxG_BKY`(A~%L>(x+V#7tT+V4+q!F`CC6Cfg~|< z+h#rwj!#OGyNe-zts&HaLY6$W^O31+k360}%4|z)zEK);asaGafrmW-k`PaT6Ef-BO)sk(3@JB*b>2j32)&9bhEO=s_>U@^O9uRC>KK@0{Un zGNDxVI>|sgsXVp_`?a8=j9=o zjA~@hEA$BzM`^vK7|oJ4=P4)z!ovtKj0Tnx)dHRavWN+$tM~nT509u_v|5ivx99sK z0axjyel-E@*1#I21!e6K9`D){D={hWYW%+2eYR~GCUG`|d(E!c&54%LlePW*{=E#s z=m#ZqG8_>pZpJ6tg;SWE-gA7P4eI^m10wT2AJxjYdP-pKd*%8Y9w$8tpWh-oeW^Gz665fpMM4l(fU&Nj4M%Q9!2&s zX_fP#eg5;@aE$bVo`7}kaZ={91$}KL-~6@aEy)5M3f{ELg@-nXY^rE>Y1!Q%a6=2! z+ZEn2p)z_3@+G3r;}u5n^-CPCXlDtYbU6_tX0)CTgR(QTybUt)gGz?5=VKjR8Fvp< z@0#PMp!qV$^ZcxuoDS%qBSqP1tE*iI@0{WF7d#2Iss^-UK;;SetbvjWlnMVtsjf98 zbN2jucv;#COH?12WVVaLdl(9naC&~R^Qon1CYqd5wEyY*V6ko{X&m}XY1?$ou3ag- z`J{pG)5AgcMl+61~cIu;}aAf5|O zB3CT|wH5ApKo*ThsHeBtbq|keRQW5b5bizAL9y7p0Qci%``6tXE*JaHxthpRO0R7Oz;~*}t}J|JrM{an|DVam=r^ah*ZKWc&Rezl5i4 z;7kT2p_?|5>1nCQTDwDh!$ZY1&7P64NFFn!UIQ7ab+Er)e4-Q~D8(B48$1j`7p&r8 z4m3J$7JXYIi9wLm3y34geDW61GEXATZU6o=49@}Ica*7~y)&T)j;86i{gLw(9_v%R z*4=neh}$UJClR=Z)8qCFpVOlO!g1(OMgewQbK=n|p+p&fKJm6@YurGl1AszFgPwXm zp*-RI4>M~`0=&>cRgMCtYU=_*F&z7IH5XZr3EH6+=Z7Nc)~L1u3EE=6!h^TZaplIM zvI4Qa#sbN*T7918yu)54O-lzRQ_$uH+Wd(=&TPX41zoKn|Lrzouc zCRfOSMb|8I()CIK+hI&pqPDkXexuYE@{DhQ?OT0xTE>zome|s-Y*)z7Qz&~ed+_t3 zT)Cx|HS@EXyoRwb=TYIRlx$^?jH5^A^3g((z*hgqz5iM-qdU}+a4b3vN}s76v4Se ze4!x}8|kmxA-9J|m81jJ!`)}NPxmg$PxuYlsV%4@$F?mEd zmynm?>qDk(Mu|#n#{#}j4+q822cUA(p|%R6P99tkG4O>?cyN(dbvj3hYK^Vy>Lt() z;C^QM4v#}$l!#7M%Pqw`ke;uk;`$HPg3Jt%Z#kqE&LjZ>&pehm?h@F$LE5u5iD=0N^|U?&G>ASNH~;1EhMvlq7e* ziYsy#P#S%bJ5${r9)=Hjr8OK1U)Bp!sYl(m_hR{OjqZBr5s-3BJ=H(ls#d=ON%o&R zv4|jtz`cOvs@NM>!zu7t_kZmY=Z9B0!y``t3D8FJoHt@K|Gk2-nj0KZ#LS_q@d2qf z)922<3}Et?HE1spX@m7nC#`pDmu`Zr_?ujz;YyyN@a-z0hu`HQ>YZu&)%kW&XVN`b z@!?W{E*<^Mmq1pxW&E*5XdmG<3V8QZZwXuX9;3*j|5UDG=040I-cqUl2ud_7ypkX3 zEh+hgN2$S)1NhuC&Mu2f2A1a>_5))K1%BL2aCztY zU|f@Q1n!3R$UsB+mQw5nx#~T4fd>{|D7BO`m4<#+ySULeJPath!ke;~F8sL)Fja9b z`p)+E_DgQMRQeNMM2|d*m#%7)zI^}mUA~rEV>&0HkS8#6)gHtUdnG|HejDY-ARc`v zni(!Nh~JL0-Qx~CU;jz2y5R)HcTSZtoCv!R7Z`TkPoVcOXy%@j^+P}0BY^e|&FnH` z{`c-tNP?2L$0@hEWR}{Swt|f0KgaO|Ev!CaBcs?NJzy1)m~H;)Qmu8-@QIT@HDm)c zOuf!P-D5j03v8ndnCLiZDA#CxIka(JI2`j>-g4?aJTe{iWXRkaAdhh1sd0J|{a&r# ztduEpX9CL+eEr8S0V(3-0G}1>hvLwQPe9{``M%)1?Byklf5I-H+x?6U{_36a+cEqT zrPI^V9;#}4?A0hZ3&g>O%T6fq9>!FQ`~YfI)x5&H#;x;Ko8QTqeue=&YLhDTITH4z zT-+~DAZb#!H1KtLWJq)78f{gks1) zsj`A|o(gGqRH8sW7yAQ}C^82>@)I5gXxvup8SQ$2rJG)o`M$IxId_9R7Wl7;kAlkM z%`1X&6M@?Q^=lB$y)+iPEND&6c0=(4CNUj<^RI-qhS{*KSM$-AfFg(*p?FXI8lt^lFjH zFDwTr-O-?!S)|an%u3K=ef8WESINlOq{^!zM1pQ`}OAP_pH=DP^xVYe?$5@h0IUvi4e+Euz?02)ayfI**kgO z!$4RL9>3Rs!K0J#gz6HdMwh=)>V(SS%3Yx#Uw9`1UOD-E*_kO{;o&pzIx`Zo8elH) z9vvNG@}Jw2#pm>p>!iv{Km|w`mq?s@;^|Yh-NH75zmu!D9)WeWR5L*Iz=picEPJT- zR^spJ(FD9+GBut+ENcYq_lW}1SMW2tK{{GOI|lTvl2IQ!N>JPdQ?^XuyAsL0Z4Db; zy^s};;+9p{_xu8X@m`6l%AiH#a$N5uHDkT!u?_kaa(EeJ(2U}|lAx?$op|8klF4fc zJz~F3j|E`(lz1oyHX`N`c;6xG{+sP4z0E|#7_|wgA0&D*htDG2HjDQ#KyG++mg)e_ ztXiwX{U16kzG4usVdSgH*C>iaiFM(z8+NOUekY6jwV-2v7L^b%`-JZ+2@YFY(%g0j z{Vphv*h?-p2o_#LRsh8yroX-lyBH1tS6v?o?%Ksb{c3dXY4lEEy}#7%;juVlPK8t# znbjR|!8{NJ0?9f|W4Fde#Ca3lER-#I9FN>6@Qb~jZ(nN^O>>Qga(NnX07;V1(W9|H zbiJ3sX+saFx+f45(q^bMo}iAk_o)8t55 z3NZQWlF|jh=D$-+euqJtG&Qw?hsKAa$mDB+g!(Rf^d3em*>1{r5>U9@ZwldqXp*da z^4Ql$v{NvVb$BqF(GEf`>Mu*Pi;um+gK|$fyEGIiwwR7O3P({(li$hJ*g_t8G%hCx z2zB+Y5Y7@j`M_HJvgS~*8B^PHZgkMMBaDqD9NWK5pWV~oa^Pf1?XXWI@Gc$gue$$^BcEder@4sa>|Iz6hHKSYQD08gl` ziL+;)`run&dxuAOIX(KG!rjF+D%qJ38<*aj;_EN6Ogh1Cx7K#}Y?}vnN7KyM7UOFW z`t(eP5lW;vH2v#GDqkzmCxE|r8w9j&q!WF<+vkghsHKYzrsr=7!H-|Wk9svDa>|jG@_P|ipIr= zlX;i!QuE|3`E!WgZ#?QE&?D^etkcT}^=MK%>gK%+;rOU1%V?JTu<+7lNhi<<`6Q69 zwXUi@HbAOlt*1cIWCKxH;`Q?RIXwmipUSf)HG_y1Vb2gQSwRY`H=&ntKE$NP*N?mWKlxgnL-hSk3kRwhc(%RJL1AJc&&XM?G@^jx!c*dl!o5BJz{ zlnk|e!NQo_iwZ15$G!LM3)VSoah`MU~jza zs#Wi0;Qdo_naM~gjg#i0S1DNMZd<0GWk?ej8YT52e}s&rm?ezH+#~2~jl%%alpHfZ zE4G7f@&aG0N5Ah8pFNYc%<+yEUM4#ZFy^XC;W;}m<9iq&Oa-TW<~63Ac!S>{e7pRk zSgscxlK4=)NU+DG1ykO!^Nyr=g$Lmv5r(XcfcJDagP;#;pLRs^Cp>O?bSr?vpVgHH z4(rp5k9Ynv(@%1Bd$=chb+cYOSy=1oo*3^)a{A&%S0g0k9?i9!4Sf ztWfa53I%dLEd;0Mm_6@!596LgeSVaK5V!OCe81AkaIQX^$twoQ#W*hA3@QwCJR~iF zmHOeiU0;5M#|4z#J>SUhT&?yOCm_xyyPxSl3)(Z8W%}}LDP@XrG8Si+wu{mf_yMlw zH>mPUcWR_Mg9r51B{F1T@5tE0Ll92uDc8o@y$wzp9{JG=_ta|-55!*$UN*R6Gs<^N zaKIyAxB0yc`J^p3BmqnwX|`FaEM()STP^0}mv>FYVxVFnp%;D5PSn{DiEX?4v4*_B zi(gb3M8ZijZJ2ih*jV>+&c_-lh&?_=1kUhLha;Qupe(rar+%HH_J}eBuqR-&7yDYP z@cu~b03axLe{-6jVVLZsUHvLze6mzmD>;c*Xc>h+d4-2@ z;tG$Lpp#ERF}%Vu?;*Qe7v3j420V_7Iww=htnm_;SKT&unYdrpyv}k==!7-ULaUgT zbU{*}iiRKgvF70>osLz$2q)zR&^@tuP{Xe2yBj0|^)Ixi$1*dRgIAGseD|0?S&jHW z7tB|Qr*%t~k%k(+lkdIq@0ECXK~eNT`dsjS?xG#~m~YzWiuCeJzEO*3?319`UURXFh}%X9TB~Ebjqb{O9x_!jwjjSsAj{^lS-b;ACO^Rng=+z?p^_ z1tK+RuaX7uTb*{wn;(N1ff+@NbmZo2^fI!hrw52zy>0g1Z?FrSt%$n9i+qn>RQ&-3 zTzp@T@96=Wgb(Qif@Tq_C(wqF&W$~6`AdP*a5Z15vIuW-a~2*}+l}Sz`Y^ohaM{Cy zgNCq2A$git5fj;5K%M8dvkdRn0C|sCg7RLgX{0wisSaZq<@oSopKv{8l+^D}ve{=`E`R7wi6q}tW$;M{<`AWz?;Q<6N zfcx)+Yd}yk5$Qn4dphkY`)3$uWb_47ZzEOn0kUhRB$w{@ulF$M+c3CJV$51T6i?E^ zZY1x1mipxso)1b{1Fk2;VFXs+OMI+G>L)zb4iVVXMI0F-a*yr#n#SUOQT&7lCGx)e z;P~Xm0sj)o*SzW#pEUAwdf;-4mQCYSK|`!k1mUb-|2D2O=oyC|qQE$<_F~u2FGa1p z64-7KaWN+%Qclc?K%~1HSrsrjZq=OcMq$;nZsmsnI8DMEg2fukXupx{u62eUh{B;W zasWZSRdQBo`3&=&IzdwjVE3k3aCC=oYElc}5%cwt*Iyj&fclyo%6VK7sOeWTohN^@ z-Bp4|Pj`Ge?Ti%Ed^DL6xFz8?-Uc~OY}R8ZsqZjQ;q4`yKirJZS^N5kk4sshB_P9b zYjVpOLef3;+e!IrzbW{KjF>~lu$c%lAdS*naGGsH{f38McJa~G92#DLG}K|@DbXLB z=?i@0o(km2Jv4#QXCTFtq97PRzIxF1@BlC~mEN?5ePaF%y8w$7&tJCR->or)cA}hv zG+uN5ITnHTBoqk-ZtS4c*K6MMB$TubUL^N2pZNn zN~ylwx9^KDGIUc)^)4TeB73UXTJ0ir*>}Y~JbL69 z(NPf55}qRkVwCWnwPXEvYcOO5WHpxeydQuoH;Q?@zwD&5U%y2A$s8lN%)hJqdm z5>i1J-`g*3wmM;mbpyeH!~_W4pdmuOon1f6kVWk2sxZugT4L05IgLi;_-C`aueU@! zL6~9P;0B5Cz>Y5Q=k(Y}KkRm%D-gnl!VgGaXwbO$GYk?U$^`DglL54Dr2k;r)p!0T zSL=mB{QDh0JQkNNHLP^8px&(U3Xk-(WEN;&PdaoGXzrmqSvb1c`x72pLs0JFeABoC zu)77vHO{H?d#0bO`SsKRR^`sy6u|T!8Rf#2a4&WIghyh5R7khDt>^=s{d{sec~9$i zgMj`ku-afF7EAMLb@g>foLxrlYY@gyYMz%5_5!3WhdTFl0hN9kM1seDuDX+UgBB$h zZDM!o-j?!X5a3lUlomT!TIN(KTae=XZ_PEg-!Uni;aXo>c%wIFi%#Z>7D#9(GL6l5*x_J8S8) zrA@oo>#y)A_ym-t(KB@0LF+3PFXqi-x0b%2@CcxtGJ6g_sI4Bu3wApT^YKlmfI@hL zk8_0-?lqyCvT5PnR^y=)0e)c*4}3-alRVT49XwfJB0o^v>9B3gyEPI=j%#%} zqOP_aJ7lkGeV0MPhLr^z-f>JGM+$Uxo4$B%o6&n2YAmo@nre9L?s;5b^?;`>{$@4j zr>+iskA{cI$Mu+&lPfg8Zd3duS5hV9EoMdi>23$*7_PTa-1{28!@$R5a2clV30QtT zx&mHrWp}vUdl(p5;>00<|uOe{Pa#RdT%})Oj{`0Qp3u z#b27gxd5Z4UTxo+>e6C_7c9}iyV_fnzV@qLlBpoeLQi<`GxOxUsQo}OUZ+QUv_0WI zqEK)IwJ^EsZ=t1-!@3m`dv{35?2M_up; z%2#=UdfX)J+WkWj>5xZwqyoRCtBPPi!BU+%ZOe9lg+~wo5k=y*IFw^tr|ROGI$PVO z^%EWz(t^YS;gL@0QYvaD_;K8o*a`yPfBpkBRtkD#SmB(iba`h?LTLE1Uky$$^)SC zss-htLdppAl($9r+&#K6j88^~>XG50&vO9WywY#+EtWlf-+N!Ds*G^7RawoBIMY7qWj&COW|c^7XqDll1totg^xS-#n{M4V4hE6zQcf8 zZh_#c_aHQW-gs_C(F(5cnfEXPr%%QzH|xU4@>t}Mvp}zZPmg1$JSP3Nn1=(XBIuFF z5b^%F@@qk_=gPf+0E8o(2=sLf(6#Ca+iLxU$8raJJX3%)%d?fPlP)R<+1Dr2Ycp1?5S8!}F?(@r={y0~|vC6iVU)l$5 zU0FtRUgmy4n^3=W80A`dc3*=)#|_Cqq1l}^zqp9H>Yrn**6aQ8hespk<_F{knYFyQl#wmGRYbUy z2>tUITE*szYdLx9`L!%};r6Pc!{*0^+`NTn%x$}{?EwLuRqOSOjvn~yc<38u$^--G zD%9hnNPN>fXamvie~!nYn#+YY4;S;>YBsr603Lw!AD3i;h+*Uyh6fig+=2)*p7dL; z7>WZW5~0UKNkz{PR}5M)Nrr*$Mn8vt3!0q9JP!9eIG1J!?uqb!??&{P zOUR>2;s;*zKWHGHKB%uo~7NfYg1hWfXG=K1}4tAuAF40K=3x$;8;- zDDESlkt2#fqq?+PwbC@2tOlrRzLG0ry)~$#j6VZ5&4bZe5+84lK~mZ@abV+#xCe_e&z#pjeMM?=qc8 zv7ay12bCU)FrD3JRx?FU^&Znpy0F=Y^CROzIm^^y~5MxNPHNtmD{TC1v`v~@|zdi&So~6>WFOP&v>nFm-(~F zQ;h5zCSFMUr54%r4C2pF`z18}tmHfm!*h{X%>%{2APK-O5*wE4T0N*X?V?@*TqD%a#6EnE7^_QH_xLQWJp=C5`{F&9 z4&Or(N3GgT$*^4Ze0Z)fx{z&sNt4jhuKjcDP-=)x*OQ$aXYRIPgz!KwFy%C?L0HOG ze_u0kp3_ZV4gDP;VhqJF4*PJYQ~Cg^I6qvGS9WO()~S85u<49>m=5UXbpO7QV8xiSZn1eu<--55dc1Sm?Dxj$b=^LrJe=FXG4bZ#*wQbe*PGvnAQ#+h zucxS9fXi?aqE+|rFXNmjmiNj<$UOISQQBu&h?Dbom-p9=atRF#`WZb)61XRJy{a0+ z!TbA0tdr`1**{z~oV;q|g$7Zu;YZmoWA~5$YutAHW8-!S{#Rtjjk!t7zWrsVMTpT=o z4-x*{1({p>Yj*q(_=EqE8G2FIz0Ypm{%YTC*fh55<>A%^EfjukK}Ak~#(-0F0{nf& z_#6FIS51ef@DsPe*e5sth4X-46>beFN?g>CzJKxSSov8(1RfLaX6A914?3=r)-Pi>()w=cbZ#8u;-{PU|MSCn z<=wwON*)N0hHoeT`aGcDbf8s%GH{%^rEGLZ-)fG7pBCGbqc1oOgih1M&cxwfkB*zrfNx z|EH}%oSsjeX?*s&43lD6?L1#a_V$ii&A5UPW6Z;ZP~a3aMUXc5SSkt5Z*ZzGPIbW0 z@)GmO7VD}RI%Jxo$gO@6bLZkE8i&Xdq!^$3{}!g9&K&L^?jP}2l;&Ys{rFWG#s3h&G3*#A70$D-`Dugw11b@Doz7Er)h0*dxEVrT$Y(6f?OO_dT)`{Eg%e3=zrbv(T z=HP~y`Hmq|^M4$UVI8!l-M5dT&xS3=MJvqXgqdi{uK?+Y9}hGC2lCuzBI}TWss4hk z1z_MXZFI#I;=6s5MJVdL3PM(PG=cNuXSz_YHOTCw_pOfsBf=$7l?O=uJJuUM!Tos} zrigR%&0LK`{l{&sLG!DTns@an-}$kV&%g1=f^x&~{v+ zAz3}Ow0R*H8#n>v!0{j@<(K5wVc3wp8^uZc$0$3juoc!&3je8^K;o%bN|JNR zZS>V}hq8Swa%Ohc*M82Vq8-d=lpnadn7K2eo0Gc)DG+0xn7?`V?hu>tj(SKE}Amt3N#QZn1I)4(4%ML z$IgzTMMYZs2dW<`ib~EzbTs|pam)Kco>^!?>EE0C+~TTVLHhh7mE?fZX|uW8cA_&J z#Iq)7uTWDmr1GpvMs732o22Mq&FPKViIbUqlw8-rG(shzxJoNQehFk*0L8|pd=}W5 zi$MWm&dU}E^;(dUc)*0o{8!XK=lpnw@D=*cAHRXT2E6D@-&UdZRlvTsZGF<>(9$|^ zxZrVG_(C;#9#M3>^{r2s^OhBu{7@}+@qt-iVytI~22i{mREy|bYq1T})tcW`NwSRtrND#bu9)KS?}&-?BO5jrN)9 z6ybJ-*S zyQ10;HQ{iq;N<(;X_l-a|NI1j-8}@5zXO>r)gru8J^ilR)Y}6XeP*wtcqooD_{s%} zrbYO#7xn>Dq3h1Vc1<_;^~E37tbdl-tKm*9kk61)#sL^XuHr<&$7eY=_6{QA-Y73#i?rF&7h`u+>v4D{uA*9nvlz3bGG8sOS? z`L*|-yM=ofXIi;J-E(xI5%xPZwjD3nxmgHhDl*O7dnWeut()vs%G|rcf%g=DuOP7! z&oaD|qG3;h8<%Z|iM89kHr%m5kf;6AHhw}ES`eINXL*;*mtKaTN+>BExWzIZEnWj# z_6&d3UE?G`*~E^Yhi*fL!r*(-_JqUPu%eTlFgDm*F3}efXg)X3l%1{>zuKhlg6enq zuk{Y9f_^p2I&b&3Nz*q5J~Z7lXm*Jh$7o!f|5G<%fc5KVS#ShX?kzFqVzjHJm_sb* zI7JmWzlnZChX=0y?WE2HrRE9yt$E&V z*tJkjQ*F?YqU?sh)pLY>bf{PM(bwc{XJyyq7rXz69pE{Zm7GVtb!WpQsb<5~_m!x+^ZSc|tBBbh{b1R-$5N7*?JE#D`)tfWQ^+&T z3l}*e=P1>^YmTP}FY)`}o+=%)Xy7f9WB#9`z1ts+#VATVOU0NIWT%rkDURcLygKri z#Mr!t*&1BOeqOa9z7##i^drzmkUfESyyy9JvxXzQ-bCyLTTnMb>3w^oO4GRS(Y?Xv zjyngVPZqjG1(%sPNUnO;IkuEpJ!6x+<91OCpdvjrFuwQ-xL1LzXHWf7)QjZ|!TF^G z4hOJjvam{CC+@b#%ns)!&J4F_gU*_wY=epI*+W?ucK9r)04n@Am$z z8l`WFM44YZrLfWDPfi`Yp}0$6W4V4Aa9vdC7V19N!&OMPdmws=Pggp-vu@4J-G3a9 z>%*6M28WfAg>U1Cd7a{Jq)~iAdIK1<`Lm5P^MY)rZ|Q=sdAf4IWS-HPa>!mqSv1Jv^4wwkBE5SDgThl7Fz2Oa4I^|jl<*1cYhgGamfW>1dJ zxEWQ9qsRS#997FPRU<1qOOID_m(Y!8d4}#hCvezQcK?{n{Kdmvp1XI>S^WbEWCRV= zTl(L}@mK#}su~X^IadZL;0Kqf7yXTNXK>$6F)I33LtLiu$>CvZX`FUA2TTA6#1mb4 z%!56FeA;YQvp2Cch`C^p$fnDjQ?D@4A)V@)%|n&yel5&Qq;$1^bQ;mkaB57~bI6G! ze)|j>*#k_{>8$fg6tr~hX7TO1KZKJk9K2tcYg~dnPsLQ~@u-cjS*E+1*+_|8NOMi~ zn}xc3&7)E45OT{OF2oe8lREI?MaL@g&D7mD8?jjcPh}5^wt2$LhtNi8k#;|{>-bf! zUQNL_l6H~c>9=^r@lpIP{#I~p7wAp%Ek1A}M;B+}c!PUuR{gu5OkIfi;tg}-5tD(p zChH}!4yRe0cDeE~475;;T0F2yvnhV%j zI4t*(x5=fKa(c|V7iNi`-rnPnv>>92RTs;LE#Y94VnwX&=F9>i?W=)l@0BW3Dy$5B zLfFQ2ywDB}!vvVz_~5ez0L(tBi!elpKcM(aXkY#nT1AaP>dZ=#ZqZYDB5^z>RLUNs zry!FEgi?veKx(sJh|(_0I%(J%p5V=lJ(!uvnZ-dQJBb%gaLPOyoc?&j`9GM;Rl7|H zH|}=cV%kuoZd#Nbb(+Iiks8)tqTbzWnet{8&=_E4)_Fn)FqeT!)vqVmv z)**gqlTiR2xK{;Mz2jLTwjcBSc2&c9OTHKhYEu{RyMUz%EGBni~`M{k$oB z0jFfSN0lB{`>lMRC6SbPb}eV=YHt2=6NK_%=5Pd{K7Tc35?9FWBx*mhgH7`}P9DA$*hX^V8AaSEW^mQVQ^S&51S zPIR+4*|~bg;2yS1S>x*H;G2wgcfp27UW4VRzJm8UD51s5D#lb#VxvE(o+f0wjP45j zoFGrpdPp{`$Vhxn{xxRTAf)*FmrM8#?f{Po78{?g*W{S0GSimv-x~8Tr<4D_I~*ej z$CtEmB+&uu1Iq$J^<6HC0x6s959{NA+i(l1m}2B1XL-L=+vio!-E=E1c?@>(3Vbs{;h)hl4$oKS-ystP+x9ff>~T}o`s6V zw6^`ZU@?X%es-XIAz7X-7aaQ?-CO>|b80-hEX{Og;Tp1l^k7y|1Zzo_PR*qOjjEYnzFH1>iNdahN)Xyav_^n-TM`hr1SS<@}o4Q z7-JJOP<^-qN*aHKOysLcz~ngpKgNP=9_L^`aPFncBMD4b1Kw% z|3zeW7J}@TWJ~*&o+wt99dWznkEvX3k8Rv5lXQitHvkxqUa4lB9ald;UzwR}D3Y>v z8putUMo9d9=K*P)Nu=3LVOCmXY4Pc@DxgZSa`5Mz+D~iCTyiyLvSVzXi;hp5O@5_i z-FF{Xf}F39R>sK-N!FgE2aTU)^ z=1^aVH%Mk5M-&Zxu!0HV`uw!#(o=X$awT95OkCa=nM=}VKDcwJ-jqb=tfWWtx#YOX zJPcfm<=(n32j-uA0;{3Ir3>y_nT+oQtkY_ycT3`@hY%R=c4a0nS-3M z5?^WSmUY_Ozpx#oD)B9%#L;N_k}7MY-8&Z5(NU(TE}$vqaYd;kwW~W=D``_s_10r2 zrT>y1EIZ6?34Y)o71g6J9;FES5uj;Nhd8r0S7{6J(Qrwhn~!PUtyabj_f6JOO2$pKEt*Y-Y~NZhTi{_OSUcR8U|&=?Wf=n~pC#E>E^& zX``fKx`>-;m|Y>ome30O>E4tXaY~}wriwnfP|oqD>4oX1X1SY3;1dE%)J4YhV(p(< zG8#R`VfRWbJ$6^^4fcDq<4l-4f2}_$iCgK}=s>&P)97qiYA} zNrDWc{1anfjYw(+Hdg6$s8RCt&?*bhw$y%qYj&j)+nThcnjmy$jCal?q*@yBlv zC4q^A+=zwPBYBzoas5)cervzD{JM*g4gUqEfHr)5J3Kz}?ReOKDl^hOpU(R6Y?7_QQPx5nOB9HxYGFUR1x~huk`}fLmmr1yZsGC&cw)G5 zG72 z=Z7f<5Fc_E?i_JXe!K!L+Brz8r4_N#uuoMCEmqvKby8RRI+As#M>0 zK%Pd;Jj8^`8ttdtp1hlfuGl7=I^q0^v^js!7fgM7C0xSv8-)KbGDSV*oH#utTyr`r zSHCz{=W}*GS<`Gx6_JYM&m|ybOR_uo_}^Io*#WiIHA&_3L(XB+o_#k#w;)L$APkm} zULeZ^UogB~_D#HjUT7+DvB;;59()yUzcxI|`!@NAJKO@00YEpwL3533yDq}_dT)s* zd0;lJ%*Z4cPSZI^o4Fj?BJ73fO3^|T#5CeCC4n9(a;%BxOCASnMvfrww3eZETS&Fd@X0EF8) z?k8R!xfIrs{*IB4!B??U-a#Y7yG>?Ge=Ai%ak2V6djZ5DhDw7aANLfY5mWh7uqoyWsXYcRC2N)lOxhwq?t<0EbgNkHJ zNIYKEe;hYr70CgE4Q3(C&CO$b8}lcOx#l)W9P3XD_;<3|w2H`y094(3`Y57C=L|anvKB1`7W{Ntygi z+~ePf^vIow(jrSD!F9#>Ud;Uqr;~M%OjZeCP$p0Y(1YYy{t#B&!Ldm?%o&aDSfzH9 zFCY-vLlW}K4p-|Nag|M4^8udLT${}Gi9%9%so#_|;e$$FY)HJ%E?vOx!{)Z_7J3^a z9e~Fpc8NY7?|^eAlKWga+y;~YJaD+A;+dpw5gzdlU#r#(_{{D6G)&IBDHs-QumFwz zDKWfGohz!BF9PFu?3nsB%QN$8kgR1w!egX0mHTUU*sB2s9#!jkVxK3${!aWSlKma4 zF6>ltX7c>Lv@{DhSSeyM!8|QYyTN6|%SQeJacvB|;$|nB%#6K@o5e#IHaYrm$lCu0 zPSl2^)c-g-a}qG2^2y2{)rDZBW7enT`C+dv?xT2vV-M3>N!=oRIFK=DTHe{evL*Vx zxd`LO7ibOa@QsORaGdy8-GB&89M+JNMI^5NHB2SDLrqN$nd8)~_IiBXK8_PUcm(((SAy#t{ zYy@6^nAfNDl8#w=)G3HwV4OAPX7M+{EmIA{y3<$Aa&P)xX=_%$QR|VM_!YD9`Vm6_ z@@X3`6nPZ34Fu}M`iDR+TEL4Yhx;D?Wx~I$#$XGn>!7@zHe1uatR^A&rp||EcKQ|{h%w$^|Eif;Re%y^iA8~uP^JC$;dGKTR?Wmc>wZ=mMYWV-=Z{e*yDYbTTz{&*`nQbdu}#8VdR73ge5xCs-JEo ziA^>NU|0B3AUvEk24PgIGJi`|zX^uJz)Q>I^Hj8YQ_7!lO|4R-i3bHfxb(AdnZ9(3d1TQ$w?BXH8?BYB75C}WfDp& z#Bc|&%JQs5&I)SeBW?;vk@UcHD;=ZRcp2EvVWFB21`~*=Zfe{B!+@MuSF8lkNjG8T z76)K>fT{!?p^FsiS7iMOnh{x(RUok{@&Epkc%%=?lo&q`r7XOk42;1m5%0qJ{`Ahm zQQmxK+bWeNMZ1)T`Yo143m;G{#9pof{o6ti? z;r4JKk%X8VBK#QMIx)ruW3umUBPKdct;D5I<2IBpY9(BS@!IXTdQ!+wu~^I(KsS)w z(pW(vxyWb;wbcq({MbBgXY5u|ZU@|nU|}|Hjf-27qbBRbBI@;->7?oRAk{1PhqLTw zkHZSx+$7!7)?@k;;xgH6@_TcbA5ZPT&KtSrmm^LJ?w14Dm5UM7j;Wu^$)pFTd+INb zk9)P_a_&wRB>}qz{X%BysA;$hwn^Xbo@O>%^t;o&=o=FBk^mdtR}Y+A_pgBP%i;gw zS-|eR5JwQ@iNf!8Uo0NLsdx*Y-DAj3lZ%+}{K1_7ekMCp|2bHq4oaZuu=I`U29AMh zEc4_fkM;}LOw0@*dCxhLWZFOA5A&(tfr?aw#@~gc-=tz#cJGPDU{E|>j!2_b^)y4; zAtglLQf8gOGb+_r2mkyMR>xufP;K?@|B6UHDH;mv`ZK4tWn2IwC4=aa(X$*$`F$e?|dwnBJX(IgiBn7C}H9vObW{VKmI;Cs??4- zyzWJN=4oTlcJ?SiJa#LsD-nC(P~eWu=6)!jJ9JDI!hGWG>&pOWIR1=t8%UhPyzSMw z1gXpu5!H6Gmw2Om5|57fF#yb=5Q-uK9)P?$@`v{67MV8i4F1dJ8a}ui%xOykx;Bi* zupdW}EiS=h`&wB|dRTxil3v_x^anpu*kkVoq3U7Tp@kvaa@QShNjN zaCUoGzniuNXCj_~gxAn*WRb7{;Y)j(>#1w-epm(O4YQ`M5~5wYx7BBZHJrSX$3&NA-5G7||Qde0j$7ged=P`XZ zy>i}01SLTY;P)nrQxyEocO7dk+xe@z_`1rgR8(GnS$bl?K3Rl+9f^W~gvmEzsDTrM z*KS=x>_h0K$5or%gTsoTJSy4Abbrb7_Dcd__{L7!cYJX%Q)*0h(TqOzf6FRDvYXrx z+WfdU-OKiFK6mbU!X(W5lv|iMK@HGXR3kgh^E_QFaIE=-e?MXNC2B=5_}@B#RAv74 z)DT7b%+R8NI61WNQckte?Jx2Aaw~h#JO2qOdG5kOxNJ0u^v40B<*Gqq?){iMqM_-d zee8}DE|8_mL9_0xT^D(K9uro$!R< z7=pb)i(x{d&CiYN-#s-XaK@krWiHYeH^VDliMuf$%XAUTK~3x4Ki&|Y9);rbPNFqn zoY=?v=nGZ zBu=&TY!86k66?0anIk|O_&lSieMMF>XVt`(>n3{|BBNHfO!y4-5rjT?jnNuiUnX~G>uiI$9h>#7O_bVyKj}XF!EsRkpKQ%< zH|=V=Ged}E9_MVPQ{myAtNgB**LV}}A4aOx{9AtKCy75H>XK)x}>@H3n(^%+;Vav8)yMek*mYI%u^wENKGDmvk{O46_}HE+Qj zG+`NU58jc$Bq3sZ*sj#gp@({mo=xn1|B5CxsHH;XI2a;Bw`&vt%`Q6*fvoKqAz$XEb9q|(eddZ`SF5EyWhiXvZ;xj%aVo9WALsmc6$ zWkjaYw!Q0H%ob9H;kc-k;HKj|VK)Gu`dBh-g^e-+o`odB@RkU9fe7MrEnBi1u;CnU z^}=x;W9=4NZAYP91Is$C+2j!I&C zaXF2T2*maNKHNP}iwLP}YR8Aou_>rG$osTlVIR|%;6!v{Uf}U0@%)aI1dIA&r)f*- z&6C!NA1VxAfJF3|;KFHG?S)Nu00myick5n4sV&wfG*3o5QmA+cj&Mt-((=05t*X^> z=ZB4DbPEzyRq#G(kRUNmw>*WBDjr;3dQ1Xol?Ri@bHID!WWsKy7fieX#cFe$ucXIP zNe0XVqJj>{J|Hs{zl-0GLV7Q~0}EpK@}UB94^Oqpuq0GgP!QPW9GYL+xrDjTn?n&= z2?uUZ8i4+IO(N+O(lff|#54cpw&_pLlO6|>d_&w*jLy_|9sI}LplQ%`glxm718M9% zB97}AP_b~=%_vHhmEGS#D{{~@3<+-|(Coom0jL~X?%1L`lhaKx*qHL+AI;-SzQE6p zaPyxr6tQR6{O4H-0f1BizBt%zpG4GtQ?Z6q6dHK425-;q~e5uWOW?N zcV;t1Zw0OepxV+;N1b9MsFDDzNsLh?^c$_TSK*Ml@#P_jV~U{kP`e!g%M;mISg|kN zrsC~^O3AdZJrKemKTMjEdWy8*mWqUi!L3n!jLUjnQPo)LXh;v9FP$q0+`c8IANfc zIS`VZ(#y(B?scEIt7*Gv;GV(y&E?iuY3lGA*8Xc7v>1L@Nz|h)I#^*d)iw51Oy`rc z&LYgx&qjLk{z5AeB|^|jP-((fy+d*;Ij|}wi#-Eubu(qN6fbY!*r>NM78QXOPo908 z&8BO$Ij!e`8m5P-3Y>{Ea-ED=5n^iqRf9o2xX&WbEkm9o_5>x3T%Pxcwf>l=5${C5 zVgi5@ITu(W_k{7gPb;`_oro;Z^>LY<(Z@s*Z681iJ^@SL^UA?^b++A|#)dbB@ zr9J^Dz$eC*oCH!>A{PSnEDzEi^PKOe#`jWWvR(yS6TJvnC}O;#EUoF%$TDWT5cVm@ zs~jf#04(e_A3p+)|FNG~>cQL?>_SLRK$mW2Ah^a=T1DI>@S7@BGD=HiML*LQz+F{^LZz?joNyW*#O} zCk>~~a<{slyY6+mOICZy>NQD$kBC*C`$nt+7S^Y`8B`x?Hrm3OD%p^O4mx?~^h_FKYq{IgB@UqCA^N+P?RF`>&fizuz;mZqm|Fr{#KYvqVohz=56L>af!v*r_r(gBaeP^ASj5 zvDdAtP0}MA|jVo@9jT11`nH@;#fZu9pYZl9m2T#&D=D&7;#+f}s54Q8@f zqh)&zGISA1(RPR*M;2q3s05L71kF`C-@=JEAZcK_Qow!`Q%2n$tsX2Q(eM`2@H#&{ zNE0^2uYVyWedx-dtsJm=1^J(rek(*rFhTE-W#M?{Qx#hInCwwTZs0)Hf-*|``8nkjue0pNgOD?=>_d@b{H1|iI7Uol~?h#X7?pJ2@ znl5(cVzHam1efzaAryb&2cCo97NIKg2cAg{9ilDrVqb+?(y~W=p5sAq)jNrnCW_FV{qr9`(q^=~PS3EdmWG}`PSC{uWaO0W#iw`|fa?u-3l zrw62`oPrx0cxoBL=#rKm#e2OoPp7g{>*2t45lYp?gtP}!ySr5BsPfl*OO`mMWO%r3{{IV0q7C4h8(Y2XNq_9>qO7G ztj-=fI99r^H7Ch~A0J1^i#~J7skzzqIT7|b8k_Z^lV|Y;JzZ2zzG~+Pn_B^SG-Hcl zbVyEg?a1q__9v9B<#UnoKFm}N`2H{&i(%|-mR6~opnj0810|ShCG$zO( zCqK_^zxm4meS(SJ}SBmniGp z@sgF7i#h_KXdY)wo!~>zX+b_Z(YW`jXmedoHdpnAaQv)$%wYk#kS|va%BuCzolQ4{ zxP||*J<; z7A(l^Ofd~uf_V7Tzm!~*Q8MfN=b#wk#^SP_`%iF9?2Rb>M9!1W0E zNIs9MFGTnzhS42{GLqK3CW|Hvf^x&PxkRoQn>4E%y4UHMgyr8IAiR*cx*?-|0{-EOU1Rv}n z1-at(aDp<{dxFvRCTg>8(0BQ1n_kgcLyR-9Lbyf-Q3R95-QbH%5@N#U^ZJDflcqtAhky%pw0-|9lC7Ex2YP?;oxj4ZQ;#R3h)E<*fj zt~TI-k@D5^nXQjD+Zts7fHn>1z!m8nJI>hn7M$Ly!emu;V_TL^>lVw??1wVOc6cW-+5`;#!du~gy?Tg-jI0S4twOBgp`9WK0=z8UfKkS6#178sN4AyLIY0+V4m z!5p$z7L|^a+~sr&Unj6EtIP}#En=WpcrHZHCQh|HKHqjz0MIvcH;o!iZ)fnQ&@(f_ z4}Wc|T|^DDQGRxmAl+zg0KNGzu-gf@3f}g_eB4#296KDI&+kgdu?t2(&q!$lu>gMs zp201BG$D;1C(f=1z>^sttNZ-%+}^}~vyo2}JCwFZ!l4AD6*FHSi{%>~<#uA5M=f70 z!Ss!l|I`6#eHTkjyLj*wBv_yp8*d8rc{3Kb*V@`JFaQ3&F_`evm0tCW*7Qp(E6uZh z3e3>TQwO;mzj|8B%W`kuCKi7cPW6=}6yYyzc_)}I63^d?#d6yT`AWX9`KBcJD+IcP zoQ88Art6lEqGoQZ;1WjM>^ecyB;5e?n2-%XUh-zVQUJF?T{VgXP>I*`!XrifDMb8B z1xIO^2Q4zLJ$Id!*;cxC{=Po0gi2>#pgALI9*Gm=jj^@9t)7=hN!z^5Zs_A81)@wH ztBDf?wfK6d>gR5k7W<5Gi>48+`%oT^FJPCyO%D>zPRXQei+jq;t%dnxx69>VwBR}; zZ%R=n$R_Xhs91i@Z0M_HaVl0kINZ@C!dqoZyJO45I4AV|A&HlYY4y zsu|{`-1sO#{hjy+;ZJyQ^Tq4)uLXvQXakZ=9!{Hsl`4k!*4%CTD8z#i#J_NWX*SX! zr95ix0#v+aJtn~zt11j!72v^oExZjdIE`!gRVqevwJ>Rxg&lH%dsufbPg5%QO7^3D zmm@R?fjKxNmosMJ9{6)AWAIvq>64g?{wLK2@)3)Z=2Cw0582E%tCX4LiGTYdOCWGr zf{YWL_>4*R3^SeQ+shp&oAa~2X=H0b<+VaSic8NK`wov%XDeKn6sH(x=}*Z3&O8Ji znX`W_5u6r6fZ^yj%S@RI12As9>a%|SRBJ#5sll6*eWwW+D61hq&Ua{}nu>xVFG_S0 zv9dU_+29MH4gT)XVE!FCk)+7+-2zWQHW}`IrK^_Nh^vYRR@(@aHcy)Z)N2rm&V-`I z3#KitUcy9MvV01ZlVJ>tYo~#9s$*Lq7y$92J=UX5hHjAuK52WKmm=_x z^)8vE#Aw6R&QJk{KE|Vhkc@V&V@<81xW1KgzkRN6wO1_6Qv}TVXrUlJ1QrAvfo?`< zs`X)hH@*9$-tA7W{eYStDrr=&z$y4{qjS7R?D97~86ItWG>xQMggF*I3bCjSfuH?& z1qbY)?Kg&objVQM4G7#qWUlMg<(~WN>F%%wQ|kPj5a<}_`9Lp2T2(0e0jLsYTmh*4 z{yOv>tFEB9O(p2`_kjWS83aZotB;ofl9qF3N;*qHS@}{sLtD%DU{fC4@1z!e={8I2 z{~VDR-e=t1?ypg@uZD@=^_*_=11a)j5mT_uI-<-yFq;z-lwwXrMOA2lx+CrlP7FO& zki}Oy6&fjxqiXdQ!CB4S>IrCH$L*sh55C)M{|0whx{9}OSReLF7i(rLCyebU;Mm(d zr7n(JK3HxA`5h%gn8D`IEErscpaoe{tGd^n|9HgH{)sdrmXiAc{*0i85e2mYjAA4bfe_{;KS>*iPj}N3n;t_k@{qxGOuQneOa8J z0SH_6Buz?>8(nGmZtk18unm}t^VH75`Q^={iG!HjuA*!>f|J8QBLrjp?)}VS6fD2a;0J(2%{3}ia6_n)LK8Fqs;LipiP6<9&=XU&d5Eso zKN63k%Fv!-Fi$U(r~rO~-3i@d)ziGk-|BESz7f%x^!TEm`Z~XWn0+0c`Yahz5gm!U z7A`RW?ZwZAc_OW2xqgIBkIsz~NLIb-VxtOnv4vJD{s8BAtRVR*+AA; zOOPz4s9b&}%qPz7w!Uu~{~jOb+*9|b*5Ve6Ej?rkMH!HA3ti~s%^}_9;c}BtVUaxC zp)sP}em$S&M2$o)knp1(;hkaNcC*{H-@ZIq0g%GIwjojw(7yifpSqV8V#1R0%R!>^ zRJ@@_yH!*b9joTD9i#?u7f2$iE9CAtIuFyzrDyv-bTf@zXns(dU;#sA_+M&$gbc!@ zkuu|-;uHZjk?03O1+5(rd@St_Y$=NVTmDIt*?8jrFHW8@YDJ-BL=_?~11Nb{xdw(` z&kX@C=G$G(?CTxI2kQU7jnAJ415e!N3;#DLXM}qGMM6o77T6b}csLM?V|k?Y+paSG z{oJm@tu*Cm;@J%V=b&4IBNwVHd&-Mlv9jt#!)!6CE2GpQ->p~z2=G`ZV4m$$sg}lh z7j0MUwPh4{PCOwLZ;7u4IsT$sm^cmm*;A9aX?(U0s7(zu);UMFVrbLfuJ^?%U?eWR)Sc0BUn z|2pYzeg*AnXSV27j<1Ed-7*;wa1xY4+=;F*|Mv7re^vBpVSw}c01m@`DG%=XC{CJP zMyQejwEHJC_=C0kz8lT@YrCy&?M}8nt~3J(MVj1pXTM+sO?UnDvCz+yMgcz5r?!l) zvwDphG;j0Q)jo3%{w%6_u<|1DJ}TrN2ac?j^40426AeR(Wk78J^L1{7iOA>KX6C6e z2LHugoKvPpqWfvR1b(QkE(KOWo^$y$lGj5|wfUqN2_cA(P+6Hcug3SQof3DZ0lLm! z;uH0N86D&-d;&qTgMTdzO%#?DC@RMdfvbo<0YkbLXjenNbb;aAEmLC@5YaL4n}G^z zDJfF(saQjt=EduhH}B{2aoMqtcWA8myG9&394h#GGW2heS$Is0Dv^d(Z|3PX7VAlNU)QaoXMtnE?)LivYAF|J=BS)K}M1s7Xhye z_SQB-qg{PHn6Kjt*wx!CBXv;xQ5t|{PIFh2$JK>uh{^4M6> z)cK8WAzQ0qsvggJ3oy_o#MH6&+LP!HECo%4erEXp$dm-{P z-TnoGz_eZ`2f^mz5H<(Ckc-1z=UT>?JU%3(UkrPs;EZ#GC6SruekR7zm0K>o%&OdK z3Mk`O-Gs28jXU$~tv*NTn4jzJridCDNzXd)bwy`MlNd zXL!~%LtJqU2@oK>M4xWaRN)4fxu>7f282yTpmt-ffTBjen4W;j$_rE?!UW$-L|L=wvBD2$v$fA!itljBjVdcA6 z#K3RQLrdI(;;Vn7?efc`6P(#;<}#)<$72`|Zp*p;?je&17mHkccp_ntFck8npSni| zMqta$7v}Z_tPrWQ{!yP}v6UPz0cjP;H-}SZc8YRcEaqvqTpIEc5_+g<1OzCXrmLp~ zy^yfT=>BB4uJ1t(;vjW8E0--smSd%ne?o#XJq%0LTVGdwlkOyUo1WcZN?mur5gSx6 zjD3h^+OxH=cZ;A3H4O2J2cm%SMQdH(E2eQCEeW#2y?*qfTDYS=*O!;WY;)W0?6J2B z1Ps(vbHF61+U4+g9MeP|3@D;o)a+!p--08tI5gtc5$D1 zmNZpBZEql}{P7%)wxxf$4ya_8-g$XTeI%syTPM72On73EH=v^V!%+QEG^3ZS{ga`C zi7F8Uqi%Wf`>EisSDk6q2aJ7Ky_)+-9!70Csdo=by>~B`7Bq2DDn2#Cu2O8{Z4tL}~?>4k@H-gbA1Z{WM&gjb(#v|0@XF1Nr?4 z!Egk}#NAgMh7M_e7ca4sv=+k2OD#vd%RI8M&!XgZLLbCLsxQM$*%Ya{+TIiO4S zRt$bwsw4sYg%f9y>Mk`i;Q}CPLhwV?)g$6k{Wu0-czBGcAG12xrBBz_M@fVJ8FdjG zQt^I;?DQ~TZb>m;UV9Kn{Y!6ZUNC&-(=SKUkVw4Ajj zfhNgZKVO2lmm{hD0m*Bq?rb3$QM&Y2o)c-(5{a;CtKRz#> zEoop4JbC#}=4}fgH9Cx+=an^drbfk@9@vqm4zDua_J22o;Lpf+5bPlUqRLL=nj;Xl z7`z-FxA*t;4DXku2+?7YrV!*gBgDMA!0hdAs>wH9i!lvp6`$hi zkw+m0i}Asa|JmcOsyyw%0qh%EvWf}F`g0(Vq@-2U@zwsX*!NGcJ;EbVaB=v#4S#L# zx7JD9$I*SWw%f~n{tntWa6r0afsp#NR7 zCQR^uq68#&qcr+Cas!DqdcyykVs=zE=#M;D5wmLb=!{`p`HejXD@om8E=7mFo}WlT zRH})q_wD$zPRPDo6@>G9Rm^4f*-Zs;Zjz82E%jq)3kHdk`QWKd$9gu?oa*W z4Btm;x$tAndzlz!u5|WssfDT?9*PA9GeN^Ufbu0hb1&TO-H=4sz(Oj)Z%sN@9i@YY z$G0J4No$`hs(jML581a2SJF}vMth)@&H_de!5gVY{L7mo!b=*lK+L`eNF6D%0F5Qc zkQMqOllqC$rUzk*BekUwP7Ya;P7V3kG%1R(f_uQhd}`BNCQ;pdEKra*km6nGce1Wp0;awAc?|O$JT+ zM-dUVN?+~+f+1~gppY4MeCBSK-rd~iMw1`a>n&Lmg!hPO$EW}V7S(V3qD4rABl+KA z3%%KVm#sK(L$Avu1n2fjKTj=0uIq{e8hV`J@x#WDxBUu6k;qL9N4?8Q*WCiFgyx9{~Vu8lIZ{vSIYJ4{65D%$LIXd?@!XpfF}_XKoAU| z)Ut}vvpVbE!SK!DVw~&55w{!lKIaQ*{F1$lT>b$6%|ID0MpTFC|0hxm zNJV7u;MydcN3K0Jl>+RJ>`&F42AEGwRJ3v@2(Evzuu2ninXWs49_)7xjn#f00u}HS zL6qi71XD^g2E%gpV$e}SUPU@NCotwMbqD_>XEP1}C0|X-B;Y~zKwl^POn{WlxvFBc z5otfY&Xn{GS^D^E`*@u>F0*Jg2(b2bU7pUD2`EpRTC#LlDe)v}9MD_rd4axn*fwUV zML72QO1w6oP1MqI3n`xDAaJK=EeB7n0mdF z{T7vrgSoC(jHCgJWPV{HB}g){Ms_fu{!jy0+#I225iU#@VU>70U^)?iJ8qiFWZVv_ zE4|kaXCd6vR0UTFJ=cN2<2N8Hm;B{n<9MNF)wROT>k$VsAt(R0Y_RF|bi*vKa|vV? z-WIA_&I4QxbBA&u;p{;abXd{*xpE3X#fR!_BRC>uoWi%f6iCK2C4c!Lv0t@Lq4ln3o%bK^_ z?YLd`)nP5x-0urk4A9*KDX%V_5DIy4Ca}iC(~Y~t0W@lTU3C`~xM)}jD>rFr@jZB0 z8gewIP&q>Lzz%J+bjNJF4qT@TnepaOZk4hgsk_P3@G;Dh*u6=?)YkS?(bQqPk!*O*5r5(^pPC`}_oH1dhendnUVku|UOVLVcgT4jhK<$rb&bAZ2$KLrAloli(b>q^dTwtuDl4U-i5#i%5vdum zNJn{qXa@5&qhrH}e05I^frJ~I?C18u^>Pq!y-fk;0`AQV5gGdN>vqA|7k9l`u9VN% z@Q^BLu|88hQI`=+AUv4WnxzzXX6U$DClSoLg(Cd?a2r55K-pawZ;C-o?~koQdeR7+ z0LvR7nI+Taef+0>D%)-X3X?&q+f@?KrG@%zof+i@#eLCSvgw#>Rj}Z9&3LF!RzbpA zk5}pC*7e*@j21)~ND^=cqmK#!b@`lW8OgO*zaFNqN|V)C(U94gx>z$9J0io$W0Kir zoUXRd%*wSyJ+6*-qcXf9z<50_)#EWydl>WOT}5qp^LXJpKA7&-@o-7(hD!!!Hp@b} zT$%>807(XPODma!wwiDXlvbBGPUb_3f$Gkue%>w{wd-_d;4PI+an@_Ep}>gpZ7`!^EmC5*D5n;XXiu7qiJ;y*$!my^&L zdfP|N6dbYiD0U5HV6<)#a)JDNjl@ERF-)Dn*AMAWSQNRCQo$GYMrx!b#RFEZXZzt6 zrk)C7np3^hxC`9Pv*kU`0Kzea*bew6=xMvtMnN7o^>o+kV4#DM$gT!wLvq)p1$~7bFySn3* zyi{+vZO!!^<4@3mOJ<;10=kaN9pDBL2`Kw|{wlRJQ&rVV+nLd-M*z?C_K$7hV}%LB zaMEAsv)*v&=DG_nS(me&Ran6i3v&R2~ru)IfX}N{8VFOUfm1Z*I{|y zoB==M1#?y=idR#QNsWsUsfP>Z{ESLB3DzcMxhH`P3>7qQ171ABz8_t${{6|c> zjcd@BKw`K%wID8#(#wM3>3Aej@Y|GC14B4u5#V9*Q(2|*2GU0ITOt_g4*pauLORy5{34|(Hp z-RMrz|NHk6Ztw~GJ{jHU`KNB!-t$lK6W!>%*ihNizt?c^Y5WAeAJO{}{Wm_vOGg{& zvk|d4eg(&W|LCKopnv!28&=}or+LAb`9>1u1$}f{dILM3$4}6I5Yc}S(f{=eyd<@e z+Aipy=clCH^z9cp(d~#pv|rRC zwpA4S*9raWFLC0pA?ov1osES{h-8?k(>3Frt4L(f>FqDC!sV;`t{Ly%Lps z@bV4Ydl0?&SoHpg{;T+1(z`fEkN6q<*k9}>+VV}*41R$Bq8;Ldg`HFSI}!bz7%veM z6-ETNF1DKsdNp&yN~jrL@Ye6nJ5bQ`tCAFA=d}L&&lcIG`_J+xdR7#SwwLYyZbUEM zzjTY!OSd@v!)P3d+uRX5(e?+}QvHJd;j5hf;j5g!{<(94%ldzEL0^88)0f}m^itxS z{^E5?KgDJGR7Cw{J)+k+{mnV~vH!*C_pozH{~)4&5YgWe1*7d{``^d;FX9(X7m^k7 z`YoH+f7xDfEVjP^?UzpI{fOTGAL)M&TB=FZzmMqm5q&IrF=7;ndc`>U18AxL1pV9J z;q8BW!P`H)cwj*ym%hj8C7;uOsGz{f-<^|v+WiZDbT3i=hri_XAHK)wA5h~? z{zSXQslQ=|ip0c;Xe;Pnxi~LwC$|5B z_s_4MA4$?zo=r7;j{TH5Lgg>MO;^a@X zUu?hrg!=zH;Pn4|?)(J`I&sUw6X^eF)2b**{zV5~($n#I4U9}0{)p4x`Zd4$HJrZl v!sGKlwNi{dPRajU1Ny2Z>D#|Ozj|5!mr>@t1S6Av_1bf6r+YzgaVY&8G7i&{ literal 0 HcmV?d00001 From ebf50586bd93d274545875dc54f4322f66c60be0 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Fri, 9 Jan 2026 17:36:16 +0100 Subject: [PATCH 08/37] distribute mlkit-generated executable --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index abebe0c89..9876f640d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -205,7 +205,7 @@ jobs: make bootstrap - name: Upload release - if: ${{ matrix.mlcomp == 'mlton' && github.event_name == 'push' && contains(github.ref, '/tags/v') }} + if: ${{ matrix.mlcomp == 'mlkit' && github.event_name == 'push' && contains(github.ref, '/tags/v') }} uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} From 44e60f77966850fb3d1a0165854e6682701267e0 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Fri, 9 Jan 2026 17:40:13 +0100 Subject: [PATCH 09/37] bump version --- NEWS.md | 4 ++++ configure.ac | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index da5d647d6..928d98f09 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,9 @@ ## MLKit NEWS +### MLKit version 4.7.18 is released + +* mael 2026-01-09: Distribute binaries built with MLKit to avoid gmp-dependency. + ### MLKit version 4.7.17 is released * mael 2025-12-16: Remove the use of the macos linker flag `-ld_static` when diff --git a/configure.ac b/configure.ac index b29fe5118..3fa3f0082 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(MLKit, [v4.7.17]) +AC_INIT(MLKit, [v4.7.18]) AC_CONFIG_HEADERS([src/config.h]) AC_REVISION($Revision$) AC_CONFIG_FILES([src/Runtime/Makefile From f9193acb30df5a2b5352e2024ef8fd3ab14634d9 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Sat, 10 Jan 2026 09:46:24 +0100 Subject: [PATCH 10/37] fix missing chararray in type environment during intermediate language type checking (#200) --- NEWS.md | 4 ++++ src/Compiler/CompBasis.sml | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 928d98f09..e0f634649 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,9 @@ ## MLKit NEWS +* mael 2026-01-10: Fix bug related to chararray not being present as a type name + in the intermediate language type environment during type checking (issue with + test of package sml-sha256). + ### MLKit version 4.7.18 is released * mael 2026-01-09: Distribute binaries built with MLKit to avoid gmp-dependency. diff --git a/src/Compiler/CompBasis.sml b/src/Compiler/CompBasis.sml index 1cadd5d96..d91990897 100644 --- a/src/Compiler/CompBasis.sml +++ b/src/Compiler/CompBasis.sml @@ -175,7 +175,9 @@ structure CompBasis: COMP_BASIS = val tynames = TyName.tyName_LIST :: TyName.tyName_INTINF :: TyName.tyName_BOOL :: TyName.tyName_FOREIGNPTR :: - TyName.tyName_VECTOR :: tynames (* for elim eq *) + TyName.tyName_VECTOR :: (* for elim eq *) + TyName.tyName_CHARARRAY :: (* for elim eq *) + tynames val tynames = if quotation() then TyName.tyName_FRAG :: tynames else tynames val NEnv1 = Normalize.restrict(NEnv,lvars) From abb659dbdb4ea812dc7c7ec1f51b8f49c35af540 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Sat, 10 Jan 2026 11:00:47 +0100 Subject: [PATCH 11/37] new version --- NEWS.md | 2 ++ configure.ac | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index e0f634649..8998458de 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ ## MLKit NEWS +### MLKit version 4.7.19 is released + * mael 2026-01-10: Fix bug related to chararray not being present as a type name in the intermediate language type environment during type checking (issue with test of package sml-sha256). diff --git a/configure.ac b/configure.ac index 3fa3f0082..d5b4d9fa1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(MLKit, [v4.7.18]) +AC_INIT(MLKit, [v4.7.19]) AC_CONFIG_HEADERS([src/config.h]) AC_REVISION($Revision$) AC_CONFIG_FILES([src/Runtime/Makefile From 5fb2ab4be58816fed82f5bf1d41701e381625582 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Sun, 11 Jan 2026 16:37:12 +0100 Subject: [PATCH 12/37] fix issue with string-list options (#201) Fixes issue #172 --- NEWS_SMLTOJS.md | 9 ++++++++- src/Common/FLAGS.sig | 5 ++++- src/Common/Flags.sml | 5 +++-- src/Manager/Manager.sml | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/NEWS_SMLTOJS.md b/NEWS_SMLTOJS.md index da143eec8..53ca233bb 100644 --- a/NEWS_SMLTOJS.md +++ b/NEWS_SMLTOJS.md @@ -1,5 +1,12 @@ ## SMLtoJs NEWS +* mael 2026-01-11: Fix problem with -jslibs not working with mlb-files (issue + #172). + +### SMLtoJs version 4.7.19 is released + +* See NEWS.md. + ### SMLtoJs version 4.3.12 is released * mael 2017-12-10: Support for binary asynchronous XmlHTTPRequests. @@ -67,4 +74,4 @@ * mael 2007-08-31: Various bug fixes. -* mael 2007-08-08: SMLtoJs version 4.3.2 is released. \ No newline at end of file +* mael 2007-08-08: SMLtoJs version 4.3.2 is released. diff --git a/src/Common/FLAGS.sig b/src/Common/FLAGS.sig index 9640ad6fd..4b3c175b4 100644 --- a/src/Common/FLAGS.sig +++ b/src/Common/FLAGS.sig @@ -162,5 +162,8 @@ signature FLAGS = val reset : unit -> unit end - val has_sml_source_ext : string -> bool + val is_source_ext : string -> bool + (* [is_source_ext ext] returns true when ext is a file name extension + `sml`, `sig`, or `mlb`. *) + end diff --git a/src/Common/Flags.sml b/src/Common/Flags.sml index bd7c09e0f..c7244a765 100644 --- a/src/Common/Flags.sml +++ b/src/Common/Flags.sml @@ -22,10 +22,11 @@ structure Flags : FLAGS = *) - fun has_sml_source_ext (s: string) :bool = + fun is_source_ext (s: string) :bool = case s of "sml" => true | "sig" => true + | "mlb" => true | _ => false val install_dir = ref "You_did_not_set_path_to_install_dir" @@ -388,7 +389,7 @@ struct fun readToOpt (all as [s],acc) = if is_opt s then (rev acc, all) else (case OS.Path.ext s of - SOME ext => if has_sml_source_ext ext then (rev acc, all) + SOME ext => if is_source_ext ext then (rev acc, all) else (rev (s::acc),nil) | _ => (rev (s::acc),nil)) | readToOpt (all as s::ss,acc) = diff --git a/src/Manager/Manager.sml b/src/Manager/Manager.sml index bc438e55e..2fef500a1 100644 --- a/src/Manager/Manager.sml +++ b/src/Manager/Manager.sml @@ -916,7 +916,7 @@ functor Manager(structure ManagerObjects : MANAGER_OBJECTS "*** The file name you gave me has " ^ s) in case OS.Path.ext s of SOME "mlb" => MLB s - | SOME ext => if Flags.has_sml_source_ext ext then SML s + | SOME ext => if Flags.is_source_ext ext then SML s else wrong ("extension " ^ quot ext ^ ".") | NONE => wrong ("no extension.") end From ecf8db106aa6fbc837cfebed50924d7e18022108 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Tue, 13 Jan 2026 09:29:05 +0100 Subject: [PATCH 13/37] Save lnkfile also when content is unchanged (#202) --- NEWS.md | 3 +++ src/Manager/Manager.sml | 6 +++--- test/repl/pretty.cmd | 1 + test/repl/pretty.out.ok | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/NEWS.md b/NEWS.md index 8998458de..afb45755c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,8 @@ ## MLKit NEWS +* mael 2026-01-13: Fix issue with unnecessary recompilation due to lnk-file not + being written when content is unchanged. + ### MLKit version 4.7.19 is released * mael 2026-01-10: Fix bug related to chararray not being present as a type name diff --git a/src/Manager/Manager.sml b/src/Manager/Manager.sml index 2fef500a1..4fe81a088 100644 --- a/src/Manager/Manager.sml +++ b/src/Manager/Manager.sml @@ -354,9 +354,9 @@ functor Manager(structure ManagerObjects : MANAGER_OBJECTS let val ext = "lnk" val p = doPickleGen0 smlfile ModCode.pu ext modc val file = targetFromOutput ofile ext - in if isFileContentStringBIN file p then () - else writePickle file p - end + in writePickle file p (* always write the lnk-file - also if it already contains the data to be written *) + end (* - it serves as a witness that the underlying target files may have changed due *) + (* to recompilation! *) fun readLinkFiles lnkFiles = let fun process (nil,hce,modc) = modc diff --git a/test/repl/pretty.cmd b/test/repl/pretty.cmd index 5a1fe329c..43328dc8a 100644 --- a/test/repl/pretty.cmd +++ b/test/repl/pretty.cmd @@ -15,4 +15,5 @@ datatype single = Single of int val s = Single 322; datatype ('a,'b)t = A of 'a * 'b; val x = A(4,2.3); +val r = [{a=true,b=(3,4.3)},{b=(8,2.1),a=false}]; :quit; diff --git a/test/repl/pretty.out.ok b/test/repl/pretty.out.ok index 679e0e344..d6694be9a 100644 --- a/test/repl/pretty.out.ok +++ b/test/repl/pretty.out.ok @@ -25,3 +25,4 @@ . > datatype ('a, 'b) t con A : 'a * 'b -> ('a, 'b) t . > val x = A(4,2.3) : (int, real) t +. > val r = [{a=true,b=(3,4.3)},{a=false,b=(8,2.1)}] : {a: bool, b: int * real} list From 41a18a4b3e2b92b933846a5774ccb4534d55306e Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Tue, 13 Jan 2026 09:30:40 +0100 Subject: [PATCH 14/37] new release --- NEWS.md | 2 ++ configure.ac | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index afb45755c..6d0055caa 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ ## MLKit NEWS +### MLKit version 4.7.20 is released + * mael 2026-01-13: Fix issue with unnecessary recompilation due to lnk-file not being written when content is unchanged. diff --git a/configure.ac b/configure.ac index d5b4d9fa1..665de58fc 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(MLKit, [v4.7.19]) +AC_INIT(MLKit, [v4.7.20]) AC_CONFIG_HEADERS([src/config.h]) AC_REVISION($Revision$) AC_CONFIG_FILES([src/Runtime/Makefile From 8b01627ad15d33ee3f2a45d6bc804096a0421afd Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Thu, 15 Jan 2026 12:11:34 +0100 Subject: [PATCH 15/37] January cleanup (#203) * cleanup * fix config.h issue --- art/reml.png | Bin 0 -> 111667 bytes art/reml.svg | 273 +++++ basis/ByteTable-1997.sml | 262 ----- basis/FileSys-1997.sml | 196 ---- basis/MONO_ARRAY-1997.sml | 33 - basis/MONO_VECTOR-1997.sml | 30 - basis/Makefile | 1 - basis/OS_PATH-1997.sml | 196 ---- basis/Path-1997.sml | 196 ---- basis/TEXT_IO-1997.sml | 195 ---- basis/TIMER-1997.sig | 42 - basis/TextIO-1997.sml | 152 --- basis/Timer-1997.sml | 49 - basis/basis-1997.mlb | 147 --- basis/web/DbFunctor.sml | 352 ------- basis/web/HTML.sig | 346 ------- basis/web/Html.sml | 287 ------ basis/web/MSP.sig | 420 -------- basis/web/Msp.sml | 233 ----- basis/web/Quot.sml | 76 -- basis/web/WEB.sig | 131 --- basis/web/WEB_CACHE.sml | 100 -- basis/web/WEB_CONN.sml | 118 --- basis/web/WEB_COOKIE.sml | 47 - basis/web/WEB_DB.sml | 191 ---- basis/web/WEB_DB_BIND.sml | 7 - basis/web/WEB_DB_HANDLE.sml | 150 --- basis/web/WEB_DYNLIB.sml | 7 - basis/web/WEB_INFO.sml | 42 - basis/web/WEB_LOG.sml | 38 - basis/web/WEB_LOW_MAIL.sml | 48 - basis/web/WEB_MAIL.sml | 24 - basis/web/WEB_MIME.sml | 10 - basis/web/WEB_SERIALIZE.sml | 50 - basis/web/WEB_SET.sml | 41 - basis/web/WEB_STRING_CACHE.sml | 60 -- basis/web/Web.sml | 1581 ----------------------------- basis/web/WebDbLow.sml | 489 --------- basis/web/WebDynlib.sml | 42 - basis/web/WebInfo.sml | 105 -- basis/web/WebLowMail.sml | 143 --- basis/web/WebSerialize.sml | 160 --- basis/web/lib.mlb | 34 - basis/web/xmlrpc/Parsercomb.sig | 257 ----- basis/web/xmlrpc/Parsercomb.sml | 196 ---- basis/web/xmlrpc/WSeq.sig | 38 - basis/web/xmlrpc/WSeq.sml | 48 - basis/web/xmlrpc/XMLRPC.sig | 51 - basis/web/xmlrpc/XMLRPC_TYPE.sig | 57 -- basis/web/xmlrpc/XMLrpc.sml | 319 ------ basis/web/xmlrpc/xmlrpc.mlb | 12 - configure.ac | 2 +- src/Common/Execution.sml | 53 - src/Compiler/Lambda/LambdaExp.sml | 1 - src/Compiler/native64.mlb | 4 +- src/Runtime/Locks.h | 2 - src/Runtime/Makefile.in | 605 +++++------ 57 files changed, 579 insertions(+), 8170 deletions(-) create mode 100644 art/reml.png create mode 100644 art/reml.svg delete mode 100644 basis/ByteTable-1997.sml delete mode 100644 basis/FileSys-1997.sml delete mode 100644 basis/MONO_ARRAY-1997.sml delete mode 100644 basis/MONO_VECTOR-1997.sml delete mode 100644 basis/OS_PATH-1997.sml delete mode 100644 basis/Path-1997.sml delete mode 100644 basis/TEXT_IO-1997.sml delete mode 100644 basis/TIMER-1997.sig delete mode 100644 basis/TextIO-1997.sml delete mode 100644 basis/Timer-1997.sml delete mode 100644 basis/basis-1997.mlb delete mode 100644 basis/web/DbFunctor.sml delete mode 100644 basis/web/HTML.sig delete mode 100644 basis/web/Html.sml delete mode 100644 basis/web/MSP.sig delete mode 100644 basis/web/Msp.sml delete mode 100644 basis/web/Quot.sml delete mode 100644 basis/web/WEB.sig delete mode 100644 basis/web/WEB_CACHE.sml delete mode 100644 basis/web/WEB_CONN.sml delete mode 100644 basis/web/WEB_COOKIE.sml delete mode 100644 basis/web/WEB_DB.sml delete mode 100644 basis/web/WEB_DB_BIND.sml delete mode 100644 basis/web/WEB_DB_HANDLE.sml delete mode 100644 basis/web/WEB_DYNLIB.sml delete mode 100644 basis/web/WEB_INFO.sml delete mode 100644 basis/web/WEB_LOG.sml delete mode 100644 basis/web/WEB_LOW_MAIL.sml delete mode 100644 basis/web/WEB_MAIL.sml delete mode 100644 basis/web/WEB_MIME.sml delete mode 100644 basis/web/WEB_SERIALIZE.sml delete mode 100644 basis/web/WEB_SET.sml delete mode 100644 basis/web/WEB_STRING_CACHE.sml delete mode 100644 basis/web/Web.sml delete mode 100644 basis/web/WebDbLow.sml delete mode 100644 basis/web/WebDynlib.sml delete mode 100644 basis/web/WebInfo.sml delete mode 100644 basis/web/WebLowMail.sml delete mode 100644 basis/web/WebSerialize.sml delete mode 100644 basis/web/lib.mlb delete mode 100644 basis/web/xmlrpc/Parsercomb.sig delete mode 100644 basis/web/xmlrpc/Parsercomb.sml delete mode 100644 basis/web/xmlrpc/WSeq.sig delete mode 100644 basis/web/xmlrpc/WSeq.sml delete mode 100644 basis/web/xmlrpc/XMLRPC.sig delete mode 100644 basis/web/xmlrpc/XMLRPC_TYPE.sig delete mode 100644 basis/web/xmlrpc/XMLrpc.sml delete mode 100644 basis/web/xmlrpc/xmlrpc.mlb delete mode 100644 src/Common/Execution.sml diff --git a/art/reml.png b/art/reml.png new file mode 100644 index 0000000000000000000000000000000000000000..cd23a6dd6294c32230edf87b4be3a6d4568d1357 GIT binary patch literal 111667 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 z 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 Y3kddecEOhtk%9Z#%XFTsGipa1{> diff --git a/kitdemo/Makefile b/kitdemo/Makefile index c8eea9a24..dfeddf5eb 100644 --- a/kitdemo/Makefile +++ b/kitdemo/Makefile @@ -1,7 +1,7 @@ TARGETS=libmylib.a libmylib-p.a libmylib-pt.a libmylib-t.a MLKIT ?= ../bin/mlkit -OPT ?= -m32 -Wall -std=gnu99 +OPT ?= -Wall -std=gnu99 .PHONY: libmylibs .PHONY: mylibtest @@ -26,29 +26,29 @@ libmylibs: $(TARGETS) gcc $(OPT) -DTAG_VALUES -DENABLE_GC -c -o $*-t.a $< mylibtest: libmylib.a - $(MLKIT) -o mylibtest -libdirs "." -libs "m,c,dl,mylib" mylib.mlb + SML_LIB=.. $(MLKIT) -no_gc -o mylibtest -libdirs "." -libs "m,c,dl,mylib" mylib.mlb mylibtest-p: libmylib-p.a - $(MLKIT) -prof -o mylibtest-p -libdirs "." -libs "m,c,dl,mylib-p" mylib.mlb + SML_LIB=.. $(MLKIT) -no_gc -prof -o mylibtest-p -libdirs "." -libs "m,c,dl,mylib-p" mylib.mlb mylibtest-pt: libmylib-pt.a - $(MLKIT) -prof -gc -o mylibtest-pt -libdirs "." -libs "m,c,dl,mylib-pt" mylib.mlb + SML_LIB=.. $(MLKIT) -prof -o mylibtest-pt -libdirs "." -libs "m,c,dl,mylib-pt" mylib.mlb mylibtest-t: libmylib-t.a - $(MLKIT) -gc -o mylibtest-t -libdirs "." -libs "m,c,dl,mylib-t" mylib.mlb + SML_LIB=.. $(MLKIT) -o mylibtest-t -libdirs "." -libs "m,c,dl,mylib-t" mylib.mlb clean: rm -rf *~ *.o $(TARGETS) *.rp *.ps MLB run mylibtest mylibtest-p mylibtest-pt mylibtest-t *.pdf *.exe *.log *.out *.vcg (cd utils; rm -rf *~ MLB) .PHONY: pdfs -pdfs: life80.pdf life200.pdf msortregion.pdf msortstack.pdf length_region.pdf msortreset2.pdf scan.pdf +pdfs: life50.pdf life100.pdf msortregion.pdf msortstack.pdf length_region.pdf msortreset2.pdf scan.pdf scan_stream.pdf scan_stream_nogc.pdf scan_rev1_1.pdf scan_rev1_2.pdf scan_rev2_1.pdf life.exe: life.sml Makefile SML_LIB=.. $(MLKIT) -output $@ -no_gc -prof $< life.rp: life.exe - ./$< -file $@ -microsec 400 > life.out + ./$< -file $@ -microsec 280 > life.out life%.ps: life.rp ../bin/rp2ps -name "Game of life - $* snapshots" -source $< -region $@ -sampleMax $* @@ -57,13 +57,13 @@ msort.exe: msort.mlb Makefile msortrun.sml msort.sml upto.sml SML_LIB=.. $(MLKIT) -output $@ -no_gc -prof $< msort.rp: msort.exe - ./$< -file $@ -microsec 400 > msort.out + ./$< -file $@ -notimer 8000 > msort.out msortregion.ps: msort.rp - ../bin/rp2ps -name "Mergesort" -source $< -region $@ -sampleMax 200 + ../bin/rp2ps -name "Mergesort" -source $< -region $@ -sampleMax 500 msortstack.ps: msort.rp - ../bin/rp2ps -name "Mergesort" -source $< -stack $@ -sampleMax 200 + ../bin/rp2ps -name "Mergesort" -source $< -stack $@ -sampleMax 500 length.exe: length.sml Makefile SML_LIB=.. $(MLKIT) -output $@ -no_gc -prof $< @@ -117,7 +117,7 @@ scan_rev1_1.ps: scan_rev1.rp ../bin/rp2ps -name "Scanning life.sml 50 times" -source $< -region $@ -sampleMax 200 scan_rev1_2.ps: scan_rev1.rp - ../bin/rp2ps -name "Scanning life.sml 50 times" -source $< -object 154248 $@ -sampleMax 200 + ../bin/rp2ps -name "Scanning life.sml 50 times" -source $< -object 333643 $@ -sampleMax 200 scan_rev2.exe: scan_rev2.mlb Makefile scan_rev2.sml lib.sml SML_LIB=.. $(MLKIT) -output $@ -no_gc -prof $< @@ -129,13 +129,13 @@ scan_rev2_1.ps: scan_rev2.rp ../bin/rp2ps -name "Scanning life.sml 50 times with no space leak" -source $< -region $@ -sampleMax 200 life_ex4.ps: life.rp - ../bin/rp2ps -source $< -region $@ -sampleMax 50 -name life -comment 0.06 "A comment at time 0.06" -sortBySize + ../bin/rp2ps -source $< -region $@ -sampleMax 100 -name life -comment 0.03 "A comment at time 0.03" -sortBySize life_ex2.ps: life.rp - ../bin/rp2ps -source $< -name life -object 155180 $@ + ../bin/rp2ps -source $< -name life -object 332640 $@ life_ex3.ps: life.rp - ../bin/rp2ps -source $< -name life -stack $@ + ../bin/rp2ps -source $< -name life -sampleMax 200 -stack $@ %.pdf: %.ps ps2pdf $< $@ diff --git a/kitdemo/ccalls.sml.mads b/kitdemo/ccalls.sml.mads deleted file mode 100644 index f7e66ffd4..000000000 --- a/kitdemo/ccalls.sml.mads +++ /dev/null @@ -1,268 +0,0 @@ -(******************************************************************) -(* This file contains examples of ML code which calls C functions *) -(* *) -(* Contents: *) -(* (1) excerpt of the Kit prelude *) -(* (2) ML functions that use the non-standard prim(31,...) call *) -(* (3) Standard ML functions that use the above *) -(******************************************************************) - - -(* ================================================== - * Prelude for the MLKit with Regions ME 17.12.96 - * Changed CCALL primitive (31) NH 10.02.97 - * ================================================== *) - -infix 3 := o -infix 4 = <> < > <= >= -infix 5 @ -infixr 5 :: -infix 6 + - ^ -infix 7 div mod / * ; - - -exception Ord and Chr and Div and Mod and Quot and Floor and Sqrt and - Exp and Ln and Io of string - - -(* ============================ - * BUILT-IN PRIMITIVES - * ============================ *) - -fun op = (x: ''a, y: ''a): bool = prim(0, (x, y)) -fun (x: 'a ref) := (y: 'a): unit = prim(17, (x, y)) -fun !(x: 'a ref): 'a = prim(18, x) - -(* ====================== - * IMPORTED PRIMITIVES - * ====================== *) - -fun ord (c:string): int = prim(31, ("ordString", "ordString", c, Ord)) -fun chr (i:int): string = prim(31, ("chrString", "chrStringProfiling", i, Chr)) -fun size (s:string): int = prim(31, ("sizeString", "sizeString", s)) -fun explode (str: string): string list = prim(31, ("explodeString", "explodeStringProfiling", str)) -fun implode (strs: string list): string = prim(31, ("implodeString", "implodeStringProfiling", strs)) -fun op ^ (s1:string, s2:string): string = prim(31, ("concatString", "concatStringProfiling", s1, s2)) -fun (x: int) div (y: int): int = prim(31, ("divInt", "divInt", x, y, Div)) -fun (x: int) mod (y: int): int = prim(31, ("modInt", "modInt", x, y, Mod)) -fun real(x: int): real = prim(31, ("realInt", "realInt", x)) -fun floor(x:real):int = prim(31, ("floorFloat", "floorFloat", x, Floor)) -fun (x: real) / (y: real): real = prim(31, ("divFloat", "divFloat", x, y, Quot)) -fun sqrt(x: real): real = prim(31, ("sqrtFloat", "sqrtFloat", x, Sqrt)) -fun exp(x: real): real = prim(31, ("expFloat", "expFloat", x, Exp)) -fun ln(x: real): real = prim(31, ("lnFloat", "lnFloat", x, Ln)) -fun sin(x: real): real = prim(31, ("sinFloat", "sinFloat", x)) -fun cos(x: real): real = prim(31, ("cosFloat", "cosFloat", x)) -fun arctan(x: real): real = prim(31, ("arctanFloat", "arctanFloat", x)) - -abstype instream = INS of int (* Streams ala the old Def. *) -and outstream = OUTS of int -with - val std_in : instream = INS(prim(31, ("stdInStream", "stdInStream", 0))) - val std_out : outstream = OUTS(prim(31, ("stdOutStream", "stdOutStream", 0))) - - fun open_in(f: string): instream = INS(prim(31, ("openInStream", "openInStream", f, Io("Cannot open " ^ f)))) - fun open_out(f: string): outstream = OUTS(prim(31, ("openOutStream", "openOutStream", f, Io("Cannot open " ^ f)))) - fun input(INS i, n: int): string = prim(31, ("inputStream", "inputStreamProfiling", i, n)) - fun lookahead(INS i): string = prim(31, ("lookaheadStream", "lookaheadStreamProfiling", i)) - fun close_in(INS i): unit = prim(31, ("closeStream", "closeStream", i)) - fun end_of_stream(INS i): bool = prim(31, ("endOfStream", "endOfStream", i)) - val output_exval = Io "Output stream is closed" - fun output(OUTS i, str: string): unit = prim(31, ("outputStream", "outputStream", i, str, output_exval)) - fun close_out(OUTS i): unit = prim(31, ("closeStream", "closeStream", i)) - fun flush_out(OUTS i): unit = prim(31, ("flushStream", "flushStream", i)) -end - -fun app f [] = () - | app f (x::xs) = (f x; app f xs) - -fun print_string x = output(std_out,x) - -fun digit n = chr(ord "0" + n) -fun digits(n,acc) = - if n >=0 andalso n<=9 then digit n:: acc - else digits (n div 10, digit(n mod 10) :: acc) - -fun string(n) = implode(digits(n,[])) -fun print_num n = print_string(string n) - -(*---------------------------------------------------*) -(* (2): Interface functions that call prim(31, ...) *) -(* The C calls start here. *) -(*---------------------------------------------------*) - -(* The file my_lib.c contains declarations matching the following *) -(* prim(31,...) calls. *) - -(* The function power calculates base^n. The result type int *) -(* is unboxed, i.e. no regions are passed to the C function. *) -(* We therefore use the same C function when profiling is *) -(* enabled. *) - -fun power(base : int, n : int) : int = prim(31, ("power", "power", base, n)) - -(* We also have a version using auto convertion. *) - -fun power_auto(base : int, n : int) : int = - prim(31, ("@power_auto", "@power_auto", base, n)) - -(* The function power_real is similar to power, except that *) -(* the base is now a real. The result type is also a real so *) -(* an address to pre-allocated space for the result is *) -(* passed to the C function. The function does not allocate *) -(* into an infinite region so the same C function can be *) -(* used when profiling is enabled. *) - -fun power_real (base : real, n : int) : real = - prim(31, ("power_real", "power_real", base, n)) - -(* The function print_string_list prints a MLKit list of *) -(* MLKit strings on stdout. The result value is unit so the *) -(* same C function may be used when profiling is enabled. *) - -fun print_string_list (string_list) : unit = - prim(31, ("print_string_list", "print_string_list", string_list)) - -(* The function power_exn shows how an exception may be *) -(* passed and raised in the C function. The result value is *) -(* a real so the same function may be used when profiling is *) -(* enabled. *) - -exception Power of string -fun power_exn (base : real, n : int) : real = - prim(31, ("power_exn", "power_exn", base, n, Power "This is power")) - -(* The function dir shows how we can use UNIX system calls *) -(* to get the contents of a directory. We also show how the *) -(* ML exception mechanism may be used to handle errors when *) -(* trying to find and read the directory. *) -(* It is necessary to make a special version of this C *) -(* function because we return a list of strings, and they *) -(* are allocated in three infinite regions. *) -(* The directory list is returned in reverse order because *) -(* the C function builds the string list backwards. *) - -exception DIR of string -fun dir (directory : string) : string list = - prim(31, ("dir", "dirProf", directory, DIR "Cannot open directory")) - -(* The function real_list shows, that an infinite region is *) -(* passed to the C function to hold the reals. In function *) -(* power_real an address to pre_allocated space was passed *) -(* but that is not possible when the reals are in a list. *) -(* The C function shows how a list can be constructed *) -(* forwards. *) -(* A special C function for profiling is necessary because *) -(* we allocate in three infinite regions. *) - -fun real_list () : real list = prim(31, ("real_list", "real_listProf")) - -(* The function change_elem changes the elements in a pair. *) -fun change_elem (p : int*string) : string*int = - prim(31, ("change_elem", "change_elem", p)) - -(*************************************************************) -(* (3): Example use of the above. *) -(* *) -(* From here on only Standard ML code. *) -(* We have now declared some MLKit functions calling *) -(* external C functions. Lets try the off... *) -(*************************************************************) - -fun power_test () = - let - val base = 10 - val n = 4 - in - print_string ("Test of the power function...\n"); - print_string ("Result of power(" ^ string(base) ^ "," ^ string(n) ^ ")=" ^ string(power(base,n)) ^ ".\n\n") - end - -fun power_auto_test () = - let - val base = 10 - val n = 4 - in - print_string ("Test of the power_auto function...\n"); - print_string ("Result of power_auto(" ^ string(base) ^ "," ^ string(n) ^ ")=" ^ string(power_auto(base,n)) ^ ".\n\n") - end - -fun power_real_test () = - let - val base = 10.5 - val n = 4 - in - print_string ("Test of the power_real function...\n"); - print_string ("The result is printed without digits.\n"); - print_string ("Result of power_real(10.5" ^ "," ^ string(n) ^ ")=" ^ string(floor(power_real(base,n))) ^ ".\n\n") - end - -fun power_exn_test () = - let - val base = 10.5 - val n = 4 - in - print_string ("Test of the power_exn function...\n"); - print_string ("The result is printed without digits.\n"); - print_string ("Result of power_exn(10.5" ^ "," ^ string(n) ^ ")=" ^ string(floor(power_exn(base,n))) ^ ".\n\n"); - print_string ("Exception Power should be raised, because the power_exn function"); - print_string ("\nis called with base = -10.5.\n"); - print_string ("Result of power_exn(-10.5" ^ "," ^ string(n) ^ ")=" ^ string(floor(power_exn(0.0-base,n))) ^ ".\n\n") - handle Power s => print_string ("Ok, now handling exception Power " ^ s ^ "\n\n") - end - -fun print_string_list_test () = - let - val strs = ["The", " ", "ML", " ", "Kit", "\n"] - in - print_string ("Test of the print_string_list function.\n"); - print_string ("The string The MLKit should be written.\n"); - print_string_list strs; - print_string ("\n") - end - -fun dir_test () = - let - val filename1 = "../../kitdemo/" - val filename2 = "../../itdemo/" - in - print_string ("Test of the dir function\n"); - print_string ("We first try directory: " ^ filename1 ^ "\n"); - app (fn s => print_string ("\n"^s)) (dir(filename1)) - handle DIR s => print_string ("\nOk, now handling exception DIR " ^ s ^ "\n\n"); - print_string ("\nWe then try directory: " ^ filename2 ^ "\n"); - print_string ("Exception DIR should be raised\n"); - app (fn s => print_string ("\n"^s)) (dir("../../itDemo/")) - handle DIR s => print_string ("\nOk, now handling exception DIR " ^ s ^ "\n\n") - end - -fun real_list_test() = - let - val res = real_list() - fun pp_real r = print_string(string(floor(r*100.0)) ^ " ") - in - print_string("Test of the real_list function.\n"); - app pp_real res; - print_string("\n\n") - end - -fun change_elem_test () = - let - val p = (42, "The MLKit") - val (s,i) = change_elem p - in - print_string("Test of change_elem.\n"); - print_string("The pair (42,The MLKit) is changed into\n"); - print_string(" ("^s^","^string(i)^").\n") - end - -val _ = power_test() -val _ = power_auto_test () -val _ = power_real_test() -val _ = power_exn_test() -val _ = print_string_list_test() -val _ = dir_test() -val _ = real_list_test() -val _ = change_elem_test() - - diff --git a/kitdemo/escape.sml b/kitdemo/escape.sml index 3b4889976..37eed6b39 100644 --- a/kitdemo/escape.sml +++ b/kitdemo/escape.sml @@ -1,8 +1,7 @@ - fun g() = - let val x = [5,7] - fun f(y) = (if y>3 then x@x else x; - 5) - in - f 1; f 4 - end; - +fun g () = + let val x = [5,7] + fun f y = (if y>3 then x@x else x; + 5) + in + f 1; f 4 + end diff --git a/kitdemo/escape1.sml b/kitdemo/escape1.sml index 5c98cb3aa..33e289388 100644 --- a/kitdemo/escape1.sml +++ b/kitdemo/escape1.sml @@ -1,8 +1,7 @@ -fun g() = - let fun mk_x() = [5,7] - fun f(y) = let val x = mk_x() - in if y>3 then x@x else x; 5 - end - in - f 1; f 4 - end; +fun g () = + let fun mk_x () = [5,7] + fun f y = let val x = mk_x() + in if y>3 then x@x else x; 5 + end + in f 1; f 4 + end diff --git a/kitdemo/escape2.sml b/kitdemo/escape2.sml index 06689e62c..4d416cc0d 100644 --- a/kitdemo/escape2.sml +++ b/kitdemo/escape2.sml @@ -1,9 +1,6 @@ -fun g() = - let - fun f(x,y) = (if y>3 then x@x else x; 5) - - in - let val x = [5,7] - in f(x, 1); f(x, 4) - end - end; +fun g () = + let fun f (x,y) = (if y>3 then x@x else x; 5) + in let val x = [5,7] + in f(x, 1); f(x, 4) + end + end diff --git a/kitdemo/exceptions.sml b/kitdemo/exceptions.sml index 51e2ffbfc..e6f6f1c79 100644 --- a/kitdemo/exceptions.sml +++ b/kitdemo/exceptions.sml @@ -9,13 +9,13 @@ exception Tl fun tl [] = raise Tl | tl (_ ::xs) = xs -exception Error of string +exception Error of string -local +local val error_f = Error "f" in - fun f(l) = + fun f l = hd(tl(tl l)) handle _ => raise error_f end - -val r = f[1,2,3,4]; \ No newline at end of file + +val r = f [1,2,3,4]; diff --git a/kitdemo/expdec.sml b/kitdemo/expdec.sml new file mode 100644 index 000000000..6f3c8edbb --- /dev/null +++ b/kitdemo/expdec.sml @@ -0,0 +1,2 @@ +datatype exp = LET of dec * exp | ADD of exp * exp | INT of int + and dec = VALBIND of string * exp diff --git a/kitdemo/expdec2.sml b/kitdemo/expdec2.sml new file mode 100644 index 000000000..bb5747e11 --- /dev/null +++ b/kitdemo/expdec2.sml @@ -0,0 +1,2 @@ +datatype exp = LET of dec * exp | ADD of exp * exp | INT of {value:int} + and dec = VALBIND of string * exp diff --git a/kitdemo/fold4.sml b/kitdemo/fold4.sml index 862592b1e..1b16f33c7 100644 --- a/kitdemo/fold4.sml +++ b/kitdemo/fold4.sml @@ -1,6 +1,6 @@ - fun foldl f b xs = - let fun loop([], b) = b - | loop(x::xs, b) = loop(xs,f x b) - in - loop(xs,b) - end + local + fun foldl f e [] = e + | foldl f e (x::xs) = foldl f (f(x,e)) xs + in + val a = foldl (op +) 0 [0,1,2] + end diff --git a/kitdemo/high-unb.sml b/kitdemo/high-unb.sml new file mode 100644 index 000000000..add0478a2 --- /dev/null +++ b/kitdemo/high-unb.sml @@ -0,0 +1 @@ +datatype t = Leaf of string | Empty | Children of t list diff --git a/kitdemo/length-cmd.sml b/kitdemo/length-cmd.sml new file mode 100644 index 000000000..ec84b597f --- /dev/null +++ b/kitdemo/length-cmd.sml @@ -0,0 +1,76 @@ +fun upto n = + let fun loop (n,acc) = if n=0 then acc + else loop(n-1, n::acc) + in loop(n,[]) + end + +fun nlength [] = 0 + | nlength (_::xs) = 1 + nlength xs + +fun tlength l = + let fun tlength' (nil, acc) = acc + | tlength' (_::xs, acc) = tlength'(xs,acc+1) + in tlength'(l,0) + end + +fun klength l = + let fun loop (p as ([], acc)) = p + | loop (_::xs, acc) = loop(xs,acc+1) + in #2(loop(l,0)) + end + +local + fun llength' (p as ([], acc)) = p + | llength' (_::xs, acc) = llength'(xs,acc+1) +in + fun llength l = #2(llength'(l, 0)) +end + +fun global (p as ([], acc)) = p + | global (_::xs, acc) = global(xs, acc+1) + +fun glength l = #2(global(l, 0)) + +(* command-line arguments *) +fun findNext k xs = + let fun loop (y::(xs as v::_)) = + if k=y then SOME v + else loop xs + | loop _ = NONE + in loop xs + end + +fun usage () = + print ("Usage: length-cmd -n N -f [nlength|tlength|klength|llength|glength|upto|all]\n") + +fun die s = + ( print ("***ERROR: " ^ s ^ "\n") + ; usage () + ; raise Fail "ERROR") + +val () = + let val args = CommandLine.arguments() + val n = case findNext "-n" args of + SOME n_str => + (case Int.fromString n_str of + SOME n => n + | NONE => die "expecting integer after -n") + | NONE => 5000000 + fun all n = nlength(upto n) + + tlength(upto n) + + klength(upto n) + + llength(upto n) + + glength(upto n) + val f : int -> int = + case findNext "-f" args of + SOME "nlength" => nlength o upto + | SOME "tlength" => tlength o upto + | SOME "klength" => klength o upto + | SOME "llength" => llength o upto + | SOME "glength" => glength o upto + | SOME "upto" => (fn n => (upto n; n)) + | SOME "all" => all + | SOME _ => die "non-supported argument to -f" + | NONE => all + in print ("Result: " ^ Int.toString (f n) ^ "\n") + end diff --git a/kitdemo/length.sml b/kitdemo/length.sml index b2cbf758e..1bc10e14d 100644 --- a/kitdemo/length.sml +++ b/kitdemo/length.sml @@ -1,37 +1,36 @@ - fun upto n = - let fun loop(n,acc) = if n=0 then acc +fun upto n = + let fun loop (n,acc) = if n=0 then acc else loop(n-1, n::acc) - in loop(n,[]) - end + in loop(n,[]) + end - fun nlength [] = 0 - | nlength (_::xs) = 1 + nlength xs +fun nlength [] = 0 + | nlength (_::xs) = 1 + nlength xs - fun tlength(l) = - let fun tlength'(nil, acc) = acc - | tlength'(_::xs, acc) = tlength'(xs,acc+1) - in tlength'(l,0) - end +fun tlength l = + let fun tlength' (nil, acc) = acc + | tlength' (_::xs, acc) = tlength'(xs,acc+1) + in tlength'(l,0) + end - fun klength l = - let fun loop(p as ([], acc)) = p - | loop(_::xs, acc) = loop(xs,acc+1) - in #2(loop(l,0)) - end +fun klength l = + let fun loop (p as ([], acc)) = p + | loop (_::xs, acc) = loop(xs,acc+1) + in #2(loop(l,0)) + end - local - fun llength'(p as ([], acc)) = p - | llength'(_::xs, acc) = llength'(xs,acc+1) - in - fun llength(l) = #2(llength'(l, 0)) - end +local + fun llength' (p as ([], acc)) = p + | llength' (_::xs, acc) = llength'(xs,acc+1) +in + fun llength l = #2(llength'(l, 0)) +end - fun global(p as ([], acc)) = p - | global(_::xs, acc) = global(xs, acc+1) +fun global (p as ([], acc)) = p + | global (_::xs, acc) = global(xs, acc+1) - fun glength(l) = #2(global(l, 0)) +fun glength l = #2(global(l, 0)) - val k = 5000000 - val run = - nlength(upto k) + tlength(upto k) + klength(upto k) - + llength(upto k) + glength(upto k) +val k = 5000000 +val run = nlength(upto k) + tlength(upto k) + klength(upto k) + + llength(upto k) + glength(upto k) diff --git a/kitdemo/libmylib.c b/kitdemo/libmylib.c index 28f2a1f0f..a1d716c42 100644 --- a/kitdemo/libmylib.c +++ b/kitdemo/libmylib.c @@ -74,6 +74,20 @@ power_exn(ssize_t res, Context ctx, ssize_t base, long n, uintptr_t exn) { return res; } +/* This function may be called using auto-conversion. The function + * updates data in-place. */ +void +strrev_auto(long len, char* data) { + long n = len / 2; + for (long i = 0; i < n; i++) { + char c = data[i]; + data[i] = data[len-i-1]; + data[len-i-1] = c; + } + return; +} + + /* This example shows how to traverse a list. We run through the list * while the next element in the list is a CONS. Example of the string * list representation: ["ABC","DEF","GHI","JKL"] = diff --git a/kitdemo/life.sml b/kitdemo/life.sml index 30c3cb52e..36ee2531c 100644 --- a/kitdemo/life.sml +++ b/kitdemo/life.sml @@ -1,167 +1,91 @@ -(*life.sml*) - -(*based on kitlifeopt.sml, but with copying - to avoid many generations in the same region*) +(* Game of Life with copying to avoid many generations in the same region *) local - fun map f l = - let fun loop [] = [] - | loop (x::xs) = f x :: loop xs - in loop l - end - - fun rev l = - let fun rev_rec(p as ([], acc)) = p - | rev_rec(x::xs, acc) = rev_rec(xs, x::acc) - in #2 (rev_rec(l,nil)) - end - fun length [] = 0 - | length (x::xs) = 1 + length xs - - fun app f [] = () - | app f (x::xs) = (f x; app f xs) - - - fun eq_integer_curry(x)(y:int) = x= y - fun eq_int_pair_curry (x:int,x':int)(y,y'): bool = - x=y andalso x'=y' - - exception ex_undefined of string - fun error str = raise ex_undefined str - - fun accumulate f a [] = a (* this now has no escaping regions, although still an escaping arrow effect*) - | accumulate f a (b::x) = accumulate f (f a b) x - - fun accumulate' (f, a, []) = a - | accumulate' (f, a, b::x) = accumulate'(f, f(a,b), x) - - fun filter pred l = - let fun loop [] = [] - | loop (x::xs) = - if pred(x) then x:: loop xs else loop xs - in - loop l - end - - - fun exists pred l = - let fun loop [] = false - | loop (x::xs) = - pred(x) orelse loop xs - in - loop l - end - - fun member eq x a = exists (eq a) x - - fun cons a x = a::x - - fun revonto x y = accumulate' ((fn (x,y) => y::x), x, y) + val length = List.length + val filter = List.filter - local - fun check n = if n<0 then error "repeat<0" else n - in - fun repeat f x y = - let fun loop(p as (0,x)) = p - | loop(n,x) = loop(n-1, f x) - in - #2(loop(check x, y)) + fun member x (a:int,b) = List.exists (fn (x,y) => x=a andalso y=b) x + + fun revonto x y = List.foldl (op ::) x y + + fun spaces n = CharVector.tabulate (n,fn _ => #" ") + + fun cp_list [] = [] + | cp_list ((x,y)::rest) = + let val l = cp_list rest + in (x,y)::l end - end - - fun copy n x = repeat (cons x) n [] - - fun spaces n = implode (copy n #" ") - - - fun cp_list[] = [] - | cp_list((x,y)::rest) = - let val l = cp_list rest - in (x,y):: l - end - - fun lexless(a2,b2)(a1:int,b1:int) = - if a2 [] - | x::xs=> if i>0 then x::take(i-1,xs) else nil - fun drop(i,l) = case l of [] => [] - | x::xs => if i>0 then drop(i-1,xs) else l - fun merge(lp as (left, right)) = - case left of [] => right - | x::xs => (case right of - [] => left - | y::ys => if lexless x y then x::merge(xs, right) - else if lexless y x then y:: merge(left,ys) - else (*x=y*) merge(xs, right) - ) + fun lexless (a2,b2) (a1:int,b1:int) = + a2 < a1 orelse (a2=a1 andalso b2 [] - | x::xs => (case xs of []=> l - | _ => let val k = length l div 2 - in merge(copy (tmergesort(take(k,l))), - copy (tmergesort(drop(k,l)))) - end - ) - fun lexordset x = tmergesort x + fun lexordset x = msort x end - - + fun collect f list = - let fun accumf sofar [] = sofar - | accumf sofar (a::x) = accumf (revonto sofar (f a)) x - in accumf [] list (* note: this worked without changes!*) - end - - fun occurs3 x = - (* finds coords which occur exactly 3 times in coordlist x *) - let fun f (q) = - case q of (_,_,_,_,[]) => q - | ( xover, x3, x2, x1, (a::x)) => - if member eq_int_pair_curry xover a then f( xover, x3, x2, x1, x) else - if member eq_int_pair_curry x3 a then f ((a::xover), x3, x2, x1, x) else - if member eq_int_pair_curry x2 a then f (xover, (a::x3), x2, x1, x) else - if member eq_int_pair_curry x1 a then f (xover, x3, (a::x2), x1, x) else - f (xover, x3, x2, (a::x1), x) - fun diff x y = filter (fn x => not(member eq_int_pair_curry y x)) x (* unfolded o *) - val (xover, x3, _, _, _) = f ([],[],[],[],x) - in diff x3 xover end - - + let fun accumf sofar [] = sofar + | accumf sofar (a::x) = accumf (revonto sofar (f a)) x + in accumf [] list + end + + fun occurs3 x = (* finds coords which occur exactly 3 times in coordlist x *) + let fun f q = + case q of + (_,_,_,_,[]) => q + | ( xover, x3, x2, x1, a::x) => + if member xover a then f(xover, x3, x2, x1, x) else + if member x3 a then f (a::xover, x3, x2, x1, x) else + if member x2 a then f (xover, a::x3, x2, x1, x) else + if member x1 a then f (xover, x3, a::x2, x1, x) else + f (xover, x3, x2, a::x1, x) + fun diff x y = filter (not o member y) x + val (xover, x3, _, _, _) = f ([],[],[],[],x) + in diff x3 xover + end + fun neighbours (i,j) = [(i-1,j-1),(i-1,j),(i-1,j+1), - (i,j-1),(i,j+1), - (i+1,j-1),(i+1,j),(i+1,j+1)] - - infix footnote - fun x footnote y = x + (i,j-1),(i,j+1), + (i+1,j-1),(i+1,j),(i+1,j+1)] abstype generation = GEN of (int*int) list - with + with fun copy (GEN l) = GEN(cp_list l) fun alive (GEN livecoords) = livecoords - and mkgen coordlist = GEN (lexordset coordlist) - and nextgen gen = - let - val living = alive gen - fun isalive x = member eq_int_pair_curry living x - fun liveneighbours x = length( filter isalive ( neighbours x)) - fun twoorthree n = n=2 orelse n=3 - val survivors = filter (twoorthree o liveneighbours) living - val newnbrlist = collect (fn z => filter (fn x => not(isalive x)) - (neighbours z) - ) living - val newborn = occurs3 newnbrlist - in mkgen (cp_list(survivors @ newborn)) - end + fun mkgen coordlist = GEN (lexordset coordlist) + fun nextgen gen = + let val living = alive gen + fun isalive x = member living x + fun liveneighbours x = length(filter isalive (neighbours x)) + fun twoorthree n = n=2 orelse n=3 + val survivors = filter (twoorthree o liveneighbours) living + val newnbrlist = collect (filter (not o isalive) o neighbours) + living + val newborn = occurs3 newnbrlist + in mkgen (cp_list(survivors @ newborn)) + end end - - local + + local val xstart = 0 and ystart = 0 fun markafter n string = string ^ spaces n ^ "0" fun plotfrom (x,y) (* current position *) @@ -169,40 +93,37 @@ local ((x1:int,y1)::more) (* coordinates to be plotted *) = if x=x1 then (* same line so extend str and continue from y1+1 *) - plotfrom(x,y1+1)(markafter(y1-y)str)more + plotfrom(x,y1+1)(markafter(y1-y)str)more else (* flush current line and start a new line *) - str :: plotfrom(x+1,ystart)""((x1,y1)::more) + str :: plotfrom(x+1,ystart)""((x1,y1)::more) | plotfrom (x,y) str [] = [str] fun good (x,y) = x>=xstart andalso y>=ystart - in - fun plot coordlist = plotfrom(xstart,ystart) "" - (filter good coordlist) + in + fun plot coordlist = plotfrom (xstart,ystart) "" + (filter good coordlist) end - + (* the initial generation *) - fun gun() = mkgen + fun gun () = mkgen [(2,20),(3,19),(3,21),(4,18),(4,22),(4,23),(4,32),(5,7),(5,8),(5,18), (5,22),(5,23),(5,29),(5,30),(5,31),(5,32),(5,36),(6,7),(6,8),(6,18), (6,22),(6,23),(6,28),(6,29),(6,30),(6,31),(6,36),(7,19),(7,21),(7,28), (7,31),(7,40),(7,41),(8,20),(8,28),(8,29),(8,30),(8,31),(8,40),(8,41), (9,29),(9,30),(9,31),(9,32)] - - - - fun show(x) = app (fn s => (print s; print "\n"))(plot(alive x)); - - local - fun nthgen'(p as(0,g)) = p - | nthgen'(p as(i,g)) = - nthgen' (i-1, let val g' = nextgen g - in show g; - resetRegions g; (* resetRegions g can actually be omitted here, since *) - copy g' (* copy will reset the regions of g! *) - end) - - in - fun iter n = #2(nthgen'(n,gun())) + + fun show x = app (fn s => (print s; print "\n")) (plot(alive x)); + + local + fun nthgen (p as (0,g)) = p + | nthgen (p as (i,g)) = + nthgen (i-1, let val g' = nextgen g + in show g; + resetRegions g; (* resetRegions g can actually be omitted here, since *) + copy g' (* copy will reset the regions of g! *) + end) + in + fun iter n = #2(nthgen(n,gun())) end fun testit _ = show(iter 200) @@ -210,4 +131,3 @@ local in val _ = testit () end - diff --git a/kitdemo/msort.sml b/kitdemo/msort.sml index d0e9e1d86..d40f0c350 100644 --- a/kitdemo/msort.sml +++ b/kitdemo/msort.sml @@ -1,22 +1,21 @@ +fun cp [] = [] + | cp (x::xs) = x :: cp xs - fun cp [] =[] - | cp (x::xs)= x :: cp xs +(* exormorphic merge *) +fun merge (xs, []) : int list = cp xs + | merge ([], ys) = cp ys + | merge (l1 as x::xs, l2 as y::ys) = + if x print ("Ok, now handling exception Power\n\n") end @@ -93,7 +93,16 @@ fun change_elem_test () = print("The pair (42,The MLKit) is changed into "); print("("^s^","^Int.toString(i)^").\n") end - + +fun strrev_test () = + let val () = print "Testing strrev...\n" + val s = CharVector.tabulate (5, fn i => String.sub("hello",i)) + val () = print (s ^ "\n") + val () = strrev s + val () = print (s ^ "\n") + in if s = "olleh" then print "OK\n" else print "ERR\n" + end + val _ = power_test() val _ = power_auto_test () val _ = power_real_test() @@ -102,5 +111,4 @@ val _ = print_string_list_test() val _ = dir_test() val _ = real_list_test() val _ = change_elem_test() - - +val _ = strrev_test() diff --git a/kitdemo/trees.sml b/kitdemo/trees.sml index da18cbcca..75c4db058 100644 --- a/kitdemo/trees.sml +++ b/kitdemo/trees.sml @@ -1,23 +1,19 @@ - datatype 'a tree = Lf | Br of 'a * 'a tree * 'a tree +datatype 'a tree = Lf | Br of 'a * 'a tree * 'a tree - (* preorder traversal of tree *) +(* preorder traversal of tree *) +fun preord (Lf, xs) = xs + | preord (Br(x,t1,t2),xs) = + x::preord(t1,preord(t2,xs)) - fun preord (Lf, xs) = xs - | preord (Br(x,t1,t2),xs) = - x::preord(t1,preord(t2,xs)) +(* building a balanced binary tree from a list *) +fun balpre [] = Lf + | balpre (x::xs) = + let val k = length xs div 2 + in Br(x, balpre(take(xs, k)), + balpre(drop(xs, k))) + end - (* building a balanced binary tree - from a list: *) +(* preord o balpre is the identity *) - fun balpre [] = Lf - | balpre(x::xs) = - let val k = length xs div 2 - in Br(x, balpre(take(xs, k)), - balpre(drop(xs, k))) - end - - (* preord o balpre is the identity: *) - - val it = print(implode(preord(balpre(explode - "Greetings from the Kit\n"),[]))); - +val it = print(implode(preord(balpre(explode + "Greetings from the Kit\n"),[]))); diff --git a/src/Common/Flags.sml b/src/Common/Flags.sml index 6b61ba278..bd7c09e0f 100644 --- a/src/Common/Flags.sml +++ b/src/Common/Flags.sml @@ -669,7 +669,7 @@ local fun off () = (gc := false; preserve_tail_calls := false; dangling_pointers := true; - Directory.turn_on "aggresive_opt"; + Directory.turn_off "aggressive_opt"; tag_values := false) fun on () = if Directory.is_on "reml" then @@ -677,7 +677,7 @@ local else (gc := true; preserve_tail_calls := true; dangling_pointers := false; - Directory.turn_on "aggresive_opt"; + Directory.turn_on "aggressive_opt"; tag_values := true) fun off_gengc () = (off(); (* We also turn gc off *) gengc := false) diff --git a/src/Common/KitJS.sml b/src/Common/KitJS.sml index 473d8bfad..9d525fb51 100644 --- a/src/Common/KitJS.sml +++ b/src/Common/KitJS.sml @@ -1,10 +1,12 @@ structure K = let structure KC = KitCompiler(ExecutionJS) val () = Flags.turn_off "equalelim_opt_unboxed" + val () = Flags.turn_off "unbox_reals" + val () = Flags.turn_off "unbox_real_funargs" val () = List.app Flags.block_entry ["garbage_collection", "generational_garbage_collection", - "values_64bit", "unbox_reals", "tag_values", "tag_pairs", + "values_64bit", "unbox_reals", "unbox_real_funargs", "tag_values", "tag_pairs", "repository", "reml", "region_profiling", "region_inference", "print_region_flow_graph", "print_all_program_points", "preserve_tail_calls", "dangling_pointers", "equalelim_opt_unboxed" diff --git a/src/Common/KitReML.sml b/src/Common/KitReML.sml index 994825089..16325ee86 100644 --- a/src/Common/KitReML.sml +++ b/src/Common/KitReML.sml @@ -2,7 +2,7 @@ structure K = let structure KC = KitCompiler(ExecutionX64) val _ = Flags.turn_on "reml" - val _ = Flags.turn_on "aggresive_opt" + val _ = Flags.turn_off "aggressive_opt" val _ = Flags.turn_on "parallelism" val _ = Flags.turn_off "tag_values" val _ = Flags.turn_on "preserve_tail_calls" diff --git a/src/Compiler/Backend/CodeGenUtil.sml b/src/Compiler/Backend/CodeGenUtil.sml index bdf1d4758..146fa6deb 100644 --- a/src/Compiler/Backend/CodeGenUtil.sml +++ b/src/Compiler/Backend/CodeGenUtil.sml @@ -515,8 +515,8 @@ struct fun push_args push_arg fsz args C = let fun loop ([], _) = C - | loop (arg :: rest, fsz) = (push_arg(arg,fsz, - loop (rest, fsz + 1))) + | loop (arg :: rest, fsz) = + push_arg (arg, fsz, loop(rest, fsz + 1)) in loop(rev args, fsz) end diff --git a/src/Compiler/Backend/JS/ExpToJs2.sml b/src/Compiler/Backend/JS/ExpToJs2.sml index b23bda6a3..a20307d5c 100644 --- a/src/Compiler/Backend/JS/ExpToJs2.sml +++ b/src/Compiler/Backend/JS/ExpToJs2.sml @@ -10,7 +10,40 @@ type Exp = L.LambdaExp type lvar = Lvars.lvar type excon = Excon.excon -datatype conRep = (* representation of value constructors for datatypes *) +(* First, we define an application conversion phase to turn all applications of + * the form `f (F[ubr_1|...|ubr_n])`, where `ubr_i` is an unboxed record and + * `F` is a multi-hole expression context, into the form `F[f ubr1|...|f ubrn]` + * + * To identify candidate applications, we first define a function `ub_record`, + * that, given an expression `e`, returns `SOME F`, where `F` is an application + * context, if `e` is an unboxed record expression. + *) + +fun ub_record (e:Exp) : ((Exp -> Exp) -> Exp) option = + case e of + L.PRIM(L.UB_RECORDprim, _) => SOME (fn f => f e) + | L.LET{pat,bind,scope} => + (case ub_record scope of + SOME g => SOME (fn f : Exp->Exp => L.LET{pat=pat,bind=bind,scope=g f}) + | NONE => NONE) + | L.FIX{functions,scope} => + (case ub_record scope of + SOME g => SOME (fn f : Exp->Exp => L.FIX{functions=functions,scope=g f}) + | NONE => NONE) + (* perhaps more cases needs to be considered, such as cases and exception expressions *) + | _ => NONE + +fun appl_convert (e:Exp) : Exp = + case LambdaBasics.map_lamb appl_convert e of + e0 as L.APP(_,L.PRIM(L.UB_RECORDprim, _),_) => e0 + | e0 as L.APP(e,e',t) => + (case ub_record e' of + SOME F => F (fn e' => L.APP(e,e',t)) + | NONE => e0) + | e0 => e0 + +(* Representation of value constructors for datatypes *) +datatype conRep = BOOL of bool | ENUM of int | STD of int @@ -1039,6 +1072,7 @@ and toj_fix C P functions scope = fun toJs (env0, L.PGM(dbss,e)) = let + val e = appl_convert e val e = LambdaBasics.annotate_tail_calls e val (lvars,excons) = LambdaBasics.exports e val _ = setFrameLvars lvars @@ -1047,6 +1081,12 @@ fun toJs (env0, L.PGM(dbss,e)) = val env' = Env.fromDatbinds dbss val env = Env.plus(env0,env') val js = wrapRet (RetCont NONE) (toj (Context.mk env) {clos_p=false} e) + handle ? => + let val st = L.layoutLambdaExp e + in PrettyPrint.printTree st + ; raise ? + end + val js = JExp(J.App(J.Fun([],js),[])) val js = case getLocalBase() of diff --git a/src/Compiler/Backend/X64/CodeGenUtilX64.sml b/src/Compiler/Backend/X64/CodeGenUtilX64.sml index 657dbdd1e..136b22353 100644 --- a/src/Compiler/Backend/X64/CodeGenUtilX64.sml +++ b/src/Compiler/Backend/X64/CodeGenUtilX64.sml @@ -24,6 +24,8 @@ struct datatype reg = datatype I.reg datatype Offset = datatype I.Offset + fun die s = Crash.impossible ("CodeGenUtilX64." ^ s) + val rem_dead_code = I.rem_dead_code val i2s = I.i2s @@ -116,7 +118,6 @@ struct G.label finish C end | _ => I.call(NameLab name) :: C - in (* 1. push stack arguments 2. shuffle register arguments (adjust fsz) @@ -125,20 +126,15 @@ struct 5. on return, reestablish (esp) *) + fun drop n nil = nil + | drop 0 xs = xs + | drop n (x::xs) = drop (n-1) xs + + in + fun compile_c_call_prim (name:string, args:SS.Aty list, opt_ret:SS.Aty option, fsz:int, tmp:reg, C) = - let fun drop n nil = nil - | drop 0 xs = xs - | drop n (x::xs) = drop (n-1) xs - fun push_arg (aty,fsz,C) = push_aty(aty,tmp,fsz,C) + let fun push_arg (aty,fsz,C) = push_aty(aty,tmp,fsz,C) val nargs = List.length args -(* - val () = if nargs > List.length RI.args_reg_ccall then - warn ("compile_c_call_prim: at most " ^ - Int.toString (List.length RI.args_reg_ccall) ^ - " arguments are passed in registers - " ^ name ^ " takes " ^ - Int.toString nargs ^ " arguments") - else () -*) val args_stack = drop (List.length RI.args_reg_ccall) args val nargs_stack = List.length args_stack val args = ListPair.zip (args, RI.args_reg_ccall) @@ -158,13 +154,22 @@ struct (* Compile a C call with auto-conversion: convert ML arguments to C arguments and * convert the C result to an ML result. Currently supports at most 6 arguments. *) + fun compile_c_call_auto (name,args,rhos_for_result,opt_res,fsz,tmp,C) = - let val args = if List.length args > List.length RI.args_reg_ccall then - die ("compile_c_call_auto: at most " ^ - Int.toString (List.length RI.args_reg_ccall) ^ - " arguments are supported") - else ListPair.zip (args, RI.args_reg_ccall) + let + val nargs = List.length args (* not used for static calls *) + val args_stack = drop (List.length RI.args_reg_ccall) args + val nargs_stack = List.length args_stack +(* + val () = if List.length args_stack > 0 then + die ("compile_c_call_auto: at most " ^ + Int.toString (List.length RI.args_reg_ccall) ^ + " arguments are supported") + else () +*) + val args = ListPair.zip (args, RI.args_reg_ccall) val args = List.map (fn ((x:SS.Aty,y:LS.foreign_type),z:reg) => (x,y,z)) args + fun mov_bool ((aty,r),fsz,C) = load_aty(aty,r,fsz, I.shrq(I "1", R r) :: C) @@ -207,6 +212,9 @@ struct in mov_fun((aty,r),fsz,C) end + fun push_arg ((aty:SS.Aty,ft:LS.foreign_type),fsz,C) = + mov_arg (aty,ft,tmp,fsz,G.push_ea(R tmp) $ C) + fun tag_bool_result (r,C) = G.lea (DD("1", r, r, ""), r) C fun maybe_tag_int_result (r,C) = @@ -220,7 +228,7 @@ struct fun maybe_push_rho_for_result fsz F = case rhos_for_result of [SS.PHREG_ATY r] => G.push_ea(R r) $ - G.push_ea (I"0") $ + G.push_ea(I"0") $ F (fsz+2) (* push twice for alignment *) | _ => F fsz @@ -255,12 +263,12 @@ struct | _ => convert_result ft (rax, move_reg_into_aty(rax,aty,fsz,C)) val dynlinklab = "localResolveLibFnAuto" - val nargs = List.length args (* not used for static calls *) - in maybe_push_rho_for_result fsz ( - fn fsz => - shuffle_args fsz mov_arg args - (maybe_align 0 (fn C => callc_static_or_dynamic (name, nargs, NameLab dynlinklab,C)) - (store_result(opt_res,C)))) + in maybe_push_rho_for_result fsz (fn fsz => + shuffle_args fsz mov_arg args + (push_args push_arg fsz args_stack + (maybe_align nargs_stack + (fn C => callc_static_or_dynamic (name, nargs, NameLab dynlinklab,C)) + (store_result(opt_res,C))))) end end diff --git a/src/Compiler/Backend/X64/CodeGenX64.sml b/src/Compiler/Backend/X64/CodeGenX64.sml index 43b9664f5..2cb6d0dea 100644 --- a/src/Compiler/Backend/X64/CodeGenX64.sml +++ b/src/Compiler/Backend/X64/CodeGenX64.sml @@ -1491,15 +1491,15 @@ struct in imov(L maxStackLab, R treg0, (* The stack grows downwards!! *) I.cmpq(R rsp, R treg0) :: - I.jl labCont :: (* if ( rsp < *maxStack ) { *) - imov(R rsp, L maxStackLab, (* *maxStack = rsp ; *) - imov(L (NameLab "regionDescUseProfInf"), R treg0, (* maxProfStack = *) + I.jl labCont :: (* if ( rsp < *maxStack ) { *) + imov(R rsp, L maxStackLab, (* *maxStack = rsp ; *) (* bytes *) + imov(L (NameLab "regionDescUseProfInf"), R treg0, (* maxProfStack = *) (* words *) iadd(L (NameLab "regionDescUseProfFin"), R treg0, (* regionDescUseProfInf *) iadd(L (NameLab "allocProfNowFin"), R treg0, (* + regionDescUseProfFin *) imov(R treg0, L (NameLab "maxProfStack"), (* + allocProfNowFin ; *) - I.lab labCont :: (* } *) - (* reg0 = stackBot - rsp + 8*(allocNowInf-regionDescUseProfInf-regionDescUseProfFin-allocProfNowFin); *) - (* if ( reg0 > maxMem ) maxMem = reg0; *) + I.lab labCont :: (* } *) + (* reg0 = stackBot - rsp + 8*(allocNowInf-regionDescUseProfInf-regionDescUseProfFin-allocProfNowFin); *) + (* if ( reg0 > maxMem ) maxMem = reg0; *) imov(L (NameLab "allocNowInf"), R treg0, isub(L (NameLab "regionDescUseProfInf"), R treg0, isub(L (NameLab "regionDescUseProfFin"), R treg0, @@ -1507,7 +1507,7 @@ struct G.mul(I "8", treg0) $ iadd(L (NameLab "stackBot"), R treg0, G.sub(R rsp, treg0) $ - imov(L (NameLab "maxMem"), R treg1, (* we can store in treg1 even with imov *) + imov(L (NameLab "maxMem"), R treg1, (* we can store in treg1 even with imov *) (* bytes *) I.cmpq(R treg1, R treg0) :: I.jl labCont1 :: imov(R treg0, L (NameLab "maxMem"), diff --git a/src/Compiler/Lambda/EliminateEq.sml b/src/Compiler/Lambda/EliminateEq.sml index 60323cae7..291b8aab3 100644 --- a/src/Compiler/Lambda/EliminateEq.sml +++ b/src/Compiler/Lambda/EliminateEq.sml @@ -221,11 +221,13 @@ structure EliminateEq : ELIMINATE_EQ = SWITCH_C (SWITCH (e1, [((Con.con_TRUE,NONE),lamb_true)], SOME e2)) fun ptr_eq instance_ty e1 e2 = - let val tv = fresh_tyvar() - val argty = TYVARtype {tv=tv} - val ty = ARROWtype([argty,argty],NONE,[boolType],NONE) - in PRIM(CCALLprim {name="__equal_ptr",instances=[instance_ty], - tyvars=[tv], Type=ty}, + let val tv1 = fresh_tyvar() + val argty1 = TYVARtype {tv=tv1} + val tv2 = fresh_tyvar() + val argty2 = TYVARtype {tv=tv2} + val ty = ARROWtype([argty1,argty2],NONE,[boolType],NONE) + in PRIM(CCALLprim {name="__equal_ptr",instances=[instance_ty,instance_ty], + tyvars=[tv1,tv2], Type=ty}, [e1,e2]) end diff --git a/src/Compiler/Lambda/OptLambda.sml b/src/Compiler/Lambda/OptLambda.sml index e12efc230..4d9bd3ea3 100644 --- a/src/Compiler/Lambda/OptLambda.sml +++ b/src/Compiler/Lambda/OptLambda.sml @@ -108,7 +108,7 @@ structure OptLambda : OPT_LAMBDA = \maximum_specialise_size to control which functions\n\ \are specialised. If this flag is on, functions that are\n\ \applied only once are specialised, no matter the setting\n\ - \of maximum_specialise_size (Lambda Expression Optimiser)."} + \of --maximum_specialise_size (Lambda Expression Optimiser)."} val eliminate_explicit_records_p = Flags.add_bool_entry {long="eliminate_explicit_records", short=NONE, @@ -145,8 +145,8 @@ structure OptLambda : OPT_LAMBDA = "Unbox arguments of type real to fix-bound functions, for which \n\ \the argument 'a' is used only in contexts that unboxes 'a'. All \n\ \call sites are transformed to match the new function. This \n\ - \optimisation has effect only when the flags '--unbox_funargs' and \n\ - \'--unbox_reals' are enabled (Lambda Expression Optimiser)."} + \optimisation has effect only when the flags '-unbox_funargs' and \n\ + \'-unbox_reals' are enabled (Lambda Expression Optimiser)."} val unbox_reals = Flags.add_bool_entry {long="unbox_reals", short=NONE, @@ -158,26 +158,34 @@ structure OptLambda : OPT_LAMBDA = (* max size of recursive function defs. to be specialised. *) val max_specialise_size = Flags.add_int_entry - {long="maximum_specialise_size",short=NONE, + {long="maximum_specialise_size",short=SOME "max_spec_sz", menu=["Optimiser Control", "maximum specialise size"], item=ref 200, desc= - "Curried functions smaller than this size (counted in\n\ - \abstract syntax tree nodes) are specialised if all\n\ - \applications of the function within its own body are\n\ - \applied to its formal argument, even if they are used\n\ - \more than once. Functions that are used only once are\n\ - \specialised no matter their size. See also the option\n\ - \--specialize_recursive_functions."} + "Function-parameterised functions smaller than this size\n\ + \(counted in abstract syntax tree nodes) are specialised if\n\ + \all applications of the function within its own body are\n\ + \applied to its formal function argument, even if they are used\n\ + \more than once. Functions that are used only once are\n\ + \specialised no matter their size. A function declared in\n\ + \one program unit may be specialised when applied in\n\ + \another program unit provided the function is sufficiently\n\ + \closed (refers only to exported identifiers) and provided\n\ + \the option --cross_opt is enabled. See also the option\n\ + \--specialize_recursive_functions."} (* max size of non-recursive function defs. to be inlined. *) val max_inline_size = Flags.add_int_entry - {long="maximum_inline_size", short=NONE, + {long="maximum_inline_size", short=SOME "max_inl_sz", menu=["Optimiser Control", "maximum inline size"], item=ref 200, desc= "Functions smaller than this size (counted in abstract\n\ - \syntax tree nodes) are inlined, even if they are used\n\ - \more than once. Functions that are used only once are\n\ - \always inlined."} + \syntax tree nodes) are inlined, even if they are used\n\ + \more than once. Functions that are used only once are\n\ + \always inlined. A function declared in one program unit\n\ + \may be inlined when applied in another program unit\n\ + \provided the function is sufficiently closed (refers only\n\ + \to exported identifiers) and provided the option\n\ + \--cross_opt is enabled."} (* names of functions to inline no-matter the setting of the flag * maximum_inline_size. *) @@ -207,16 +215,22 @@ structure OptLambda : OPT_LAMBDA = \flags."} val aggressive_opt = Flags.add_bool_entry - {long="aggresive_opt",short=SOME "aopt", + {long="aggressive_opt",short=SOME "aopt", menu=["Optimiser Control", "aggressive optimisation"], item=ref true,neg=true, desc= - "Enable aggressive optimisations, including constant\n\ - \folding and aggressive inlining. These\n\ - \optimisations are not guaranteed to be region\n\ - \safe. Turning off garbage collection automatically\n\ + "Enable aggressive optimisations, including aggressive\n\ + \inlining. These optimisations are not guaranteed to be\n\ + \region safe. Turning off garbage collection automatically\n\ \turns off this option."} + val constant_folding_p = Flags.add_bool_entry + {long="constant_folding",short=SOME "cfold", + menu=["Optimiser Control", "constant folding"], + item=ref true,neg=true, + desc= + "Enable constant folding optimisations."} + val uncurrying_p = Flags.add_bool_entry {long="uncurrying",short=SOME "uncurry", menu=["Optimiser Control", "uncurrying"], @@ -1342,7 +1356,15 @@ structure OptLambda : OPT_LAMBDA = | PRIM(p,args) => (case buildargs args of SOME(f,instances) => SOME(fn x => PRIM(p,f x), instances) - | NONE => NONE) + | NONE => NONE) + | APP(fe as VAR _,PRIM(UB_RECORDprim,args),b) => + (case buildargs args of + SOME(f,instances) => SOME(fn x => APP(fe,PRIM(UB_RECORDprim, f x),b), instances) + | NONE => NONE) + | APP(fe as VAR _,arg,b) => + (case build arg of + SOME(f,instances) => SOME(fn x => APP(fe,f x,b), instances) + | NONE => NONE) | _ => NONE and buildargs args = case args of @@ -1367,7 +1389,7 @@ structure OptLambda : OPT_LAMBDA = fun selectorCon env (e : LambdaExp) : ((con*lvar option)->bool)option = let fun selC con = SOME (fn (c,_) => Con.eq(c,con)) - in if aggressive_opt() then + in if true (*aggressive_opt()*) then case e of PRIM(CONprim {con,...}, args) => if List.all safeLambdaExp args then selC con @@ -1417,7 +1439,7 @@ structure OptLambda : OPT_LAMBDA = SOME e2)) : (con*lvar option) Switch = (case (ec1,ec2) of (PRIM(CONprim{con=con1,...},[]), PRIM(CONprim{con=con2,...},[])) => - if Con.eq (con1,c1) andalso not(Con.eq(c1,con2)) then + if constant_folding_p() andalso Con.eq (con1,c1) andalso not(Con.eq(c1,con2)) then ( tick "reduce - switch constant fold 0" ; SWITCH(e,[((c,lvopt),e1)],SOME e2) ) @@ -1429,15 +1451,17 @@ structure OptLambda : OPT_LAMBDA = let fun allEqual [] = true (* If branches are equal and the selector *) | allEqual [x] = true (* is safe then eliminate switch. *) | allEqual (x::(ys as y::_)) = eq_lamb(x,y) andalso allEqual ys - fun constFold () = - case selector arg of - SOME sel_eq => - let val (e, others) = searchSel sel_eq sel opt - in tick "reduce - switch constant fold"; - app decr_uses others; - reduce (env, (e, cv)) - end - | NONE => fail + fun constFold () = + if constant_folding_p() then + case selector arg of + SOME sel_eq => + let val (e, others) = searchSel sel_eq sel opt + in tick "reduce - switch constant fold"; + app decr_uses others; + reduce (env, (e, cv)) + end + | NONE => fail + else fail in case opt of SOME lamb => if safeLambdaExp arg andalso allEqual (lamb::(map snd sel)) then @@ -1554,7 +1578,7 @@ structure OptLambda : OPT_LAMBDA = fun constantFolding (env:env) lamb = let val opt = - if not(aggressive_opt()) then NONE + if not(constant_folding_p()) then NONE else case lamb of PRIM(CCALLprim{name,instances,tyvars,Type},exps) => @@ -1696,9 +1720,10 @@ structure OptLambda : OPT_LAMBDA = if not(constfold_f64()) then NONE else let fun oppc opr = - case (finiteRealFromString s1, finiteRealFromString s2) of - (SOME r1, SOME r2) => Some(if opr(r1,r2) then lexp_true else lexp_false) - | _ => NONE + if not(constfold_f64_ext()) then NONE + else case (finiteRealFromString s1, finiteRealFromString s2) of + (SOME r1, SOME r2) => Some(if opr(r1,r2) then lexp_true else lexp_false) + | _ => NONE fun opp opr = case (finiteRealFromString s1, finiteRealFromString s2) of (SOME r1, SOME r2) => @@ -1913,44 +1938,39 @@ structure OptLambda : OPT_LAMBDA = let fun constantFold () = case constantFolding env lamb of SOME lamb' => (lamb',CUNKNOWN) -(* - let val cv' = case cvOfExp lamb' of - CUNKNOWN => cv - | cv' => cv' - in reduce (env,(lamb',cv')) - end -*) | NONE => fail in case lamb of VAR{lvar,instances,regvars=[]} => ( (*output(!Flags.log, Lvars.pr_lvar lvar ^ ":" );*) - case lookup_lvar(env,lvar) - of SOME (tyvars,cv) => - (case cv - of CFN {lexp=lamb',large} => - if large andalso not(Lvars.one_use lvar) then (lamb, CVAR {exp=lamb}) - else let val S = mk_subst (fn () => "reduce1") (tyvars, instances) - val _ = decr_use lvar - val lamb'' = new_instance lamb' - val _ = incr_uses lamb'' - val _ = if large then tick "reduce - inline-largefn" - else tick "reduce - inline-smallfn" - in (on_LambdaExp S lamb'', CVAR {exp=lamb}) (* reduce(env,...) *) - end + case lookup_lvar(env,lvar) of + SOME (tyvars,cv) => + (case cv of + CFN {lexp=lamb',large} => + if (large andalso not(Lvars.one_use lvar)) (* application-context max-inline size *) + orelse not (is_inlinable_fn lvar lamb') (* overwrites declaration-context max-inline size *) + then (lamb, CVAR {exp=lamb}) + else let val S = mk_subst (fn () => "reduce1") (tyvars, instances) + val _ = decr_use lvar + val lamb'' = new_instance lamb' + val _ = incr_uses lamb'' + val _ = if large then tick "reduce - inline-largefn" + else tick "reduce - inline-smallfn" + in (on_LambdaExp S lamb'', CVAR {exp=lamb}) (* reduce(env,...) *) + end | CVAR {exp=lamb' as VAR{lvar=lvar',instances=instances',regvars=[]}} => - let val S = mk_subst (fn () => "reduce2") (tyvars,instances) - val _ = decr_use lvar - val _ = incr_use lvar' - val lamb'' = on_LambdaExp S lamb' - in if Lvars.eq(lvar,lvar') then (lamb'', CVAR {exp=lamb''}) - else (tick "reduce - inline-var"; (lamb'', CVAR {exp=lamb''})) (*reduce (env, (lamb'', CVAR lamb''))*) - end + let val S = mk_subst (fn () => "reduce2") (tyvars,instances) + val _ = decr_use lvar + val _ = incr_use lvar' + val lamb'' = on_LambdaExp S lamb' + in if Lvars.eq(lvar,lvar') then (lamb'', CVAR {exp=lamb''}) + else (tick "reduce - inline-var"; (lamb'', CVAR {exp=lamb''})) + end | CCONST {exp=lamb'} => - if is_unboxed_value lamb' orelse (aggressive_opt() andalso small_const lamb') then - (decr_use lvar; tick "reduce - inline-unboxed-value"; (lamb', cv)) - else if Lvars.one_use lvar then - (decr_use lvar; tick "reduce - inline-const"; (lamb', cv)) - else (lamb, CVAR {exp=lamb}) + if is_unboxed_value lamb' orelse (constant_folding_p() andalso small_const lamb') then + (decr_use lvar; tick "reduce - inline-unboxed-value"; (lamb', cv)) + else if Lvars.one_use lvar then + (decr_use lvar; tick "reduce - inline-const"; (lamb', cv)) + else (lamb, CVAR {exp=lamb}) | CUNKNOWN => (lamb, CVAR {exp=lamb}) | _ => let val S = mk_subst (fn () => "reduce3") (tyvars,instances) in (lamb, on_cv S cv) @@ -1970,8 +1990,8 @@ structure OptLambda : OPT_LAMBDA = fun default () = (lvar,tyvars,tau,bind,scope,fail) fun hoist () = case bind of - LET{pat=[(lv,[],tau')],bind=bind',scope=scope'} => (* lv bound in scope' *) - if unbox_reals() (*andalso eq_Type(tau',f64Type)*) andalso simple_nonexpanding bind' then + LET{pat=[(lv,[],tau')],bind=bind',scope=scope'} => (* lv bound in scope' *) + if unbox_reals() andalso simple_nonexpanding bind' then (tick "reduce - let-floating"; let val scope'' = LET{pat=[(lvar,[],tau)],bind=scope', (* ok: lvar bound in scope *) scope=scope} @@ -2090,37 +2110,40 @@ structure OptLambda : OPT_LAMBDA = if Con.eq(con,con') then (tick "reduce - decon-con"; reduce (env, (e,cv))) else constantFold () | FIX{functions,scope} => - let val lvs = map #lvar functions - in if zero_uses lvs then (tick "reduce - dead-fix"; - app (decr_uses o #bind) functions; - reduce (env, (scope,cv))) - else case functions - of [function as {lvar,regvars=[],tyvars,Type,constrs,bind}] => - if single_arg_fn bind andalso not(lvar_in_lamb lvar bind) then - ((*tick "reduce - fix-let";*) - reduce (env, (LET{pat=[(lvar,tyvars,Type)], - bind=bind,scope=scope},cv))) - else - (case scope of - LET{pat,bind,scope=scope2} => - if fix_floating_p() andalso not(lvar_in_lamb lvar scope2) then - (tick "reduce - fix-floating"; - reduce (env, - (LET{pat=pat, - bind=FIX{functions=functions,scope=bind}, - scope=scope2},cv))) - else fail - | _ => fail) - | _ => fail - end + let val lvs = map #lvar functions + in if zero_uses lvs then (tick "reduce - dead-fix"; + app (decr_uses o #bind) functions; + reduce (env, (scope,cv))) + else case functions of + [function as {lvar,regvars=[],tyvars,Type,constrs,bind}] => + if single_arg_fn bind andalso not(lvar_in_lamb lvar bind) then + ((*tick "reduce - fix-let";*) + reduce (env, (LET{pat=[(lvar,tyvars,Type)], + bind=bind,scope=scope},cv))) + else + (case scope of + LET{pat,bind,scope=scope2} => + if fix_floating_p() andalso not(lvar_in_lamb lvar scope2) then + (tick "reduce - fix-floating"; + reduce (env, + (LET{pat=pat, + bind=FIX{functions=functions,scope=bind}, + scope=scope2},cv))) + else fail + | _ => fail) + | _ => fail + end | APP(FN{pat,body=scope},bind,_) => - let val pat' = fn_to_let_pat pat - in tick "appfn-let"; reduce (env, (LET{pat=pat',bind=bind,scope=scope}, CUNKNOWN)) - end + let val pat' = fn_to_let_pat pat + in tick "appfn-let"; reduce (env, (LET{pat=pat',bind=bind,scope=scope}, CUNKNOWN)) + end | APP(VAR{lvar,instances,regvars=[]}, lamb2, tailpos) => - (case lookup_lvar(env, lvar) of - SOME (tyvars, CFIX{N=NONE,Type,bind,large}) => - if not(large) orelse Lvars.one_use lvar then + let fun specialise_p lvar large bind = (* appication-context size-max overwrites *) + (not large andalso small_lamb (max_specialise_size()) bind) (* declaration-context size-max *) + orelse Lvars.one_use lvar + in case lookup_lvar(env, lvar) of + SOME (tyvars, CFIX{N=NONE,Type,bind,large}) => + if specialise_p lvar large bind then let val e = specialize_bind {lvar=lvar,tyvars=tyvars,Type=Type,bind=bind} instances lamb2 in decr_use lvar; decr_uses lamb2; incr_uses e; tick ("reduce - fix-spec." ^ Lvars.pr_lvar lvar); @@ -2128,7 +2151,7 @@ structure OptLambda : OPT_LAMBDA = end else fail | SOME (tyvars,CFIX{N=SOME n,Type,bind,large}) => - if not(large) orelse Lvars.one_use lvar then + if specialise_p lvar large bind then let val () = case lamb2 of PRIM(UB_RECORDprim,_) => () | _ => die ("specializeN_bind.assumption:UB_RECORDprim: " ^ Lvars.pr_lvar lvar) val e = specializeN_bind {lvar=lvar,tyvars=tyvars,Type=Type,bind=bind} n tailpos instances lamb2 @@ -2136,11 +2159,12 @@ structure OptLambda : OPT_LAMBDA = reduce (env, (e, CUNKNOWN)) end else fail - | _ => fail) + | _ => fail + end | APP(FIX{functions=functions as [{lvar,...}], scope=f as VAR{lvar=lv_f,...}}, e, _) => - if Lvars.eq(lvar,lv_f) then - (tick "reduce - app-fix"; (FIX{functions=functions,scope=APP(f,e,NONE)}, CUNKNOWN)) - else fail + if Lvars.eq(lvar,lv_f) then + (tick "reduce - app-fix"; (FIX{functions=functions,scope=APP(f,e,NONE)}, CUNKNOWN)) + else fail | APP(exp1, exp2, _) => let exception NoBetaReduction fun seekFN (LET{pat,bind,scope}, f) = seekFN(scope, f o (fn sc => LET{pat=pat,bind=bind,scope=sc})) @@ -3560,7 +3584,8 @@ structure OptLambda : OPT_LAMBDA = then ({lvar=lvar,regvars=regvars,tyvars=tyvars,Type=Type, constrs=constrs,vtys=vtys,body=body}, Id, fn e => e) else - let fun ins (x,ty,i,j) a = + let + fun ins (x,ty,i,j) a = if List.exists (fn (y,_,i',j') => Lvars.eq(y,x) andalso i=i' andalso j=j') a then a else (x,ty,i,j)::a fun looki (m:(lvar*'a)list) (x:lvar) : (int * 'a) option = @@ -3594,31 +3619,31 @@ structure OptLambda : OPT_LAMBDA = val non_selects = ref nil fun collect_non_selects (e:LambdaExp) : unit = - LambdaBasics.app_lamb - (fn PRIM(SELECTprim _, [VAR _]) => () - | PRIM(CCALLprim{name="__real_to_f64",...}, [VAR _]) => () - | APP(g as VAR{lvar=lvar',...},arg,_) => - if Lvars.eq(lvar,lvar') (* identified call to the function lvar; don't - * mark/collect direct argument variables... *) - then - let fun test e lv = - case looki vtys lv of - SOME (_,ty) => if true (*eq_Type(realType,ty)*) then () - else collect_non_selects e - | NONE => () - in case arg of - PRIM(UB_RECORDprim,args) => - List.app (fn e as VAR {lvar=lv,...} => test e lv - | e => collect_non_selects e) args - | VAR {lvar=lv,...} => test arg lv - | _ => collect_non_selects arg - end - else (collect_non_selects g; collect_non_selects arg) - | VAR{lvar,...} => - if !(Lvars.is_inserted lvar) then () - else (Lvars.is_inserted lvar := true; - non_selects := lvar :: !non_selects) - | e => collect_non_selects e) e + case e of + PRIM(SELECTprim _, [VAR _]) => () + | PRIM(CCALLprim{name="__real_to_f64",...}, [VAR _]) => () + | APP(g as VAR{lvar=lvar',...},arg,_) => + if Lvars.eq(lvar,lvar') (* identified call to the function lvar; don't + * mark/collect direct argument variables... *) + then + let fun test e lv = + case looki vtys lv of + SOME (_,ty) => if true (*eq_Type(realType,ty)*) then () + else collect_non_selects e + | NONE => () + in case arg of + PRIM(UB_RECORDprim,args) => + List.app (fn e as VAR {lvar=lv,...} => test e lv + | e => collect_non_selects e) args + | VAR {lvar=lv,...} => test arg lv + | _ => collect_non_selects arg + end + else (collect_non_selects g; collect_non_selects arg) + | VAR{lvar,...} => + if !(Lvars.is_inserted lvar) then () + else (Lvars.is_inserted lvar := true; + non_selects := lvar :: !non_selects) + | _ => LambdaBasics.app_lamb collect_non_selects e val candidates = ref nil fun collect_candidates (e:LambdaExp) : unit = let fun look x j = @@ -3626,13 +3651,12 @@ structure OptLambda : OPT_LAMBDA = SOME (i,ty) => if !(Lvars.is_inserted x) then () (* there are non-selects! *) else candidates := ins (x,ty,i,j) (!candidates) | NONE => () - in LambdaBasics.app_lamb - (fn PRIM(SELECTprim {index=j}, [VAR{lvar=x,...}]) => look x j - | PRIM (CCALLprim{name="__real_to_f64",...}, [VAR{lvar=x,...}]) => - if unbox_real_funargs() then look x ~1 - else () - | e => collect_candidates e - ) e + in case e of + PRIM(SELECTprim {index=j}, [VAR{lvar=x,...}]) => look x j + | PRIM (CCALLprim{name="__real_to_f64",...}, [VAR{lvar=x,...}]) => + if unbox_real_funargs() then look x ~1 + else () + | _ => LambdaBasics.app_lamb collect_candidates e end fun appS S e = let fun find x i = @@ -3659,7 +3683,7 @@ structure OptLambda : OPT_LAMBDA = constrs=constrs,vtys=vtys,body=body}, Id, fn e => e) | xs => let val (t,vtys,S:(lvar*int*lvar)list) = - List.foldl (fn ((x,ty,i,j),(t,vtys,S)) => + List.foldr (fn ((x,ty,i,j),(t,vtys,S)) => let val ty' = tySel ty j val y = if j = ~1 andalso LambdaBasics.eq_Type(ty',f64Type) then let val y = (*Lvars.new_named_lvar (Lvars.pr_lvar x ^ "_f64")*) diff --git a/src/Compiler/Regions/Effect.sml b/src/Compiler/Regions/Effect.sml index 9b2c91958..5c250644a 100644 --- a/src/Compiler/Regions/Effect.sml +++ b/src/Compiler/Regions/Effect.sml @@ -185,7 +185,7 @@ struct end val print_control_abbrev_layout = Flags.add_bool_entry - {long="print_control_abbrev_layout", short=NONE, menu=["Layout","abbrev layout"], + {long="print_control_abbrev_layout", short=SOME "abbrev", menu=["Layout","abbrev layout"], item=ref true, neg=true, desc= "Abbreviate layout of multiplicity expressions and call-\n\ \explicit expressions. For instance, do not show at-\n\ diff --git a/src/Compiler/Regions/MulExp.sml b/src/Compiler/Regions/MulExp.sml index 6d570b432..f3157095a 100644 --- a/src/Compiler/Regions/MulExp.sml +++ b/src/Compiler/Regions/MulExp.sml @@ -280,7 +280,8 @@ struct FIX{shared_clos, functions, scope, ...} => let val TE' = foldr (fn ({lvar,tyvars,rhos,epss,Type,...}, TE') => - RSE.declareLvar(lvar, (true,true,[],R.FORALL(rhos,epss,tyvars,Type), SOME shared_clos, + RSE.declareLvar(lvar, (true,true,[],R.FORALL(rhos,epss,tyvars,Type), + SOME shared_clos, NONE, NONE), TE')) TE functions @@ -302,7 +303,8 @@ struct case R.unBOX mu of SOME (ty,rho) => (ty,SOME rho) | NONE => (mu,NONE) - in RSE.declareLvar(lvar, (true,true,[],R.type_to_scheme ty,rho,NONE,NONE), + in RSE.declareLvar(lvar, (true,true,[],R.type_to_scheme ty, + rho,NONE,NONE), TE') end) TE pat @@ -311,8 +313,8 @@ struct | LET{k_let,pat,bind,scope} => (warn_puts_trip TE bind; let val TE' = foldr (fn ((lvar,_,tyvars,ref epss,tau,rho,_), TE') => - RSE.declareLvar(lvar, (true,true,[],R.FORALL([],epss,tyvars,tau), rho, - NONE, NONE), + RSE.declareLvar(lvar, (true,true,[],R.FORALL([],epss,tyvars,tau), + rho,NONE,NONE), TE')) TE pat @@ -778,14 +780,17 @@ struct type bad_lvars = (Lvars.lvar * (sigma*place option)*place list)list fun bad_lvars (fn_level, TE, lvars) : bad_lvars = - foldl (fn (lvar, acc) => case RSE.lookupLvar TE lvar of - SOME (_,_,_,sigma,p,_,_) => - (case bad_rhos(fn_level, case p of SOME p => p:: R.frv_sigma sigma | NONE => R.frv_sigma sigma) of - [] => acc - | l => (print ("** Lvar " ^ Lvars.pr_lvar lvar ^ " has a type scheme with a region \n\ - \ variable with higher level than the epsilon of the function.\n"); - (lvar,(sigma,p), l) :: acc)) - | NONE => die "bad_lvars: lvar not in scope") + foldl (fn (lvar, acc) => + case RSE.lookupLvar TE lvar of + SOME (_,_,_,sigma,p,_,_) => + (case bad_rhos(fn_level, case p of SOME p => p:: R.frv_sigma sigma + | NONE => R.frv_sigma sigma) of + [] => acc + | l => (print ("** Lvar " ^ Lvars.pr_lvar lvar ^ + " has a type scheme with a region \n\ + \ variable with higher level than the epsilon of the function.\n"); + (lvar,(sigma,p), l) :: acc)) + | NONE => die "bad_lvars: lvar not in scope") [] lvars type bad_excons = (Excon.excon * mu * place list)list @@ -853,17 +858,18 @@ struct free = ref(SOME(lvars, excons, _)), ...} => let val TE' = foldr (fn ((lvar,mu), TE') => - let val (tau,rho) = case R.unBOX mu of SOME (tau,rho) => (tau,SOME rho) | NONE => (mu,NONE) - in RSE.declareLvar(lvar, (true,true,[],R.type_to_scheme tau, rho , NONE, NONE), TE') + let val (tau,rho) = case R.unBOX mu of SOME (tau,rho) => (tau,SOME rho) + | NONE => (mu,NONE) + in RSE.declareLvar(lvar, (true,true,[],R.type_to_scheme tau, + rho , NONE, NONE), TE') end) TE pat - val level_fn = case eps_opt of - SOME eps => (case Eff.level_of eps of - SOME int => int - | NONE => die "warn_dangle: latent effect has no level" - ) - | NONE => die "warn_dangle: no rho of expression" - + val level_fn = case eps_opt of + SOME eps => (case Eff.level_of eps of + SOME int => int + | NONE => die "warn_dangle: latent effect has no level" + ) + | NONE => die "warn_dangle: no rho of expression" in warn_dangle_trip TE' body; report_dangling(e, bad_lvars(level_fn,TE,lvars), bad_excons(level_fn,TE,excons)) @@ -875,9 +881,10 @@ struct (warn_dangle_trip TE bind; let val TE' = foldr (fn ((lvar,_,tyvars,ref epss,tau,rho,_), TE') => - RSE.declareLvar(lvar, (true,true,[],R.FORALL([],epss,tyvars,tau), rho , NONE, NONE), TE')) - TE - pat + RSE.declareLvar(lvar, (true,true,[],R.FORALL([],epss,tyvars,tau), + rho, NONE, NONE), TE')) + TE + pat in warn_dangle_trip TE' scope end ) @@ -973,7 +980,6 @@ struct fun get_opt l = foldr (fn (opt, acc) => case opt of SOME t => t::acc | NONE => acc) [] l - fun mkLay (omit_region_info: bool) (layout_alloc: 'a -> StringTree option) (layout_alloc_short: 'a -> StringTree option) (layout_bind: 'b -> StringTree option) @@ -1304,8 +1310,10 @@ struct children = map (fn trip => layTrip(trip,0)) args} end | SELECT(i, trip) => - par (n-n_fun) (PP.NODE{start = "#"^Int.toString i ^ " ", finish = "", indent = 4, childsep = PP.NOSEP, - children = [layTrip(trip,n_inf)]}) + let val s = "#" ^ Int.toString i ^ " " + in par (n-n_fun) (PP.NODE{start = s, finish = "", indent = size s, childsep = PP.NOSEP, + children = [layTrip(trip,n_inf)]}) + end | FN{pat,body,free,alloc}=> layLam((pat,body,alloc), n, "") | APP(NONE,_,TR(VAR{lvar, il, fix_bound, rhos_actuals=ref rhos_actuals, plain_arreffs,other},_,_,_), t2) => let diff --git a/src/Compiler/Regions/RegionExp.sml b/src/Compiler/Regions/RegionExp.sml index a415fdb26..8258f877a 100644 --- a/src/Compiler/Regions/RegionExp.sml +++ b/src/Compiler/Regions/RegionExp.sml @@ -456,8 +456,10 @@ fun mkLay (omit_region_info: bool) end | RECORD(NONE, []) => PP.LEAF "()" | SELECT(i, trip) => - PP.NODE{start = "#"^Int.toString i ^ " ", finish = "", indent = 4, childsep = PP.NOSEP, - children = [layTrip(trip,3)]} + let val s = "#" ^ Int.toString i ^ " " + in PP.NODE{start = s, finish = "", indent = size s, childsep = PP.NOSEP, + children = [layTrip(trip,3)]} + end | FN{pat, body, alloc, free} => layLam((pat,body,alloc), n, "") | APP(TR(VAR{lvar, il_r, fix_bound=true},_,_), t2) => let (* f il (exp) diff --git a/src/Runtime/Math.c b/src/Runtime/Math.c index 982a528c7..c380da470 100644 --- a/src/Runtime/Math.c +++ b/src/Runtime/Math.c @@ -949,6 +949,32 @@ runtime_test0 (uintptr_t a1, uintptr_t a2, uintptr_t a3) { return ret; /* (1*1)+(3*2)+(5*3) ==> 22 */ } +/* A test function for testing multi-parameter passing (auto) */ +uintptr_t +runtime_test1auto (uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, + uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9, uintptr_t a10) { + long int ret = + 2 * (long int)a1 + + 3 * (long int)a2 + + 5 * (long int)a3 + + 7 * (long int)a4 + + 11 * (long int)a5 + + 17 * (long int)a6 + + 19 * (long int)a7 + + 23 * (long int)a8 + + 29 * (long int)a9 + + 31 * (long int)a10; + return ret; +} + +/* Another test function for testing multi-parameter passing (auto) */ +uintptr_t +runtime_test2auto (uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, + uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9, uintptr_t a10, uintptr_t a11) { + long int ret = runtime_test1auto(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); + return ret + 37*(long int)a11; +} + /* A test function for testing multi-parameter passing (non-auto) */ uintptr_t runtime_test1 (uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, diff --git a/src/Runtime/Profiling.c b/src/Runtime/Profiling.c index 046d48463..827f8360d 100644 --- a/src/Runtime/Profiling.c +++ b/src/Runtime/Profiling.c @@ -496,7 +496,7 @@ printProfTab() */ long maxSizeStack() { - return ((long)stackBot)-((long)maxStack)-(maxProfStack*(sizeof(long*))); + return (((long)stackBot)-((long)maxStack))-(long)(maxProfStack*(sizeof(long*))); } @@ -561,8 +561,10 @@ Statistics() maxRegionDescUseInf*sizeof(long*), (maxRegionDescUseInf*(sizeof(long*)))/Mb); fprintf(stderr," Max size of stack: %ld bytes (%.1fMb)\n", maxSizeStack(), maxSizeStack()/Mb); - fprintf(stderr," incl. prof. info: %ld bytes (%.1fMb)\n", - ((long)stackBot)-((long)maxStack), ((((long)stackBot)-((long)maxStack))*1.0)/Mb); + fprintf(stderr," incl. prof. info (stackBot - maxStack): %ld bytes (%.1fMb)\n", + ((long)stackBot)-((long)maxStack), (((long)stackBot)-((long)maxStack))/Mb); + fprintf(stderr," prof. info: %ld bytes (%.1fMb)\n", + maxProfStack*sizeof(long*), maxProfStack*sizeof(long*)/Mb); fprintf(stderr," in profile tick: %ld bytes (%.1fMb)\n", ((long)stackBot)-((long)maxStackP), (((long)stackBot)-((long)maxStackP))/Mb); fprintf(stderr,"Number of profile ticks: %d\n", noOfTickInFile); @@ -580,6 +582,8 @@ Statistics() fprintf(stderr," Space used on profiling information at that time: %ld bytes (%4.1fMb)\n", maxProfStack*sizeof(long*), (maxProfStack*sizeof(long*))/Mb); fprintf(stderr," -------------------------------------------------------------------------------\n"); + fprintf(stderr, "sizeFiniteRegionDesc (words): %ld\n", sizeFiniteRegionDesc); + fprintf(stderr, "sizeObjectDesc (words): %ld\n", sizeObjectDesc); */ fprintf(stderr,"\n*********End of region statistics*********\n"); } diff --git a/src/Runtime/Region.c b/src/Runtime/Region.c index 3fef08a30..b632cb7d9 100644 --- a/src/Runtime/Region.c +++ b/src/Runtime/Region.c @@ -141,39 +141,36 @@ extern long* stackBot; FiniteRegionDesc * topFiniteRegion = NULL; unsigned long callsOfDeallocateRegionInf=0, - callsOfDeallocateRegionFin=0, - callsOfAlloc=0, - callsOfResetRegion=0, - callsOfDeallocateRegionsUntil=0, - callsOfAllocateRegionInf=0, - callsOfAllocateRegionFin=0, - callsOfSbrk=0, - maxNoOfPages=0, - noOfPages=0, - allocNowInf=0, /* Allocated in inf. regions now. */ - maxAllocInf=0, /* Max. allocatated data in inf. regions. */ - allocNowFin=0, /* Allocated in fin. regions now. */ - maxAllocFin=0, /* Max. allocated in fin. regions. */ - allocProfNowInf=0, /* Words used on object descriptors in inf. regions. */ - maxAllocProfInf=0, /* At time maxAllocInf how much were - used on object descriptors. */ - allocProfNowFin=0, /* Words used on object descriptors in fin. regions. */ - maxAllocProfFin=0, /* At time maxAllocFin how much were used on object descriptors. */ - maxAlloc=0, /* Max. allocated data in both inf. and fin. regions. */ - /* Are not nessesarily equal to maxAllocInf+maxAllocFin!!! */ - maxMem=0, /* Max. allocated data on stack and in regions (finite and infinite) */ - regionDescUseInf=0, /* Words used on non profiling information in inf. region descriptors. */ - maxRegionDescUseInf=0, /* Max. words used on non profiling information in inf. region descriptors. */ - regionDescUseProfInf=0, /* Words used on profiling information in inf. region descriptors. */ - maxRegionDescUseProfInf=0, /* Max. words used on profiling information in inf. region descriptors. */ - - regionDescUseProfFin=0, /* Words used on profiling information in fin. region descriptors. */ - maxRegionDescUseProfFin=0, /* At time maxAllocFin, how much were used on finite region descriptors. */ - - maxProfStack=0, /* At time of max. stack size, how much is due to profiling. */ - /* It is updated in function Profiling.updateMaxProfStack, which is */ - /* called from the assembler file. */ - allocatedLobjs=0; /* Total number of allocated large objects allocated with malloc */ + callsOfDeallocateRegionFin=0, + callsOfAlloc=0, + callsOfResetRegion=0, + callsOfDeallocateRegionsUntil=0, + callsOfAllocateRegionInf=0, + callsOfAllocateRegionFin=0, + callsOfSbrk=0, + maxNoOfPages=0, + noOfPages=0, + allocNowInf=0, // Allocated in inf. regions now. + maxAllocInf=0, // Max. allocatated data in inf. regions. + allocNowFin=0, // Allocated in fin. regions now. + maxAllocFin=0, // Max. allocated in fin. regions. + allocProfNowInf=0, // Words used on object descriptors in inf. regions. + maxAllocProfInf=0, // At time maxAllocInf how much were + // used on object descriptors. + allocProfNowFin=0, // Words used on object descriptors in fin. regions. + maxAllocProfFin=0, // At time maxAllocFin how much were used on object descriptors. + maxAlloc=0, // Max. allocated data in both inf. and fin. regions. + // - not nessesarily equal to maxAllocInf+maxAllocFin!!! + maxMem=0, // Max. allocated data on stack and in regions (finite and infinite) + regionDescUseInf=0, // Words used on non profiling information in inf. region descriptors. + maxRegionDescUseInf=0, // Max. words used on non profiling information in inf. region descriptors. + regionDescUseProfInf=0, // Words used on profiling information in inf. region descriptors. + maxRegionDescUseProfInf=0, // Max. words used on profiling information in inf. region descriptors. + regionDescUseProfFin=0, // Words used on profiling information in fin. region descriptors. + maxRegionDescUseProfFin=0, // At time maxAllocFin, how much were used on finite region descriptors. + maxProfStack=0, // At time of max. stack size, how much is due to profiling. + // - updated by inline assembler code (see CodeGenX86.sml) + allocatedLobjs=0; // Total number of allocated large objects allocated with malloc inline static unsigned int max(unsigned int a, unsigned int b) @@ -1310,8 +1307,9 @@ void allocRegionFiniteProfiling(FiniteRegionDesc *rdAddr, size_t regionId, size_t size) { ObjectDesc *objPtr; + /* - printf("[Entering allocRegionFiniteProfiling, rdAddr=%x, regionId=%d, size=%d ...\n", rdAddr, regionId, size); + printf("[Entering allocRegionFiniteProfiling, rdAddr=%p, regionId=%ld, size=%ld ...\n", rdAddr, regionId, size); */ allocNowFin += size; /* necessary for graph drawing */ maxAlloc = max(maxAlloc, allocNowFin+allocNowInf); /* necessary for graph drawing */ @@ -1320,6 +1318,11 @@ allocRegionFiniteProfiling(FiniteRegionDesc *rdAddr, size_t regionId, size_t siz maxAllocFin = max(allocNowFin, maxAllocFin); allocProfNowFin += sizeObjectDesc; regionDescUseProfFin += sizeFiniteRegionDesc; + + // if (allocProfNowFin != regionDescUseProfFin) { + // printf("allocFin: %ld differs from %ld\n", allocProfNowFin, regionDescUseProfFin); + // } + if (allocNowFin == maxAllocFin) { maxAllocProfFin = allocProfNowFin; maxRegionDescUseProfFin = regionDescUseProfFin; @@ -1361,7 +1364,7 @@ deallocRegionFiniteProfiling(void) long size; /* - printf("[Entering deallocRegionFiniteProfiling regionId=%d (topFiniteRegion = %x)...\n", + printf("[Entering deallocRegionFiniteProfiling regionId=%ld (topFiniteRegion = %p)...\n", topFiniteRegion->regionId, topFiniteRegion); */ size = ((ObjectDesc *) (topFiniteRegion + 1))->size; @@ -1372,6 +1375,10 @@ deallocRegionFiniteProfiling(void) allocProfNowFin -= sizeObjectDesc; regionDescUseProfFin -= sizeFiniteRegionDesc; + // if (allocProfNowFin != regionDescUseProfFin) { + // printf("deallocFin: %ld differs from %ld\n", allocProfNowFin, regionDescUseProfFin); + // } + topFiniteRegion = topFiniteRegion->p; /* pop ptr. to prev. region desc. */ debug(printf("exiting, topFiniteRegion = %p]\n", topFiniteRegion)); diff --git a/src/Runtime/Socket.c b/src/Runtime/Socket.c index 053236ce6..9ed59c18b 100644 --- a/src/Runtime/Socket.c +++ b/src/Runtime/Socket.c @@ -283,12 +283,14 @@ String REG_POLY_FUN_HDR(sml_sock_recvvec, Region rString, Context ctx, size_t sock, size_t i) { sml_debug("[sml_sock_recvvec"); + i = convertIntToC(i); char *buf = (char *)malloc(i+1); // temporary storage if (buf == NULL) { raise_exn(ctx,(uintptr_t)&exn_OVERFLOW); return NULL; } - int ret = recv(convertIntToC(sock), buf, convertIntToC(i), 0); + int ret = recv(convertIntToC(sock), buf, i, 0); + sml_debug(".."); if (ret < 0) { free(buf); sml_debug("]*\n"); diff --git a/test/auto2.sml b/test/auto2.sml index 1987a250b..8f986803a 100644 --- a/test/auto2.sml +++ b/test/auto2.sml @@ -79,5 +79,5 @@ structure T1 = TestAutoW8Array(type t = chararray type e = char structure T2 = TestAutoW8Array(type t = Word8Array.array type e = Word8.word val fromInt = Word8.fromInt) -structure T2 = TestAutoW8Array(type t = Int8Array.array type e = Int8.int +structure T3 = TestAutoW8Array(type t = Int8Array.array type e = Int8.int val fromInt = Int8.fromInt) diff --git a/test_dev/Makefile b/test_dev/Makefile index acea24308..a4fbc628b 100644 --- a/test_dev/Makefile +++ b/test_dev/Makefile @@ -9,7 +9,8 @@ TESTFILES=f64_1.sml f64_2.sml f64_3.sml f64_4.sml scratchmem.sml \ kitlife35u_no_basislib.sml kitqsort_no_basislib.sml \ kitsimple_no_basislib.sml kittmergesort_no_basislib.sml \ kitreynolds2_no_basislib.sml kitreynolds3_no_basislib.sml \ - professor_game.sml ccall.sml auto.sml Initial.sml string_sub.sml \ + professor_game.sml ccall.sml auto.sml auto2.sml Initial.sml \ + string_sub.sml \ int_overflow.sml sign.sml word_list.sml build.sml reg.sml jt.sml \ single.sml expr.sml floor2.sml diff --git a/test_dev/auto2.out.ok b/test_dev/auto2.out.ok new file mode 100644 index 000000000..7ec016988 --- /dev/null +++ b/test_dev/auto2.out.ok @@ -0,0 +1,6 @@ +OK 1:0 +OK 1:2 +OK 1:23 +OK 2:0 +OK 2:12 +OK 2:123 diff --git a/test_dev/auto2.sml b/test_dev/auto2.sml new file mode 100644 index 000000000..33b1efc36 --- /dev/null +++ b/test_dev/auto2.sml @@ -0,0 +1,51 @@ +local +infix 7 * / div mod +infix 6 + - ^ +infixr 5 :: @ +infix 4 = <> > >= < <= +infix 3 := o +infix 0 before + +fun !(x: 'a ref): 'a = prim ("!", x) +fun (x: 'a ref) := (y: 'a): unit = prim (":=", (x, y)) +fun op = (x: ''a, y: ''a): bool = prim ("=", (x, y)) +fun not true = false | not false = true +fun a <> b = not (a = b) +fun print (s:string) : unit = prim("printStringML", s) +fun printNum (n:int) : unit = prim("printNum", n) +fun (s : string) ^ (s' : string) : string = prim ("concatStringML", (s, s')) +fun printCharArray (s:chararray) : unit = prim("printStringML", s) +fun chr (i:int) : char = if i>=0 andalso i<256 then prim ("id", i) + else raise Div +in + +(* Auto-conversion with many arguments *) +local + fun runtime_test1auto (a1:int,a2:int,a3:int,a4:int,a5:int, + a6:int,a7:int,a8:int,a9:int,a10:int) : int = + prim("@runtime_test1auto", (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)) + fun runtime_test2auto (a1:int,a2:int,a3:int,a4:int,a5:int, + a6:int,a7:int,a8:int,a9:int,a10:int,a11:int) : int = + prim("@runtime_test2auto", (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)) +in + fun x1 n = runtime_test1auto (1,2+n,3,4,5,6,7,8,9+n,10) + fun x2 n = runtime_test2auto (1,2+n,3,4,5,6,7,8,9+n,10,11+n) + + fun ok1 n = 1096 + 3*n + 29*n + fun ok2 n = ok1 n + 37*(11+n) + + fun test (x,ok) s n = + let val r = ok n + in if x n = r then print ("OK " ^ s ^ "\n") + else print ("ERR " ^ s ^ ": result <> expected\n") + end + + val () = test (x1,ok1) "1:0" 0 + val () = test (x1,ok1) "1:2" 2 + val () = test (x1,ok1) "1:23" 23 + val () = test (x2,ok2) "2:0" 0 + val () = test (x2,ok2) "2:12" 12 + val () = test (x2,ok2) "2:123" 123 +end + +end From 9d96f1e05d2a19d43d7bb249314f1871ca6f0831 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Tue, 16 Dec 2025 22:00:46 +0100 Subject: [PATCH 04/37] change linker flags on macos --- NEWS.md | 3 +++ src/Compiler/Backend/X64/ExecutionX64.sml | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/NEWS.md b/NEWS.md index 9c420863f..ab2266dde 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,8 @@ ## MLKit NEWS +* mael 2025-12-16: Remove the use of the macos linker flag `-ld_static` when + compiling on newer versions of macos. + ### MLKit version 4.7.16 is released * mael 2025-12-15: Updated documentation. There is a new version of "Programming diff --git a/src/Compiler/Backend/X64/ExecutionX64.sml b/src/Compiler/Backend/X64/ExecutionX64.sml index a1a9ff1de..4e2fd0639 100644 --- a/src/Compiler/Backend/X64/ExecutionX64.sml +++ b/src/Compiler/Backend/X64/ExecutionX64.sml @@ -58,16 +58,16 @@ structure ExecutionX64 : EXECUTION = val link_exe = Flags.add_string_entry - let val macgcc_new = "gcc -Wl,-ld_classic,-stack_size,0x10000000" - val macgcc_old = "gcc -Wl,-stack_size,0x10000000" + let val macgcc_seminew = "gcc -Wl,-ld_classic,-stack_size,0x10000000" + val macgcc_old_or_newer = "gcc -Wl,-stack_size,0x10000000" val linuxgcc = "gcc" val gcc = if onmac_p() then case InstsX64.release() of - NONE => macgcc_old + NONE => macgcc_old_or_newer | SOME v => case Real.fromString v of - SOME r => if r > 23.1 then macgcc_new - else macgcc_old - | NONE => macgcc_old + SOME r => if 23.1 < r andalso r < 25.2 then macgcc_seminew + else macgcc_old_or_newer + | NONE => macgcc_old_or_newer else linuxgcc in {long="link_exe", short=SOME "ldexe", item=ref gcc, @@ -76,10 +76,10 @@ structure ExecutionX64 : EXECUTION = \an executable. The standard is to use 'gcc' for\n\ \linking. When linking with c++ libraries, 'g++' is\n\ \the linker you want. On Linux the default is '" ^ linuxgcc ^ "',\n\ - \whereas on newer macOS systems (Darwin > 23.1), the default\n\ - \is '" ^ macgcc_new ^ "' and on\n\ - \older macOS systems, the default is\n\ - \'" ^ macgcc_old ^ "'."} + \whereas on semi-new macOS systems (23.2-26.1), the default\n\ + \is '" ^ macgcc_seminew ^ "' and on\n\ + \older or newer macOS systems, the default is\n\ + \'" ^ macgcc_old_or_newer ^ "'."} end val link_shared = From 76c06816ea2213051f3281f3432564a64707be67 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Tue, 16 Dec 2025 22:10:04 +0100 Subject: [PATCH 05/37] increase timeout on job step --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c5500c6eb..abebe0c89 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -132,7 +132,7 @@ jobs: CC=${{env.THECC}} ./configure --with-compiler=mlkit - name: Build MLKit - timeout-minutes: 120 + timeout-minutes: 240 run: | gcc --version make mlkit From 023e9b9128331815f7808cb522eb7ccd979dd1e9 Mon Sep 17 00:00:00 2001 From: Martin Elsman Date: Tue, 16 Dec 2025 22:21:22 +0100 Subject: [PATCH 06/37] new version --- NEWS.md | 2 ++ configure.ac | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index ab2266dde..da5d647d6 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ ## MLKit NEWS +### MLKit version 4.7.17 is released + * mael 2025-12-16: Remove the use of the macos linker flag `-ld_static` when compiling on newer versions of macos. diff --git a/configure.ac b/configure.ac index 55601df6a..b29fe5118 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(MLKit, [v4.7.16]) +AC_INIT(MLKit, [v4.7.17]) AC_CONFIG_HEADERS([src/config.h]) AC_REVISION($Revision$) AC_CONFIG_FILES([src/Runtime/Makefile From 5b71716a2c085a83fbc9730b78b141e1fb4ef424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20Will=C3=A9n?= Date: Wed, 21 Jan 2026 10:11:22 +0000 Subject: [PATCH 07/37] added funtionality: ccall can take explicit region parameters, and explicit region parameters, that does not show up in the type scheme of the arguments to a function, survives through app --- .gitignore | 3 +- basis/REGIONS.sig | 57 ++++++++++ basis/Regions.sml | 30 +++++ basis/basis-reml.mlb | 2 + basis/par-reml.mlb | 1 + basis/reml.mlb | 6 + isInfinite.sml | 0 shell.nix | 70 ++++++++++++ src/Compiler/Lambda/CompileDec.sml | 14 ++- src/Compiler/Lambda/EliminateEq.sml | 8 +- src/Compiler/Lambda/LAMBDA_EXP.sml | 9 +- src/Compiler/Lambda/LambdaBasics.sml | 9 +- src/Compiler/Lambda/LambdaExp.sml | 46 +++++--- src/Compiler/Lambda/LambdaStatSem.sml | 2 +- src/Compiler/Lambda/OptLambda.sml | 24 ++-- src/Compiler/Regions/DropRegions.sml | 13 ++- src/Compiler/Regions/REGION_EXP.sml | 6 +- src/Compiler/Regions/RegionExp.sml | 6 +- src/Compiler/Regions/RegionStatEnv.sml | 10 +- src/Compiler/Regions/SpreadExpression.sml | 131 ++++++++++++---------- src/Runtime/Region.c | 63 +++++++++++ src/Runtime/Region.h | 3 +- test/region_info/getFreeListSize.mlb | 3 + test/region_info/getFreeListSize.sml | 8 ++ test/region_info/getMemoryOfRegion.mlb | 3 + test/region_info/getMemoryOfRegion.sml | 10 ++ test/region_info/getPageSize.mlb | 3 + test/region_info/getPageSize.sml | 8 ++ test/region_info/isAtbot.mlb | 3 + test/region_info/isAtbot.sml | 19 ++++ test/region_info/isInfinite.mlb | 3 + test/region_info/isInfinite.sml | 17 +++ test/region_info/numAllocatedPages.mlb | 3 + test/region_info/numAllocatedPages.sml | 10 ++ test/region_info/numPages.mlb | 3 + test/region_info/numPages.sml | 10 ++ test/region_info/run | Bin 0 -> 1192472 bytes 37 files changed, 490 insertions(+), 126 deletions(-) create mode 100644 basis/REGIONS.sig create mode 100644 basis/Regions.sml create mode 100644 basis/basis-reml.mlb create mode 100644 basis/reml.mlb create mode 100644 isInfinite.sml create mode 100644 shell.nix create mode 100644 test/region_info/getFreeListSize.mlb create mode 100644 test/region_info/getFreeListSize.sml create mode 100644 test/region_info/getMemoryOfRegion.mlb create mode 100644 test/region_info/getMemoryOfRegion.sml create mode 100644 test/region_info/getPageSize.mlb create mode 100644 test/region_info/getPageSize.sml create mode 100644 test/region_info/isAtbot.mlb create mode 100644 test/region_info/isAtbot.sml create mode 100644 test/region_info/isInfinite.mlb create mode 100644 test/region_info/isInfinite.sml create mode 100644 test/region_info/numAllocatedPages.mlb create mode 100644 test/region_info/numAllocatedPages.sml create mode 100644 test/region_info/numPages.mlb create mode 100644 test/region_info/numPages.sml create mode 100755 test/region_info/run diff --git a/.gitignore b/.gitignore index fa14a33ff..c3ff432ea 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ lib config.log config.status configure -*~ \ No newline at end of file +src/.ccls-cache +*~ diff --git a/basis/REGIONS.sig b/basis/REGIONS.sig new file mode 100644 index 000000000..3ded299f6 --- /dev/null +++ b/basis/REGIONS.sig @@ -0,0 +1,57 @@ +(** Operations and information about regions. *) + +signature REGIONS = + sig + (* use built-in resetRegions *) + (* \/ 'a. 'a -> unit *) + val resetRegionsOf : 'a -> unit + (* \/ r. r * unit -> unit *) + val resetRegion : unit -> unit + + (* use built-in forceResetting *) + (* \/ 'a. 'a -> unit *) + val forceResetRegionsOf : 'a -> unit + (* \/ r. r * unit -> unit *) + val forceResetRegion : unit -> unit + + + (* \/ r. r * unit -> bool *) + val isAtbot : unit -> bool + + (* \/ r. r * unit -> int *) + val memoryUsage : unit -> int + + (* \/ r. r * unit -> int *) + val numPages : unit -> int + + + val getPageSizeBytes : unit -> int + + val getFreeListSizeBytes : unit -> int + + val numAllocatedPages : unit -> int + + val allocatedMemory : unit -> int + + val numUsedPages : unit -> int + + val usedMemory : unit -> int + end + +(** +[resetRegion [r] ()] resets the explicit region parameter, if they are safe to +reset. + +[forceResetRegion [r] ()] forcefully resets the explicit region parameter. + +[isAtbot [r] ()] returns true if the explicit region parameter is at bottom. + +[memoryUsage [r] ()] returns an integer describing the memory usage (in bytes) +of the explicit region parameter. + +[numPages [r] ()] returns the number of pages allocated to the explicit region + +[getPageSizeBytes ()] returns the size of a memory page (in bytes). + +[getFreeListSizeBytes ()] returns the size of the free list (in bytes). +*) diff --git a/basis/Regions.sml b/basis/Regions.sml new file mode 100644 index 000000000..bc41167b0 --- /dev/null +++ b/basis/Regions.sml @@ -0,0 +1,30 @@ +(* Regions.sml *) + +structure Regions : REGIONS = + struct + fun resetRegionsOf a = resetRegions a + fun resetRegion `[r] () = resetRegions `[r] () + + fun forceResetRegionsOf a = forceResetting a + fun forceResetRegion `[r] () = forceResetting `[r] () + + + fun isAtbot `[r] () = prim `[r] ("is_Atbot", ()) + + fun memoryUsage `[r] () = prim `[r] ("get_Region_Memory_Usage_Bytes", ()) + + fun numPages `[r] () = prim `[r] ("num_Pages", ()) + + + fun getPageSizeBytes () = prim ("get_Page_Size_Bytes", ()) + + fun getFreeListSizeBytes () = prim ("get_Free_List_Size_Bytes", ()) + + fun numAllocatedPages () = prim ("num_Allocated_Pages", ()) + + fun allocatedMemory () = prim ("get_Allocated_Memory_Bytes", ()) + + fun numUsedPages () = prim ("num_Used_Pages", ()) + + fun usedMemory () = prim ("get_Used_Memory_Bytes", ()) + end diff --git a/basis/basis-reml.mlb b/basis/basis-reml.mlb new file mode 100644 index 000000000..7d6610319 --- /dev/null +++ b/basis/basis-reml.mlb @@ -0,0 +1,2 @@ +basis.mlb +reml.mlb diff --git a/basis/par-reml.mlb b/basis/par-reml.mlb index 6e37684b4..bc8dfe581 100644 --- a/basis/par-reml.mlb +++ b/basis/par-reml.mlb @@ -1,6 +1,7 @@ local basis.mlb in + reml.mlb THREAD.sig ThreadSeq.sml Thread-reml.sml diff --git a/basis/reml.mlb b/basis/reml.mlb new file mode 100644 index 000000000..b6a94c0fe --- /dev/null +++ b/basis/reml.mlb @@ -0,0 +1,6 @@ +local + basis.mlb +in + REGIONS.sig + Regions.sml +end diff --git a/isInfinite.sml b/isInfinite.sml new file mode 100644 index 000000000..e69de29bb diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000..98ee11bd4 --- /dev/null +++ b/shell.nix @@ -0,0 +1,70 @@ +let + nixpkgs = fetchTarball { + url = "https://github.com/NixOS/nixpkgs/archive/78e34d1667d32d8a0ffc3eba4591ff256e80576e.tar.gz"; + }; + pkgs = import nixpkgs {}; + + # Build MLKit package using the fetched source + mlkitPinned = pkgs.stdenv.mkDerivation { + name = "mlkit-pinned"; + version = "git-4858b8b"; + + # Fetch MLKit from GitHub at specific commit + src = pkgs.fetchFromGitHub { + owner = "melsman"; + repo = "mlkit"; + rev = "55af1d1921c122d52da8fdcea664e6ca2a495a2d"; + sha256 = "0ihijkdwxjsi6glj1vlf3sji76irsqazw817hcy39h7vl3n18v8f"; + }; + + nativeBuildInputs = [ + pkgs.mlton + pkgs.autoreconfHook + ]; + + buildFlags = [ + "mlkit" + "mlkit_libs" + ]; + + doCheck = true; + + # MLKit intentionally has some of these in its test suite. + # Since the test suite is available in `$out/share/mlkit/test`, we must disable this check. + dontCheckForBrokenSymlinks = true; + }; +in + pkgs.stdenv.mkDerivation { + name = "specialeMikkel"; + + buildInputs = + with pkgs; + [ autoreconfHook + cacert + curl + futhark + gcc9 + ghostscript + git + gnumake42 + lima + mlkitPinned + mlton + nettools + smlpkg + tshark + tunctl + unzip + xen + ]; + + shellHook = '' + export NIX_ENFORCE_PURITY=0 + + export CC=${pkgs.gcc9}/bin/gcc + export CXX=${pkgs.gcc9}/bin/g++ + export PATH=${pkgs.gcc9}/bin:$PATH + + fish + ''; + } diff --git a/src/Compiler/Lambda/CompileDec.sml b/src/Compiler/Lambda/CompileDec.sml index 4e7005d9e..bedd05c84 100644 --- a/src/Compiler/Lambda/CompileDec.sml +++ b/src/Compiler/Lambda/CompileDec.sml @@ -2011,7 +2011,7 @@ end; (*match compiler local*) (* ---------------------------------------------------------------------- *) fun ccall name argtypes restype = - CCALLprim {name = compileCName name, instances = [], tyvars = [], + CCALLprim {name = compileCName name, instances = [], regvars = [], tyvars = [], Type = ARROWtype (argtypes,NONE,[restype],NONE)} @@ -2796,7 +2796,7 @@ end; (*match compiler local*) | CE.GREATER => overloaded_prim env info CE.GREATER (compileAtexp env) (compileExp env) arg false [] | CE.LESSEQ => overloaded_prim env info CE.LESSEQ (compileAtexp env) (compileExp env) arg false [] | CE.GREATEREQ => overloaded_prim env info CE.GREATEREQ (compileAtexp env) (compileExp env) arg false [] - | CE.PRIM => compile_application_of_prim env info arg + | CE.PRIM => compile_application_of_prim env info arg regvars_opt | CE.EXPORT => let val (name,args) = decompose_prim_call arg val (tau_arg,tau_res) = (* The type (tau_arg->tau_res) is the instance of ('a->'b) *) @@ -2840,7 +2840,7 @@ end; (*match compiler local*) ) (*fun compile_application_of_ident*) - and compile_application_of_prim env info atexp = + and compile_application_of_prim env info atexp regvars_opt = (*Application of `prim' to atexp. We disassemble atexp to get the name s of the primitive operation and its arguments.*) @@ -2964,10 +2964,10 @@ the 12 lines above are very similar to the code below | _ => (*unrecognised prim name: this must be a c call; let us hope the run-time system defines a function called s:*) - compile_application_of_c_function env info s args) + compile_application_of_c_function env info s args regvars_opt) end) (*fun compile_application_of_prim*) - and compile_application_of_c_function env info name args = + and compile_application_of_c_function env info name args regvars_opt = (case to_TypeInfo info of SOME (TypeInfo.VAR_INFO {instances = [tau_argument, tau_result]}) => @@ -2980,6 +2980,8 @@ the 12 lines above are very similar to the code below tau_argument->tau_result. From CompileDec and on, we want the instance list to be the instance list of the c function type rather than the instance list of the type of `prim':*) + + (* Should regvar(s) be prepended to args? *) let val taus1 = (case compileType tau_argument of tau1 => (case List.length args of @@ -2996,6 +2998,7 @@ the 12 lines above are very similar to the code below val subst = mk_subst (fn () => "CompileDec.compile_application_of_c_function") (tyvars, map (fn tv => TLE.TYVARtype {tv=tv}) tyvars_fresh) + val regvars = regvarsFromRegvarsAndInfoOpt regvars_opt (* Names for certain primitives are altered on the basis of * whether tagging of integers is enabled; see the comment @@ -3004,6 +3007,7 @@ the 12 lines above are very similar to the code below in TLE.PRIM (CCALLprim {name = name, tyvars = tyvars_fresh, + regvars = regvars, Type = on_Type subst tau, instances = map (fn tv => TLE.TYVARtype {tv=tv}) tyvars}, map (compileExp env) args) diff --git a/src/Compiler/Lambda/EliminateEq.sml b/src/Compiler/Lambda/EliminateEq.sml index 291b8aab3..0089eedb3 100644 --- a/src/Compiler/Lambda/EliminateEq.sml +++ b/src/Compiler/Lambda/EliminateEq.sml @@ -227,7 +227,7 @@ structure EliminateEq : ELIMINATE_EQ = val argty2 = TYVARtype {tv=tv2} val ty = ARROWtype([argty1,argty2],NONE,[boolType],NONE) in PRIM(CCALLprim {name="__equal_ptr",instances=[instance_ty,instance_ty], - tyvars=[tv1,tv2], Type=ty}, + regvars=[], tyvars=[tv1,tv2], Type=ty}, [e1,e2]) end @@ -636,7 +636,7 @@ structure EliminateEq : ELIMINATE_EQ = in monolet {lvar = lvar_nX, Type = intDefaultType(), bind = PRIM (CCALLprim {name = "table_size", (*alpha' is instantiated to alpha (from above):*) - tyvars = [alpha'], instances = [TYVARtype {tv=alpha}], + tyvars = [alpha'], instances = [TYVARtype {tv=alpha}], regvars = [], Type = ARROWtype ([CONStype ([TYVARtype {tv=alpha'}], tyname, NONE)], NONE, [intDefaultType()], @@ -650,7 +650,7 @@ structure EliminateEq : ELIMINATE_EQ = val tau_alpha' = TYVARtype {tv=alpha'} in PRIM (CCALLprim {name = "word_sub0", (*alpha' is instantiated to alpha (from above):*) - tyvars = [alpha'], instances = [TYVARtype {tv=alpha}], + tyvars = [alpha'], instances = [TYVARtype {tv=alpha}], regvars = [], Type = ARROWtype ([CONStype ([tau_alpha'], tyname, NONE), intDefaultType()], NONE, [tau_alpha'], @@ -664,7 +664,7 @@ structure EliminateEq : ELIMINATE_EQ = val values_64bit = Flags.is_on0 "values_64bit" fun ccall name argtypes restype = - CCALLprim {name = name, instances = [], tyvars = [], + CCALLprim {name = name, instances = [], regvars = [], tyvars = [], Type = ARROWtype (argtypes, NONE, [restype], NONE)} fun MINUS_INTprim () = diff --git a/src/Compiler/Lambda/LAMBDA_EXP.sml b/src/Compiler/Lambda/LAMBDA_EXP.sml index 9158c3b6e..fe77af32f 100644 --- a/src/Compiler/Lambda/LAMBDA_EXP.sml +++ b/src/Compiler/Lambda/LAMBDA_EXP.sml @@ -103,6 +103,7 @@ signature LAMBDA_EXP = | EQUALprim of {instance: 'Type} | CCALLprim of {name : string, (* Primitives, etc. *) instances : 'Type list, + regvars : regvar list, tyvars : tyvar list, Type : 'Type} | BLOCKF64prim @@ -110,9 +111,11 @@ signature LAMBDA_EXP = | EXPORTprim of {name : string, instance_arg : 'Type, instance_res : 'Type} - | RESET_REGIONSprim of {instance : 'Type, regvars : regvar list} (* NOT Standard ML, for programmer-directed, - but safe, resetting of regions *) - | FORCE_RESET_REGIONSprim of {instance: 'Type, regvars : regvar list} (* NOT Standard ML, for programmer-controlled, + | RESET_REGIONSprim of {instance : 'Type, + regvars : regvar list} (* NOT Standard ML, for programmer-directed, + but safe, resetting of regions *) + | FORCE_RESET_REGIONSprim of {instance: 'Type, + regvars : regvar list} (* NOT Standard ML, for programmer-controlled, unsafe resetting of regions *) datatype LambdaPgm = PGM of datbinds * LambdaExp diff --git a/src/Compiler/Lambda/LambdaBasics.sml b/src/Compiler/Lambda/LambdaBasics.sml index baa984b78..404d32dd8 100644 --- a/src/Compiler/Lambda/LambdaBasics.sml +++ b/src/Compiler/Lambda/LambdaBasics.sml @@ -490,10 +490,10 @@ structure LambdaBasics: LAMBDA_BASICS = | REFprim {instance,regvar} => REFprim {instance=on_tau ren instance,regvar=regvar} | ASSIGNprim {instance} => ASSIGNprim {instance=on_tau ren instance} | EQUALprim {instance} => EQUALprim {instance=on_tau ren instance} - | CCALLprim {name, instances, tyvars, Type} => + | CCALLprim {name, instances, regvars, tyvars, Type} => let val tvs_pairs = map (fn tv => (tv, new_tv tv)) tyvars val ren_local = add_tvs tvs_pairs empty_ren - in CCALLprim {name=name, instances=map (on_tau ren) instances, + in CCALLprim {name=name, instances=map (on_tau ren) instances, regvars=regvars, tyvars=map (on_tv ren_local) tyvars, Type=on_tau ren_local Type} (*the type scheme (tyvars, Type) is for a special purpose in the region infere nce and back end; it must not be changed; we must rename bound @@ -615,9 +615,8 @@ structure LambdaBasics: LAMBDA_BASICS = | REFprim {instance,regvar} => REFprim{instance=on_Type S instance,regvar=regvar} | ASSIGNprim {instance} => ASSIGNprim{instance=on_Type S instance} | EQUALprim {instance} => EQUALprim{instance=on_Type S instance} - | CCALLprim {name, instances, tyvars, Type} => - CCALLprim {name=name, instances=map (on_Type S) instances, - tyvars=tyvars, Type=Type} + | CCALLprim {name, instances, regvars, tyvars, Type} => + CCALLprim {name=name, instances=map (on_Type S) instances, regvars=regvars, tyvars=tyvars, Type=Type} (*the type scheme (tyvars, Type) is for a special purpose in the region inference and back end; it is closed (i.e., ftv(Type) \subseteq {tyvars}) *) | RESET_REGIONSprim {instance, regvars} => RESET_REGIONSprim{instance=on_Type S instance, regvars=regvars} diff --git a/src/Compiler/Lambda/LambdaExp.sml b/src/Compiler/Lambda/LambdaExp.sml index c2fb3578c..2e855f1b0 100644 --- a/src/Compiler/Lambda/LambdaExp.sml +++ b/src/Compiler/Lambda/LambdaExp.sml @@ -110,8 +110,12 @@ structure LambdaExp : LAMBDA_EXP = | RaisedExnBind datatype 'Type prim = (* The primitives are always fully applied ! *) - CONprim of {con : con, instances : 'Type list, regvar: regvar option} - | DECONprim of {con : con, instances : 'Type list, lv_opt:lvar option} + CONprim of {con : con, + instances : 'Type list, + regvar: regvar option} + | DECONprim of {con : con, + instances : 'Type list, + lv_opt:lvar option} | EXCONprim of excon | DEEXCONprim of excon | RECORDprim of {regvar:regvar option} @@ -119,11 +123,13 @@ structure LambdaExp : LAMBDA_EXP = | UB_RECORDprim (* Unboxed record. *) | DROPprim | DEREFprim of {instance: 'Type} - | REFprim of {instance: 'Type,regvar:regvar option} + | REFprim of {instance: 'Type, + regvar:regvar option} | ASSIGNprim of {instance: 'Type} | EQUALprim of {instance: 'Type} | CCALLprim of {name : string, (* Primitives, etc. *) instances : 'Type list, + regvars : regvar list, tyvars : tyvar list, Type : 'Type} | BLOCKF64prim @@ -131,10 +137,12 @@ structure LambdaExp : LAMBDA_EXP = | EXPORTprim of {name : string, instance_arg : 'Type, instance_res : 'Type} - | RESET_REGIONSprim of {instance: 'Type, regvars: regvar list} (* NOT Standard ML, for programmer-directed, - * but safe, resetting of regions *) - | FORCE_RESET_REGIONSprim of {instance: 'Type, regvars: regvar list} (* NOT Standard ML, for programmer-controlled, - * unsafe resetting of regions *) + | RESET_REGIONSprim of {instance: 'Type, + regvars: regvar list} (* NOT Standard ML, for programmer-directed, + * but safe, resetting of regions *) + | FORCE_RESET_REGIONSprim of {instance: 'Type, + regvars: regvar list} (* NOT Standard ML, for programmer-controlled, + * unsafe resetting of regions *) datatype LambdaPgm = PGM of datbinds * LambdaExp @@ -233,7 +241,7 @@ structure LambdaExp : LAMBDA_EXP = | REFprim{instance,regvar} => (foldType g) acc instance | ASSIGNprim{instance} => (foldType g) acc instance | EQUALprim{instance} => (foldType g) acc instance - | CCALLprim {instances, ...} => foldl' (foldType g) acc instances + | CCALLprim {instances, regvars, ...} => foldl' (foldType g) acc instances | EXPORTprim {instance_arg,instance_res, ...} => (foldType g) ((foldType g) acc instance_arg) instance_res | RESET_REGIONSprim{instance, regvars} => (foldType g) acc instance | FORCE_RESET_REGIONSprim{instance, regvars} => (foldType g) acc instance @@ -647,10 +655,16 @@ structure LambdaExp : LAMBDA_EXP = | CCALLprim{name="__greatereq_word63", ...} => PP.LEAF(">=") | CCALLprim{name="__greatereq_word64", ...} => PP.LEAF(">=") - | CCALLprim {name, instances, tyvars, Type} => + | CCALLprim {name, instances, regvars, tyvars, Type} => if !Flags.print_types then - PP.NODE {start="ccall (" ^ name ^ " ", finish=")", indent=2, - children=map layoutType instances, childsep=PP.LEFT ", "} + let + (* layout_instances function is not in scope *) + val layout_instances = PP.NODE {start="<", finish=">", indent=2, + children=map layoutType instances, childsep=PP.LEFT ", "} + in + PP.NODE {start="ccall (" ^ name ^ " ", finish=")", indent=2, + children=[layout_instances, layoutRegVars regvars], childsep=PP.RIGHT ","} + end else if !barify_p then (case name of @@ -1568,9 +1582,11 @@ structure LambdaExp : LAMBDA_EXP = (Pickle.convert(fn t => {instance=t},#instance) pu_Type) fun fun_CCALLprim _ = Pickle.con1 CCALLprim (fn CCALLprim a => a | _ => die "pu_prim.CCALLprim") - (Pickle.convert (fn (n,il,(tvs,t)) => {name=n,instances=il,tyvars=tvs,Type=t}, - fn {name=n,instances=il,tyvars=tvs,Type=t} => (n,il,(tvs,t))) - (Pickle.tup3Gen0 (Pickle.string,pu_Types,pu_TypeScheme))) + (Pickle.convert (fn (n,il,rvs,(tvs,t)) + => {name=n,instances=il, regvars=rvs,tyvars=tvs,Type=t}, + fn {name=n,instances=il, regvars=rvs,tyvars=tvs,Type=t} + => (n,il,rvs,(tvs,t))) + (Pickle.tup4Gen0 (Pickle.string,pu_Types,Pickle.listGen RegVar.pu,pu_TypeScheme))) fun fun_EXPORTprim _ = Pickle.con1 EXPORTprim (fn EXPORTprim a => a | _ => die "pu_prim.EXPORTprim") (Pickle.convert (fn (n,i1,i2) => {name=n,instance_arg=i1,instance_res=i2}, @@ -1891,7 +1907,7 @@ structure LambdaExp : LAMBDA_EXP = | REFprim{instance,regvar} => tyvars_Type s instance acc | ASSIGNprim{instance} => tyvars_Type s instance acc | EQUALprim{instance} => tyvars_Type s instance acc - | CCALLprim {instances, tyvars, Type, ...} => + | CCALLprim {instances, regvars, tyvars, Type, ...} => tyvars_Types s instances (tyvars_Scheme s (tyvars, Type) acc) | BLOCKF64prim => acc | SCRATCHMEMprim _ => acc diff --git a/src/Compiler/Lambda/LambdaStatSem.sml b/src/Compiler/Lambda/LambdaStatSem.sml index 24ecf6d80..3ef864edc 100644 --- a/src/Compiler/Lambda/LambdaStatSem.sml +++ b/src/Compiler/Lambda/LambdaStatSem.sml @@ -709,7 +709,7 @@ structure LambdaStatSem: LAMBDA_STAT_SEM = end | _ => die "EQUALprim.Wrong instance kind") | _ => die "EQUALprim.Wrong number of args") - | CCALLprim {name, instances, tyvars, Type} => + | CCALLprim {name, instances, regvars, tyvars, Type} => (valid_ts env instances; valid_s env (tyvars,Type); case mk_instance_ccall ((tyvars, Type), instances) of diff --git a/src/Compiler/Lambda/OptLambda.sml b/src/Compiler/Lambda/OptLambda.sml index 4d9bd3ea3..e0f364c94 100644 --- a/src/Compiler/Lambda/OptLambda.sml +++ b/src/Compiler/Lambda/OptLambda.sml @@ -293,7 +293,7 @@ structure OptLambda : OPT_LAMBDA = local type exp = LambdaExp fun ccall name argtypes restype = - CCALLprim {name=name,instances=[],tyvars=[], + CCALLprim {name=name,instances=[],regvars=[],tyvars=[], Type=ARROWtype(argtypes,NONE,[restype],NONE)} fun f64_bin opr (x:exp,y:exp) : exp = PRIM(ccall ("__" ^ opr ^ "_f64") [f64Type,f64Type] f64Type, [x,y]) @@ -464,7 +464,7 @@ structure OptLambda : OPT_LAMBDA = | (EQUALprim {instance=t}, EQUALprim {instance=t'}) => eq_Type(t,t') | (RESET_REGIONSprim {instance=t, regvars=rvs}, RESET_REGIONSprim {instance=t', regvars=rvs'}) => eq_Type(t,t') | (FORCE_RESET_REGIONSprim {instance=t, regvars=rvs}, FORCE_RESET_REGIONSprim {instance=t', regvars=rvs'}) => eq_Type(t,t') - | (CCALLprim{name=n,instances=il,tyvars=tvs,Type=t}, CCALLprim{name=n',instances=il',tyvars=tvs',Type=t'}) => + | (CCALLprim{name=n,instances=il,regvars=rvs,tyvars=tvs,Type=t}, CCALLprim{name=n',instances=il',regvars=rvs',tyvars=tvs',Type=t'}) => n = n' andalso eq_Types (il,il') andalso eq_sigma((tvs,t),(tvs',t')) | (EXPORTprim{name=n,instance_arg=a,instance_res=r}, EXPORTprim{name=n',instance_arg=a',instance_res=r'}) => n = n' andalso eq_Type(a,a') andalso eq_Type(r,r') @@ -1581,7 +1581,7 @@ structure OptLambda : OPT_LAMBDA = if not(constant_folding_p()) then NONE else case lamb of - PRIM(CCALLprim{name,instances,tyvars,Type},exps) => + PRIM(CCALLprim{name,instances,regvars,tyvars,Type},exps) => let fun Some e = SOME(name,e) in case exps of [STRING (s1,NONE),STRING (s2,NONE)] => @@ -2255,12 +2255,12 @@ structure OptLambda : OPT_LAMBDA = | ("__abs_real",[x]) => reduce_f64uno f64_abs x | ("realInt",[x]) => (tick "real_to_f64"; - (f64_to_real (PRIM(CCALLprim {name="__int_to_f64",instances=[],tyvars=[], + (f64_to_real (PRIM(CCALLprim {name="__int_to_f64",instances=[],regvars=[],tyvars=[], Type=ARROWtype([intDefaultType()],NONE,[f64Type],NONE)}, [x])), CUNKNOWN)) | ("__real_to_int",[x]) => (tick "real_to_f64"; - (PRIM(CCALLprim{name="__f64_to_int",instances=[],tyvars=[], + (PRIM(CCALLprim{name="__f64_to_int",instances=[],regvars=[],tyvars=[], Type=ARROWtype([f64Type],NONE,[intDefaultType()],NONE)}, [real_to_f64 x]), CUNKNOWN)) | ("__less_real",[x,y]) => reduce_f64cmp f64_less (x,y) @@ -2273,7 +2273,7 @@ structure OptLambda : OPT_LAMBDA = ARROWtype(argTypes, _, _, _) => argTypes | _ => die "prim(__blockf64_sub_real): expecting arrow type" in tick "real_to_f64"; - (f64_to_real (PRIM(CCALLprim{name="__blockf64_sub_f64",instances=[],tyvars=[], + (f64_to_real (PRIM(CCALLprim{name="__blockf64_sub_f64",instances=[],regvars=[],tyvars=[], Type=ARROWtype(argTypes,NONE,[f64Type],NONE)}, [t,i])), CUNKNOWN) @@ -2284,7 +2284,7 @@ structure OptLambda : OPT_LAMBDA = ARROWtype([bType,iType,_], _, _, _) => (bType,iType) | _ => die "prim(__blockf64_update_real): expecting arrow type with three args" in tick "real_to_f64"; - (PRIM(CCALLprim{name="__blockf64_update_f64",instances=[],tyvars=[], + (PRIM(CCALLprim{name="__blockf64_update_f64",instances=[],regvars=[],tyvars=[], Type=ARROWtype([bType,iType,f64Type],NONE,[unitType],NONE)}, [t,i,#1(reduce(env,(real_to_f64 v,CUNKNOWN)))]), CUNKNOWN) @@ -3814,14 +3814,14 @@ structure OptLambda : OPT_LAMBDA = end fun assign tyvars aType instances a (i:int) e = let val iType = intDefaultType() - in PRIM(CCALLprim{name="word_update0",instances=instances,tyvars=tyvars, + in PRIM(CCALLprim{name="word_update0",instances=instances,regvars=[],tyvars=tyvars, Type=ARROWtype([aType,iType,iType],NONE,[unit_Type],NONE)}, [a,INTEGER(IntInf.fromInt i,iType),e]) end in fun table2d_simplify lamb = case lamb of - PRIM(CCALLprim{name="word_table2d0",instances,tyvars, + PRIM(CCALLprim{name="word_table2d0",instances,regvars,tyvars, Type=ARROWtype([iType,_,_],rv0,[aType],rv)},lambs) => (case map table2d_simplify lambs of [n,nr,nc] => @@ -3832,13 +3832,13 @@ structure OptLambda : OPT_LAMBDA = val S = mk_subst (fn () => "table2d_simplify.word_table2d0") (tyvars,instances) val aType' = on_Type S aType in LET{pat=[(lv,nil,aType')], - bind=PRIM(CCALLprim{name="word_table0",instances=instances, + bind=PRIM(CCALLprim{name="word_table0",instances=instances,regvars=regvars, tyvars=tyvars, Type=ARROWtype([iType],rv0,[aType],rv)},[n]), scope=exec e0 (exec e1 a)} end | _ => die "table2d_simplify: word_table2d0") - | PRIM(CCALLprim{name="word_table2d0_init",instances,tyvars, + | PRIM(CCALLprim{name="word_table2d0_init",instances,regvars,tyvars, Type=ARROWtype([iType,eType,_,_],rv0,[aType],rv)},lambs) => (case map table2d_simplify lambs of [n,e,nr,nc] => @@ -3850,7 +3850,7 @@ structure OptLambda : OPT_LAMBDA = val aType' = on_Type S aType in LET{pat=[(lv,nil,aType')], bind=PRIM(CCALLprim{name="word_table_init",instances=instances, - tyvars=tyvars, + regvars=regvars,tyvars=tyvars, Type=ARROWtype([iType,eType],rv0,[aType],rv)},[n,e]), scope=exec e0 (exec e1 a)} end diff --git a/src/Compiler/Regions/DropRegions.sml b/src/Compiler/Regions/DropRegions.sml index 9b205b873..8651981fd 100644 --- a/src/Compiler/Regions/DropRegions.sml +++ b/src/Compiler/Regions/DropRegions.sml @@ -69,7 +69,7 @@ structure DropRegions: DROP_REGIONS = (if bot_region rho then unvisit rho else (); unvisit_bot_rhos rhos) val _ = visit_put_rhos arreffs - val _ = unvisit_bot_rhos places + (* val _ = unvisit_bot_rhos places *) val bl = map is_visited places in reset_bucket(); bl end @@ -336,14 +336,15 @@ structure DropRegions: DROP_REGIONS = ateffs,mulef), tr2) => (case lookup lvar_env lvar of SOME (FIXBOUND bool_list) => - let + let val actuals' = filter_bl(bool_list,actuals) val acc = List.foldl (maybe_add regvar_env) acc actuals' val (tr2', acc) = drop env tr2 acc - val actuals' = map S actuals' - in (APP(ck,sr,TR(VAR{lvar=lvar,il=il,plain_arreffs=plain_arreffs,fix_bound=fix_bound, - rhos_actuals=ref actuals',other=other},metaType,ateffs,mulef), - tr2'), acc) + val actuals' = map S actuals' + in + (APP(ck,sr,TR(VAR{lvar=lvar,il=il,plain_arreffs=plain_arreffs,fix_bound=fix_bound, + rhos_actuals=ref actuals',other=other},metaType,ateffs,mulef), + tr2'), acc) end | _ => (case (fix_bound, actuals) of (false, []) => diff --git a/src/Compiler/Regions/REGION_EXP.sml b/src/Compiler/Regions/REGION_EXP.sml index d00e25b31..258abf27f 100644 --- a/src/Compiler/Regions/REGION_EXP.sml +++ b/src/Compiler/Regions/REGION_EXP.sml @@ -96,9 +96,9 @@ signature REGION_EXP = sig | DROP of ('a,'b)trip (* to do wild cards properly; drops the type *) | EQUAL of {mu_of_arg1: mu, mu_of_arg2: mu} * ('a,'b)trip * ('a,'b)trip | CCALL of {name : string, - mu_result : mu, (*mu of result from c function*) - rhos_for_result : ('a * int option) list} - * ('a,'b)trip list (* Calling C functions *) + mu_result : mu, (*mu of result from c function*) + rhos_for_result : ('a * int option) list} + * ('a,'b)trip list (* Calling C functions *) | BLOCKF64 of 'a * ('a,'b)trip list | SCRATCHMEM of int * 'a (* bytes; type string *) diff --git a/src/Compiler/Regions/RegionExp.sml b/src/Compiler/Regions/RegionExp.sml index 8258f877a..1c16b57e0 100644 --- a/src/Compiler/Regions/RegionExp.sml +++ b/src/Compiler/Regions/RegionExp.sml @@ -109,9 +109,9 @@ datatype ('a,'b) LambdaPgm = PGM of | DROP of ('a,'b)trip (* to do wild cards properly; drops the type *) | EQUAL of {mu_of_arg1: mu, mu_of_arg2: mu} * ('a,'b)trip * ('a,'b)trip | CCALL of {name : string, - mu_result : mu, (*mu of result from c function*) - rhos_for_result : ('a * int option) list} - * ('a,'b)trip list (* Calling C functions *) + mu_result : mu, (*mu of result from c function*) + rhos_for_result : ('a * int option) list} + * ('a,'b)trip list (* Calling C functions *) | BLOCKF64 of 'a * ('a,'b)trip list | SCRATCHMEM of int * 'a (* bytes; type string *) diff --git a/src/Compiler/Regions/RegionStatEnv.sml b/src/Compiler/Regions/RegionStatEnv.sml index f54521dd5..3c3d46a83 100644 --- a/src/Compiler/Regions/RegionStatEnv.sml +++ b/src/Compiler/Regions/RegionStatEnv.sml @@ -203,11 +203,11 @@ structure RegionStatEnv: REGION_STAT_ENV = ("e0", E.toplevel_arreff)]) val initial: regionStatEnv = {tyname_env = tyname_env0, - con_env = conenv0, - excon_env = excon_env0, - lvar_env = LvarMap.empty, - regvar_env = regvar_env0, - tyvar_env = L.TyvarMap.empty} + con_env = conenv0, + excon_env = excon_env0, + lvar_env = LvarMap.empty, + regvar_env = regvar_env0, + tyvar_env = L.TyvarMap.empty} fun declareTyName (tyname,arity,{tyname_env, con_env,excon_env, lvar_env,regvar_env,tyvar_env}) = diff --git a/src/Compiler/Regions/SpreadExpression.sml b/src/Compiler/Regions/SpreadExpression.sml index 055e5cd46..468f4c0f9 100644 --- a/src/Compiler/Regions/SpreadExpression.sml +++ b/src/Compiler/Regions/SpreadExpression.sml @@ -1339,7 +1339,8 @@ good *) (* MEMO: maybe we should add mut-effects for functions that mutate values... *) - | E.PRIM (E.CCALLprim {name, instances, tyvars, Type}, es) => + (* How do we pass regvars as arguments to c functions? *) + | E.PRIM (E.CCALLprim {name, instances, regvars, tyvars, Type}, es) => (let val B = pushIfNotTopLevel (toplevel, B) (* for retract *) val (B, sigma) = let val B = Eff.push B (* for sigma *) @@ -1354,6 +1355,11 @@ good *) (*much of the rest is analogous to the case for (APP (VAR ..., ...))*) val (B, tau, _) = newInstance (NONE,B, sigma, instances) handle X => (print "CCALL-2\n"; raise X) + val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of + NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") + | SOME p => (p, NONE)) regvars + val rhos = Eff.remove_duplicates (map #1 regvars') + val regvars_phi = Eff.mkUnion(map Eff.mkPut rhos) in (case R.unFUN tau of SOME (mus_a, eps_phi0, [mu_r]) => @@ -1373,9 +1379,9 @@ good *) else R.c_function_effects (sigma,mu_r) handle X => (print "CCALL-4\n"; raise X) val e' = E'.CCALL ({name = name, mu_result = mu_r, - rhos_for_result = rhos_for_result}, trs') + rhos_for_result = regvars' @ rhos_for_result}, trs') in - retract (B, E'.TR (e', E'.Mus [mu_r], Eff.mkUnion (eps_phi0 :: phis)), + retract (B, E'.TR (e', E'.Mus [mu_r], Eff.mkUnion (eps_phi0 :: regvars_phi :: phis)), NOTAIL, tvs) end @@ -1455,65 +1461,66 @@ good *) | _ => die "EXPORT: function does not have function type" end handle X => (print "EXPORT-1\n"; raise X)) - | E.PRIM(E.RESET_REGIONSprim{instance = _, regvars = regvars}, (* [e0 as (E.VAR _), e1] *) [e0] ) => - (* - x => [mu], empty rho fresh - ----------------------------------- - resetRegions x : [(unit,rho)], phi - - where phi = {Put rho} u {Put rho' | rho' in frv(mu)} - and x has to be lambda-bound. The put effects on frv(mu) ensure - that these regions are not removed by dropping of Put regions; - these puts should not be added in the multiplicity inference. - *) - let - val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) - val mus0 = unMus "S.RESET_REGIONSprim" meta0 - val mu = R.unitType - val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of - NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") - | SOME p => p) regvars - val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) - val phi = Eff.mkUnion(map Eff.mkPut rhos) - in - case e' of - E'.VAR{il_r as ref il, ...} => - (case R.un_il (#1 il) of ([],[],[]) => - (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), - NOTAIL, - tvs) - | _ => crash_resetting false) - | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) - (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), - NOTAIL, - tvs) - | _ => crash_resetting false - end - | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _, regvars = regvars}, [e0] ) => - (* same as RESET_REGIONSprim, except that "force" is set to true in the result *) - let - val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) - val mus0 = unMus "S.FORCE_RESET_REGIONSprim" meta0 - val mu = R.unitType - val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of - NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") - | SOME p => p) regvars - val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) - val phi = Eff.mkUnion(map Eff.mkPut rhos) - in - case e' of - E'.VAR{il_r as ref il, ...} => - (case R.un_il (#1 il) of ([],[],[]) => - (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), - NOTAIL, - tvs) - | _ => crash_resetting true) - | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) - (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), - NOTAIL, - tvs) - | _ => crash_resetting true - end + | E.PRIM(E.RESET_REGIONSprim{instance = _, regvars = regvars}, (* [e0 as (E.VAR _), e1] *) [e0] ) => + (* + x => [mu], empty rho fresh + ----------------------------------- + resetRegions x : [(unit,rho)], phi + + where phi = {Put rho} u {Put rho' | rho' in frv(mu)} + and x has to be lambda-bound. The put effects on frv(mu) ensure + that these regions are not removed by dropping of Put regions; + these puts should not be added in the multiplicity inference. + *) + let + val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) + val mus0 = unMus "S.RESET_REGIONSprim" meta0 + val mu = R.unitType + val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of + NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") + | SOME p => p) regvars + val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) + val phi = Eff.mkUnion(map Eff.mkPut rhos) + in + case e' of + E'.VAR{il_r as ref il, ...} => + (case R.un_il (#1 il) of ([],[],[]) => + (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), + NOTAIL, + tvs) + | _ => crash_resetting false) + | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) + (B,E'.TR(E'.RESET_REGIONS({force=false, regions_for_resetting = regvars'},t), E'.Mus [mu], phi), + NOTAIL, + tvs) + | _ => crash_resetting false + end + + | E.PRIM(E.FORCE_RESET_REGIONSprim{instance = _, regvars = regvars}, [e0] ) => + (* same as RESET_REGIONSprim, except that "force" is set to true in the result *) + let + val (B, t as E'.TR(e',meta0,_), _, tvs) = S(B,e0,false,NOTAIL) + val mus0 = unMus "S.FORCE_RESET_REGIONSprim" meta0 + val mu = R.unitType + val regvars' = map (fn rv => case RSE.lookupRegVar rse rv of + NONE => deepError rv ("Explicit region variable " ^ RegVar.pr rv ^ " not in scope") + | SOME p => p) regvars + val rhos = Eff.remove_duplicates (List.filter Eff.is_rho (R.ann_mus mus0 regvars')) + val phi = Eff.mkUnion(map Eff.mkPut rhos) + in + case e' of + E'.VAR{il_r as ref il, ...} => + (case R.un_il (#1 il) of ([],[],[]) => + (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), + NOTAIL, + tvs) + | _ => crash_resetting true) + | E'.RECORD(NONE, nil) => (* Allows resetting of unit type *) + (B,E'.TR(E'.RESET_REGIONS({force=true, regions_for_resetting = regvars'}, t), E'.Mus [mu], phi), + NOTAIL, + tvs) + | _ => crash_resetting true + end | E.FRAME{declared_lvars, declared_excons} => let diff --git a/src/Runtime/Region.c b/src/Runtime/Region.c index b632cb7d9..ee00930f3 100644 --- a/src/Runtime/Region.c +++ b/src/Runtime/Region.c @@ -318,6 +318,69 @@ NoOfPagesInRegion(Region r) #endif /* ENABLE_GEN_GC */ } +/* Check if a region is infinite. */ +size_t is_Inf (Region r) { + return convertBoolToML(is_inf(r)); +} + +/* Check if a region is at bottom. */ +size_t is_Atbot (Region r) { + return convertBoolToML(is_atbot(r)); +} + +/* Get number of pages in a region. */ +size_t num_Pages (Region r) { + Region r_cleared = clearStatusBits(r); + return convertIntToML(NoOfPagesInRegion(r_cleared)); +} + +/* Get size of a region page. */ +size_t get_Page_Size_Bytes () { + return convertIntToML(REGION_PAGE_SIZE_BYTES); +} + +/* Get the size of the free list */ +size_t get_Free_List_Size_Bytes () { + return convertIntToML(size_free_list()*REGION_PAGE_SIZE_BYTES); +} + +/* Get total number of region pages allocated */ +size_t get_Total_Region_Pages_Allocated (){ + return convertIntToML(rp_total); +} + +/* Get the memory usage of all region pages allocated */ +size_t get_Total_Region_Pages_Allocated_Bytes (){ + return convertIntToML(rp_total*REGION_PAGE_SIZE_BYTES); +} + +/* Get the memory usage of a region */ +size_t get_Region_Memory_Usage_Bytes (Region r) { + Region r_cleared = clearStatusBits(r); + return convertIntToML(NoOfPagesInRegion(r_cleared)*REGION_PAGE_SIZE_BYTES - + freeInRegion(r_cleared)*WORD_SIZE_BYTES); +} + +/* Get number of allocated region pages, including free list */ +size_t num_Allocated_Pages () { + return convertIntToML(rp_total); +} + +/* Get memory usage of allocated region pages, including free list*/ +size_t get_Allocated_Memory_Bytes () { + return convertIntToML(rp_total*REGION_PAGE_SIZE_BYTES); +} + +/* Get number of allocated region pages, excluding free list */ +size_t num_Used_Pages () { + return convertIntToML(rp_total - size_free_list()); +} + +/* Get memory usage of allocated region pages, excluding free list*/ +size_t get_Used_Memory_Bytes () { + return convertIntToML((rp_total - size_free_list())*REGION_PAGE_SIZE_BYTES); +} + /* void printFreeList() diff --git a/src/Runtime/Region.h b/src/Runtime/Region.h index 2c2080d44..4bfcc1413 100644 --- a/src/Runtime/Region.h +++ b/src/Runtime/Region.h @@ -165,7 +165,7 @@ typedef struct rp { * index parameter. -- mael 2001-09-13 */ /* For tag-free garbage collection of pairs, triples, and refs, we - * make sure that large objects are aligned on 1K boundaries, which + * make sure that large objects are aligned on region page boundaries, which * makes it possible to determine if a pointer points into the stack, * constants in data space, a region in from-space, or a region in * to-space. The orig pointer points back to the memory allocated by @@ -573,5 +573,6 @@ void pp_gen(Gen *gen); void chk_obj_in_gen(Gen *gen, uintptr_t *obj_ptr, char* s); void free_lobjs(Lobjs* lobjs); +size_t is_Inf(Region r); #endif /*REGION_H*/ diff --git a/test/region_info/getFreeListSize.mlb b/test/region_info/getFreeListSize.mlb new file mode 100644 index 000000000..181ed69f2 --- /dev/null +++ b/test/region_info/getFreeListSize.mlb @@ -0,0 +1,3 @@ +$(SML_LIB)/basis/reml.mlb +$(SML_LIB)/basis/basis.mlb +getFreeListSize.sml diff --git a/test/region_info/getFreeListSize.sml b/test/region_info/getFreeListSize.sml new file mode 100644 index 000000000..fee521e3e --- /dev/null +++ b/test/region_info/getFreeListSize.sml @@ -0,0 +1,8 @@ +fun test () = + let + val getFreeListSizeBytes = Regions.getFreeListSizeBytes () + in + print ("Size of the freelist is: " ^ Int.toString getFreeListSizeBytes ^ " bytes\n") + end + +val _ = test () diff --git a/test/region_info/getMemoryOfRegion.mlb b/test/region_info/getMemoryOfRegion.mlb new file mode 100644 index 000000000..39e0a63b3 --- /dev/null +++ b/test/region_info/getMemoryOfRegion.mlb @@ -0,0 +1,3 @@ +$(SML_LIB)/basis/reml.mlb +$(SML_LIB)/basis/basis.mlb +getMemoryOfRegion.sml diff --git a/test/region_info/getMemoryOfRegion.sml b/test/region_info/getMemoryOfRegion.sml new file mode 100644 index 000000000..af5ef40f4 --- /dev/null +++ b/test/region_info/getMemoryOfRegion.sml @@ -0,0 +1,10 @@ +fun test () = + let with r_test + val s : string`r_test = "Test1 and Test2 and test3\n" + val memoryUsage = Regions.memoryUsage `[r_test] () + in + (print ("Memory usage of the region is: " ^ Int.toString memoryUsage ^ " bytes\n"); + s ^ "and test4\n") + end + +val _ = test () diff --git a/test/region_info/getPageSize.mlb b/test/region_info/getPageSize.mlb new file mode 100644 index 000000000..1889e124e --- /dev/null +++ b/test/region_info/getPageSize.mlb @@ -0,0 +1,3 @@ +$(SML_LIB)/basis/reml.mlb +$(SML_LIB)/basis/basis.mlb +getPageSize.sml diff --git a/test/region_info/getPageSize.sml b/test/region_info/getPageSize.sml new file mode 100644 index 000000000..3f3409cde --- /dev/null +++ b/test/region_info/getPageSize.sml @@ -0,0 +1,8 @@ +fun test () = + let + val getPageSizeBytes = Regions.getPageSizeBytes () + in + print ("Page size is: " ^ Int.toString getPageSizeBytes ^ " bytes\n") + end + +val _ = test () diff --git a/test/region_info/isAtbot.mlb b/test/region_info/isAtbot.mlb new file mode 100644 index 000000000..cd90e58db --- /dev/null +++ b/test/region_info/isAtbot.mlb @@ -0,0 +1,3 @@ +$(SML_LIB)/basis/reml.mlb +$(SML_LIB)/basis/basis.mlb +isAtbot.sml diff --git a/test/region_info/isAtbot.sml b/test/region_info/isAtbot.sml new file mode 100644 index 000000000..270907ac9 --- /dev/null +++ b/test/region_info/isAtbot.sml @@ -0,0 +1,19 @@ +fun test () = + let with r_test + val s : string`r_test = "Test1 and Test2\n" + val is_atbot = Regions.isAtbot `[r_test] () + in + (print ("String isAtbot: " ^ (if is_atbot then "true\n" else "false\n")); + s ^ "test3\n") + end + +fun test2 () = + let with r_test2 + val s : string`r_test = "Test1 and Test2\n" + val is_atbot = Regions.isAtbot `[r_test2] () + in + print ("String isAtbot: " ^ (if is_atbot then "true\n" else "false\n")) + end + +val _ = test () +val _ = test2 () diff --git a/test/region_info/isInfinite.mlb b/test/region_info/isInfinite.mlb new file mode 100644 index 000000000..a4596b043 --- /dev/null +++ b/test/region_info/isInfinite.mlb @@ -0,0 +1,3 @@ +$(SML_LIB)/basis/reml.mlb +$(SML_LIB)/basis/basis.mlb +isInfinite.sml diff --git a/test/region_info/isInfinite.sml b/test/region_info/isInfinite.sml new file mode 100644 index 000000000..20afdc552 --- /dev/null +++ b/test/region_info/isInfinite.sml @@ -0,0 +1,17 @@ +fun test () = + let with r_test rs + val s : string`r_test = "Test1 and Test2\n" + val is_infinite = Regions.isInfiniteRegion `[r_test] () + in + (print (if is_infinite then "true\n" else "false\n"); + print s) + end + +fun test2 `[rs] () = + let + val is_infinite = Regions.isInfiniteRegion `[rs] () + in + print (if is_infinite then "true\n" else "false\n") + end + +val _ = test () diff --git a/test/region_info/numAllocatedPages.mlb b/test/region_info/numAllocatedPages.mlb new file mode 100644 index 000000000..8af34b951 --- /dev/null +++ b/test/region_info/numAllocatedPages.mlb @@ -0,0 +1,3 @@ +$(SML_LIB)/basis/reml.mlb +$(SML_LIB)/basis/basis.mlb +numAllocatedPages.sml diff --git a/test/region_info/numAllocatedPages.sml b/test/region_info/numAllocatedPages.sml new file mode 100644 index 000000000..bc6b8a222 --- /dev/null +++ b/test/region_info/numAllocatedPages.sml @@ -0,0 +1,10 @@ +fun test () = + let with r_test + val s : string`r_test = "Test1 and Test2 and test3\n" + val numAllocatedPages = Regions.numAllocatedPages () + in + (print ("Total number of allocated pages " ^ Int.toString numAllocatedPages ^ "\n"); + s ^ "and test4\n") + end + +val _ = test () diff --git a/test/region_info/numPages.mlb b/test/region_info/numPages.mlb new file mode 100644 index 000000000..1fd45c26c --- /dev/null +++ b/test/region_info/numPages.mlb @@ -0,0 +1,3 @@ +$(SML_LIB)/basis/reml.mlb +$(SML_LIB)/basis/basis.mlb +numPages.sml diff --git a/test/region_info/numPages.sml b/test/region_info/numPages.sml new file mode 100644 index 000000000..f8f137eb2 --- /dev/null +++ b/test/region_info/numPages.sml @@ -0,0 +1,10 @@ +fun test () = + let with r_test + val s : string`r_test = "Test1 and Test2\n" + val num_pages = Regions.numPages `[r_test] () + in + (print ("Number of pages: " ^ Int.toString num_pages ^ "\n"); + s ^ "test3\n") + end + +val _ = test () diff --git a/test/region_info/run b/test/region_info/run new file mode 100755 index 0000000000000000000000000000000000000000..dac3c183ee31b8da3b7f631ff85d4822fd1789e6 GIT binary patch literal 1192472 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� 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 HT$RD~|s#J;C9a6#q6kuB4VJiX)dYraBzc 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