From cd73105dffc2ecb3266926e9a8a8e0b8b95c8b84 Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Mon, 3 Jun 2019 09:14:23 -0700 Subject: [PATCH] refactor(kernel/environment,library/private,library/init/lean/environment): move main module name to header --- library/init/lean/environment.lean | 8 +- src/kernel/environment.cpp | 10 + src/kernel/environment.h | 4 + src/library/private.cpp | 9 +- src/library/private.h | 1 - src/shell/lean.cpp | 4 +- .../init/data/persistentarray/basic.cpp | 181 ++++++------------ src/stage0/init/data/string/basic.cpp | 14 +- .../init/lean/compiler/constfolding.cpp | 143 +++++++------- src/stage0/init/lean/environment.cpp | 26 ++- src/stage0/init/lean/extern.cpp | 3 +- src/stage0/init/lean/parser/stringliteral.cpp | 31 +-- src/stage0/init/lean/parser/token.cpp | 35 ++-- 13 files changed, 194 insertions(+), 275 deletions(-) diff --git a/library/init/lean/environment.lean b/library/init/lean/environment.lean index 53614c801e..3636287bf5 100644 --- a/library/init/lean/environment.lean +++ b/library/init/lean/environment.lean @@ -56,10 +56,14 @@ env.constants.contains n def imports (env : Environment) : Array Name := env.header.imports -@[export lean.environment_set_main_module_name_core] -def setMainModuleName (env : Environment) (m : Name) : Environment := +@[export lean.environment_set_main_module_core] +def setMainModule (env : Environment) (m : Name) : Environment := { header := { mainModule := m, .. env.header }, .. env } +@[export lean.environment_main_module_core] +def mainModule (env : Environment) : Name := +env.header.mainModule + /- Switch environment to "shared" mode. -/ @[export lean.environment_switch_core] private def switch (env : Environment) : Environment := diff --git a/src/kernel/environment.cpp b/src/kernel/environment.cpp index 86d8b7822c..ed3b335ab6 100644 --- a/src/kernel/environment.cpp +++ b/src/kernel/environment.cpp @@ -26,6 +26,8 @@ object* register_extension_core(object*); object* get_extension_core(object*, object*); object* set_extension_core(object*, object*, object*); object* environment_switch_core(object*); +object * environment_set_main_module_core(object*, object*); +object * environment_main_module_core(object*); object* mk_empty_environment(uint32 trust_lvl) { object* r = mk_empty_environment_core(trust_lvl, io_mk_world()); @@ -41,6 +43,14 @@ environment::environment(unsigned trust_lvl): object_ref(environment_switch_core(mk_empty_environment(trust_lvl))) { } +void environment::set_main_module(name const & n) { + m_obj = environment_set_main_module_core(m_obj, n.to_obj_arg()); +} + +name environment::get_main_module() const { + return name(environment_main_module_core(to_obj_arg()), true); +} + unsigned environment::trust_lvl() const { return environment_trust_level_core(to_obj_arg()); } diff --git a/src/kernel/environment.h b/src/kernel/environment.h index 8b05cbd8b8..21ecf350df 100644 --- a/src/kernel/environment.h +++ b/src/kernel/environment.h @@ -61,6 +61,10 @@ public: bool is_quot_initialized() const; + void set_main_module(name const & n); + + name get_main_module() const; + /** \brief Return information for the constant with name \c n (if it is defined in this environment). */ optional find(name const & n) const; diff --git a/src/library/private.cpp b/src/library/private.cpp index c1d5f002a1..193e421bd0 100644 --- a/src/library/private.cpp +++ b/src/library/private.cpp @@ -18,7 +18,6 @@ struct private_ext : public environment_extension { /* We store private prefixes to make sure register_private_name is used correctly. This information does not need to be stored in .olean files. */ name_set m_private_prefixes; - name m_mod_name; private_ext():m_counter(1) {} }; @@ -35,12 +34,6 @@ static environment update(environment const & env, private_ext const & ext) { return env.update(g_ext->m_ext_id, new private_ext(ext)); } -environment set_main_module_name(environment const & env, name const & mod_name) { - private_ext ext = get_extension(env); - ext.m_mod_name = mod_name; - return update(env, ext); -} - static name * g_private = nullptr; struct private_modification : public modification { @@ -77,7 +70,7 @@ static environment preserve_private_data(environment const & env, name const & r static name mk_private_name_core(environment const & env, name const & n) { private_ext const & ext = get_extension(env); - return name(name(*g_private) + ext.m_mod_name, ext.m_counter) + n; + return name(name(*g_private) + env.get_main_module(), ext.m_counter) + n; } pair add_private_name(environment const & env, name const & n) { diff --git a/src/library/private.h b/src/library/private.h index c8753c8073..e13133f207 100644 --- a/src/library/private.h +++ b/src/library/private.h @@ -10,7 +10,6 @@ Author: Leonardo de Moura #include "kernel/environment.h" namespace lean { -environment set_main_module_name(environment const & env, name const & mod_name); /** \brief This is an auxiliary function used to simulate private declarations. */ diff --git a/src/shell/lean.cpp b/src/shell/lean.cpp index a8aba00f00..c00c7f7ad0 100644 --- a/src/shell/lean.cpp +++ b/src/shell/lean.cpp @@ -505,7 +505,7 @@ int main(int argc, char ** argv) { bool ok; if (new_frontend) { - env = set_main_module_name(env, main_module_name); + env.set_main_module(main_module_name); // Some C++ parts like profiling need a global message log. We may want to refactor them into a // message_log-passing state monad in the future. message_log l; @@ -531,7 +531,7 @@ int main(int argc, char ** argv) { } else { env = import_modules(trust_lvl, imports); } - env = set_main_module_name(env, main_module_name); + env.set_main_module(main_module_name); p.set_env(env); p.parse_commands(); diff --git a/src/stage0/init/data/persistentarray/basic.cpp b/src/stage0/init/data/persistentarray/basic.cpp index a50a20435d..bdba106682 100644 --- a/src/stage0/init/data/persistentarray/basic.cpp +++ b/src/stage0/init/data/persistentarray/basic.cpp @@ -24,7 +24,6 @@ obj* l_PersistentArray_collectStats(obj*); obj* l_PersistentArray_collectStats___main___rarg___boxed(obj*, obj*, obj*); obj* l_PersistentArray_stats(obj*); obj* l_PersistentArray_mkNewTail(obj*); -obj* l_PersistentArray_push___rarg___closed__1; obj* l_Array_miterateAux___main___at_PersistentArray_collectStats___main___spec__1___rarg(obj*, obj*, obj*, obj*, obj*); obj* l_PersistentArray_mmap___rarg(obj*, obj*, obj*); extern obj* l_Array_empty___closed__1; @@ -40,7 +39,6 @@ obj* l_PersistentArray_mfoldlAux___main___rarg(obj*, obj*, obj*, obj*); obj* l_PersistentArray_mmap___at_PersistentArray_map___spec__1___rarg(obj*, obj*); obj* l_PersistentArray_insertNewLeaf___main(obj*); uint8 l_USize_decLt(usize, usize); -obj* l_PersistentArray_mkNewPath___main___rarg___closed__1; obj* l_Array_ummapAux___main___at_PersistentArray_map___spec__5(obj*, obj*); obj* l_PersistentArray_getAux___main___rarg(obj*, obj*, usize, usize); obj* l_Array_ummapAux___main___at_PersistentArray_map___spec__4(obj*, obj*); @@ -62,7 +60,6 @@ obj* l_PersistentArray_insertNewLeaf___main___rarg(obj*, usize, usize, obj*); obj* l_List_reverse___rarg(obj*); obj* l_List_toPersistentArrayAux(obj*); obj* l_Array_miterateAux___main___at_PersistentArray_mfoldlAux___main___spec__1___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*); -usize l_PersistentArray_insertNewLeaf___main___rarg___closed__1; obj* l_PersistentArray_getAux(obj*); usize l_USize_sub(usize, usize); obj* l_PersistentArray_mmapAux___boxed(obj*, obj*, obj*); @@ -169,7 +166,6 @@ obj* l_PersistentArray_Inhabited(obj*); obj* l_PersistentArray_mfoldlAux___main___boxed(obj*, obj*, obj*); obj* l_PersistentArray_collectStats___rarg(obj*, obj*, obj*); obj* l_PersistentArray_mkNewPath___main___rarg(usize, obj*); -obj* l_Nat_pow___main(obj*, obj*); obj* l_Array_ummapAux___main___at_PersistentArray_mmapAux___main___spec__1___boxed(obj*, obj*, obj*); obj* l_PersistentArray_insertNewLeaf___rarg___boxed(obj*, obj*, obj*, obj*); obj* l_PersistentArray_getAux___rarg(obj*, obj*, usize, usize); @@ -273,42 +269,29 @@ return x_1; usize _init_l_PersistentArray_branching() { _start: { -usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5; -x_1 = 5; -x_2 = lean::usize_to_nat(x_1); -x_3 = lean::mk_nat_obj(2u); -x_4 = l_Nat_pow___main(x_3, x_2); -lean::dec(x_2); -x_5 = lean::usize_of_nat(x_4); -lean::dec(x_4); -return x_5; +usize x_1; +x_1 = 32; +return x_1; } } obj* _init_l_PersistentArray_Inhabited___closed__1() { _start: { -usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; -x_1 = 5; -x_2 = lean::usize_to_nat(x_1); -x_3 = lean::mk_nat_obj(2u); -x_4 = l_Nat_pow___main(x_3, x_2); -lean::dec(x_2); -x_5 = lean::usize_of_nat(x_4); -lean::dec(x_4); -x_6 = lean::usize_to_nat(x_5); -x_7 = lean::mk_empty_array(x_6); -lean::dec(x_6); -lean::inc(x_7); -x_8 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_8, 0, x_7); -x_9 = lean::mk_nat_obj(0u); -x_10 = lean::alloc_cnstr(0, 4, sizeof(size_t)*1); -lean::cnstr_set(x_10, 0, x_8); -lean::cnstr_set(x_10, 1, x_7); -lean::cnstr_set(x_10, 2, x_9); -lean::cnstr_set(x_10, 3, x_9); -lean::cnstr_set_scalar(x_10, sizeof(void*)*4, x_1); -return x_10; +obj* x_1; obj* x_2; obj* x_3; usize x_4; obj* x_5; obj* x_6; +x_1 = lean::mk_nat_obj(32u); +x_2 = lean::mk_empty_array(x_1); +lean::inc(x_2); +x_3 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_3, 0, x_2); +x_4 = 5; +x_5 = lean::mk_nat_obj(0u); +x_6 = lean::alloc_cnstr(0, 4, sizeof(size_t)*1); +lean::cnstr_set(x_6, 0, x_3); +lean::cnstr_set(x_6, 1, x_2); +lean::cnstr_set(x_6, 2, x_5); +lean::cnstr_set(x_6, 3, x_5); +lean::cnstr_set_scalar(x_6, sizeof(void*)*4, x_4); +return x_6; } } obj* l_PersistentArray_Inhabited(obj* x_1) { @@ -322,18 +305,10 @@ return x_2; obj* _init_l_PersistentArray_mkEmptyArray___closed__1() { _start: { -usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5; obj* x_6; obj* x_7; -x_1 = 5; -x_2 = lean::usize_to_nat(x_1); -x_3 = lean::mk_nat_obj(2u); -x_4 = l_Nat_pow___main(x_3, x_2); -lean::dec(x_2); -x_5 = lean::usize_of_nat(x_4); -lean::dec(x_4); -x_6 = lean::usize_to_nat(x_5); -x_7 = lean::mk_empty_array(x_6); -lean::dec(x_6); -return x_7; +obj* x_1; obj* x_2; +x_1 = lean::mk_nat_obj(32u); +x_2 = lean::mk_empty_array(x_1); +return x_2; } } obj* l_PersistentArray_mkEmptyArray(obj* x_1) { @@ -809,14 +784,6 @@ lean::dec(x_2); return x_4; } } -obj* _init_l_PersistentArray_mkNewPath___main___rarg___closed__1() { -_start: -{ -obj* x_1; -x_1 = l_PersistentArray_mkEmptyArray(lean::box(0)); -return x_1; -} -} obj* l_PersistentArray_mkNewPath___main___rarg(usize x_1, obj* x_2) { _start: { @@ -829,7 +796,7 @@ usize x_5; usize x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; x_5 = 5; x_6 = x_1 - x_5; x_7 = l_PersistentArray_mkNewPath___main___rarg(x_6, x_2); -x_8 = l_PersistentArray_mkNewPath___main___rarg___closed__1; +x_8 = l_PersistentArray_mkEmptyArray___closed__1; x_9 = lean::array_push(x_8, x_7); x_10 = lean::alloc_cnstr(0, 1, 0); lean::cnstr_set(x_10, 0, x_9); @@ -888,20 +855,6 @@ x_4 = l_PersistentArray_mkNewPath___rarg(x_3, x_2); return x_4; } } -usize _init_l_PersistentArray_insertNewLeaf___main___rarg___closed__1() { -_start: -{ -usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5; -x_1 = 5; -x_2 = lean::usize_to_nat(x_1); -x_3 = lean::mk_nat_obj(2u); -x_4 = l_Nat_pow___main(x_3, x_2); -lean::dec(x_2); -x_5 = lean::usize_of_nat(x_4); -lean::dec(x_4); -return x_5; -} -} obj* l_PersistentArray_insertNewLeaf___main___rarg(obj* x_1, usize x_2, usize x_3, obj* x_4) { _start: { @@ -911,21 +864,21 @@ uint8 x_5; x_5 = !lean::is_exclusive(x_1); if (x_5 == 0) { -obj* x_6; usize x_7; usize x_8; uint8 x_9; +obj* x_6; usize x_7; uint8 x_8; x_6 = lean::cnstr_get(x_1, 0); -x_7 = 5; -x_8 = l_PersistentArray_insertNewLeaf___main___rarg___closed__1; -x_9 = x_2 < x_8; -if (x_9 == 0) +x_7 = 32; +x_8 = x_2 < x_7; +if (x_8 == 0) { -usize x_10; usize x_11; usize x_12; usize x_13; usize x_14; usize x_15; obj* x_16; obj* x_17; uint8 x_18; -x_10 = x_2 >> x_3; -x_11 = 1; -x_12 = x_11 << x_3; -x_13 = x_12 - x_11; -x_14 = x_2 & x_13; -x_15 = x_3 - x_7; -x_16 = lean::usize_to_nat(x_10); +usize x_9; usize x_10; usize x_11; usize x_12; usize x_13; usize x_14; usize x_15; obj* x_16; obj* x_17; uint8 x_18; +x_9 = x_2 >> x_3; +x_10 = 1; +x_11 = x_10 << x_3; +x_12 = x_11 - x_10; +x_13 = x_2 & x_12; +x_14 = 5; +x_15 = x_3 - x_14; +x_16 = lean::usize_to_nat(x_9); x_17 = lean::array_get_size(x_6); x_18 = lean::nat_dec_lt(x_16, x_17); lean::dec(x_17); @@ -944,7 +897,7 @@ obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; x_21 = lean::array_fget(x_6, x_16); x_22 = l_PersistentArrayNode_inhabited___closed__1; x_23 = lean::array_fset(x_6, x_16, x_22); -x_24 = l_PersistentArray_insertNewLeaf___main___rarg(x_21, x_14, x_15, x_4); +x_24 = l_PersistentArray_insertNewLeaf___main___rarg(x_21, x_13, x_15, x_4); x_25 = lean::array_fset(x_23, x_16, x_24); lean::dec(x_16); lean::cnstr_set(x_1, 0, x_25); @@ -964,23 +917,23 @@ return x_27; } else { -obj* x_28; usize x_29; usize x_30; uint8 x_31; +obj* x_28; usize x_29; uint8 x_30; x_28 = lean::cnstr_get(x_1, 0); lean::inc(x_28); lean::dec(x_1); -x_29 = 5; -x_30 = l_PersistentArray_insertNewLeaf___main___rarg___closed__1; -x_31 = x_2 < x_30; -if (x_31 == 0) +x_29 = 32; +x_30 = x_2 < x_29; +if (x_30 == 0) { -usize x_32; usize x_33; usize x_34; usize x_35; usize x_36; usize x_37; obj* x_38; obj* x_39; uint8 x_40; -x_32 = x_2 >> x_3; -x_33 = 1; -x_34 = x_33 << x_3; -x_35 = x_34 - x_33; -x_36 = x_2 & x_35; -x_37 = x_3 - x_29; -x_38 = lean::usize_to_nat(x_32); +usize x_31; usize x_32; usize x_33; usize x_34; usize x_35; usize x_36; usize x_37; obj* x_38; obj* x_39; uint8 x_40; +x_31 = x_2 >> x_3; +x_32 = 1; +x_33 = x_32 << x_3; +x_34 = x_33 - x_32; +x_35 = x_2 & x_34; +x_36 = 5; +x_37 = x_3 - x_36; +x_38 = lean::usize_to_nat(x_31); x_39 = lean::array_get_size(x_28); x_40 = lean::nat_dec_lt(x_38, x_39); lean::dec(x_39); @@ -1000,7 +953,7 @@ obj* x_44; obj* x_45; obj* x_46; obj* x_47; obj* x_48; obj* x_49; x_44 = lean::array_fget(x_28, x_38); x_45 = l_PersistentArrayNode_inhabited___closed__1; x_46 = lean::array_fset(x_28, x_38, x_45); -x_47 = l_PersistentArray_insertNewLeaf___main___rarg(x_44, x_36, x_37, x_4); +x_47 = l_PersistentArray_insertNewLeaf___main___rarg(x_44, x_35, x_37, x_4); x_48 = lean::array_fset(x_46, x_38, x_47); lean::dec(x_38); x_49 = lean::alloc_cnstr(0, 1, 0); @@ -1099,7 +1052,7 @@ lean::dec(x_12); if (x_13 == 0) { obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; -x_14 = l_PersistentArray_mkNewPath___main___rarg___closed__1; +x_14 = l_PersistentArray_mkEmptyArray___closed__1; x_15 = lean::array_push(x_14, x_3); x_16 = l_PersistentArray_mkNewPath___main___rarg(x_6, x_4); x_17 = lean::array_push(x_15, x_16); @@ -1121,7 +1074,7 @@ x_21 = lean::nat_sub(x_5, x_20); x_22 = lean::usize_of_nat(x_21); lean::dec(x_21); x_23 = l_PersistentArray_insertNewLeaf___main___rarg(x_3, x_22, x_6, x_4); -x_24 = l_PersistentArray_mkNewPath___main___rarg___closed__1; +x_24 = l_PersistentArray_mkEmptyArray___closed__1; lean::inc(x_5); lean::cnstr_set(x_1, 3, x_5); lean::cnstr_set(x_1, 1, x_24); @@ -1150,7 +1103,7 @@ lean::dec(x_33); if (x_34 == 0) { obj* x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_39; obj* x_40; obj* x_41; -x_35 = l_PersistentArray_mkNewPath___main___rarg___closed__1; +x_35 = l_PersistentArray_mkEmptyArray___closed__1; x_36 = lean::array_push(x_35, x_25); x_37 = l_PersistentArray_mkNewPath___main___rarg(x_28, x_26); x_38 = lean::array_push(x_36, x_37); @@ -1174,7 +1127,7 @@ x_43 = lean::nat_sub(x_27, x_42); x_44 = lean::usize_of_nat(x_43); lean::dec(x_43); x_45 = l_PersistentArray_insertNewLeaf___main___rarg(x_25, x_44, x_28, x_26); -x_46 = l_PersistentArray_mkNewPath___main___rarg___closed__1; +x_46 = l_PersistentArray_mkEmptyArray___closed__1; lean::inc(x_27); x_47 = lean::alloc_cnstr(0, 4, sizeof(size_t)*1); lean::cnstr_set(x_47, 0, x_45); @@ -1205,21 +1158,6 @@ x_3 = lean::nat_div(x_1, x_2); return x_3; } } -obj* _init_l_PersistentArray_push___rarg___closed__1() { -_start: -{ -usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5; obj* x_6; -x_1 = 5; -x_2 = lean::usize_to_nat(x_1); -x_3 = lean::mk_nat_obj(2u); -x_4 = l_Nat_pow___main(x_3, x_2); -lean::dec(x_2); -x_5 = lean::usize_of_nat(x_4); -lean::dec(x_4); -x_6 = lean::usize_to_nat(x_5); -return x_6; -} -} obj* l_PersistentArray_push___rarg(obj* x_1, obj* x_2) { _start: { @@ -1238,7 +1176,7 @@ lean::cnstr_set(x_1, 2, x_8); lean::cnstr_set(x_1, 1, x_6); x_9 = lean::array_get_size(x_6); lean::dec(x_6); -x_10 = l_PersistentArray_push___rarg___closed__1; +x_10 = lean::mk_nat_obj(32u); x_11 = lean::nat_dec_lt(x_9, x_10); lean::dec(x_9); if (x_11 == 0) @@ -1289,7 +1227,7 @@ lean::cnstr_set(x_23, 3, x_19); lean::cnstr_set_scalar(x_23, sizeof(void*)*4, x_18); x_24 = lean::array_get_size(x_20); lean::dec(x_20); -x_25 = l_PersistentArray_push___rarg___closed__1; +x_25 = lean::mk_nat_obj(32u); x_26 = lean::nat_dec_lt(x_24, x_25); lean::dec(x_24); if (x_26 == 0) @@ -3295,13 +3233,8 @@ l_PersistentArray_mkEmptyArray___closed__1 = _init_l_PersistentArray_mkEmptyArra lean::mark_persistent(l_PersistentArray_mkEmptyArray___closed__1); l_PersistentArray_getAux___main___rarg___closed__1 = _init_l_PersistentArray_getAux___main___rarg___closed__1(); lean::mark_persistent(l_PersistentArray_getAux___main___rarg___closed__1); -l_PersistentArray_mkNewPath___main___rarg___closed__1 = _init_l_PersistentArray_mkNewPath___main___rarg___closed__1(); -lean::mark_persistent(l_PersistentArray_mkNewPath___main___rarg___closed__1); -l_PersistentArray_insertNewLeaf___main___rarg___closed__1 = _init_l_PersistentArray_insertNewLeaf___main___rarg___closed__1(); l_PersistentArray_tooBig = _init_l_PersistentArray_tooBig(); lean::mark_persistent(l_PersistentArray_tooBig); -l_PersistentArray_push___rarg___closed__1 = _init_l_PersistentArray_push___rarg___closed__1(); -lean::mark_persistent(l_PersistentArray_push___rarg___closed__1); l_PersistentArray_mmapAux___main___rarg___closed__1 = _init_l_PersistentArray_mmapAux___main___rarg___closed__1(); lean::mark_persistent(l_PersistentArray_mmapAux___main___rarg___closed__1); l_PersistentArray_mmapAux___main___rarg___closed__2 = _init_l_PersistentArray_mmapAux___main___rarg___closed__2(); diff --git a/src/stage0/init/data/string/basic.cpp b/src/stage0/init/data/string/basic.cpp index 56a3ef5f0d..be320f6493 100644 --- a/src/stage0/init/data/string/basic.cpp +++ b/src/stage0/init/data/string/basic.cpp @@ -26,7 +26,6 @@ obj* l_String_mkIterator(obj*); obj* l___private_init_data_string_basic_4__utf8SetAux(uint32, obj*, obj*, obj*); obj* l_String_posOf___boxed(obj*, obj*); obj* l_Substring_takeWhileAux(obj*, obj*, obj*, obj*); -obj* l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; uint8 l_Substring_all(obj*, obj*); obj* l_String_Iterator_hasPrev___main___boxed(obj*); obj* l_List_asString(obj*); @@ -2959,15 +2958,6 @@ x_4 = l_String_mapAux___main(x_1, x_3, x_2); return x_4; } } -obj* _init_l_String_foldlAux___main___at_String_toNat___spec__1___closed__1() { -_start: -{ -uint32 x_1; obj* x_2; -x_1 = 48; -x_2 = lean::uint32_to_nat(x_1); -return x_2; -} -} obj* l_String_foldlAux___main___at_String_toNat___spec__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { @@ -2983,7 +2973,7 @@ x_8 = lean::mk_nat_obj(10u); x_9 = lean::nat_mul(x_4, x_8); lean::dec(x_4); x_10 = lean::uint32_to_nat(x_7); -x_11 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; +x_11 = lean::mk_nat_obj(48u); x_12 = lean::nat_sub(x_10, x_11); lean::dec(x_10); x_13 = lean::nat_add(x_9, x_12); @@ -5642,8 +5632,6 @@ l_String_HasAppend = _init_l_String_HasAppend(); lean::mark_persistent(l_String_HasAppend); l_String_lineColumn___closed__1 = _init_l_String_lineColumn___closed__1(); lean::mark_persistent(l_String_lineColumn___closed__1); -l_String_foldlAux___main___at_String_toNat___spec__1___closed__1 = _init_l_String_foldlAux___main___at_String_toNat___spec__1___closed__1(); -lean::mark_persistent(l_String_foldlAux___main___at_String_toNat___spec__1___closed__1); l_Substring_drop___main___closed__1 = _init_l_Substring_drop___main___closed__1(); lean::mark_persistent(l_Substring_drop___main___closed__1); l_Substring_extract___main___closed__1 = _init_l_Substring_extract___main___closed__1(); diff --git a/src/stage0/init/lean/compiler/constfolding.cpp b/src/stage0/init/lean/compiler/constfolding.cpp index a89aa2c4db..72006c1369 100644 --- a/src/stage0/init/lean/compiler/constfolding.cpp +++ b/src/stage0/init/lean/compiler/constfolding.cpp @@ -256,89 +256,89 @@ x_5 = lean::mk_string("toNat"); lean::inc(x_5); lean::inc(x_2); x_6 = lean_name_mk_string(x_2, x_5); -x_7 = lean::mk_nat_obj(2u); -x_8 = l_Nat_pow___main(x_7, x_1); -x_9 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_9, 0, x_1); -lean::cnstr_set(x_9, 1, x_2); -lean::cnstr_set(x_9, 2, x_4); -lean::cnstr_set(x_9, 3, x_6); -lean::cnstr_set(x_9, 4, x_8); -x_10 = lean::mk_nat_obj(16u); -x_11 = l_Lean_Compiler_mkUIntTypeName(x_10); +x_7 = lean::mk_nat_obj(256u); +x_8 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_8, 0, x_1); +lean::cnstr_set(x_8, 1, x_2); +lean::cnstr_set(x_8, 2, x_4); +lean::cnstr_set(x_8, 3, x_6); +lean::cnstr_set(x_8, 4, x_7); +x_9 = lean::mk_nat_obj(16u); +x_10 = l_Lean_Compiler_mkUIntTypeName(x_9); lean::inc(x_3); -lean::inc(x_11); -x_12 = lean_name_mk_string(x_11, x_3); +lean::inc(x_10); +x_11 = lean_name_mk_string(x_10, x_3); lean::inc(x_5); -lean::inc(x_11); -x_13 = lean_name_mk_string(x_11, x_5); -x_14 = l_Nat_pow___main(x_7, x_10); -x_15 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_15, 0, x_10); -lean::cnstr_set(x_15, 1, x_11); -lean::cnstr_set(x_15, 2, x_12); -lean::cnstr_set(x_15, 3, x_13); -lean::cnstr_set(x_15, 4, x_14); -x_16 = lean::mk_nat_obj(32u); -x_17 = l_Lean_Compiler_mkUIntTypeName(x_16); +lean::inc(x_10); +x_12 = lean_name_mk_string(x_10, x_5); +x_13 = lean::mk_nat_obj(65536u); +x_14 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_14, 0, x_9); +lean::cnstr_set(x_14, 1, x_10); +lean::cnstr_set(x_14, 2, x_11); +lean::cnstr_set(x_14, 3, x_12); +lean::cnstr_set(x_14, 4, x_13); +x_15 = lean::mk_nat_obj(32u); +x_16 = l_Lean_Compiler_mkUIntTypeName(x_15); lean::inc(x_3); -lean::inc(x_17); -x_18 = lean_name_mk_string(x_17, x_3); +lean::inc(x_16); +x_17 = lean_name_mk_string(x_16, x_3); lean::inc(x_5); -lean::inc(x_17); -x_19 = lean_name_mk_string(x_17, x_5); -x_20 = l_Nat_pow___main(x_7, x_16); -x_21 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_21, 0, x_16); -lean::cnstr_set(x_21, 1, x_17); -lean::cnstr_set(x_21, 2, x_18); -lean::cnstr_set(x_21, 3, x_19); -lean::cnstr_set(x_21, 4, x_20); -x_22 = lean::mk_nat_obj(64u); -x_23 = l_Lean_Compiler_mkUIntTypeName(x_22); +lean::inc(x_16); +x_18 = lean_name_mk_string(x_16, x_5); +x_19 = lean::mk_nat_obj(lean::mpz("4294967296")); +x_20 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_20, 0, x_15); +lean::cnstr_set(x_20, 1, x_16); +lean::cnstr_set(x_20, 2, x_17); +lean::cnstr_set(x_20, 3, x_18); +lean::cnstr_set(x_20, 4, x_19); +x_21 = lean::mk_nat_obj(64u); +x_22 = l_Lean_Compiler_mkUIntTypeName(x_21); lean::inc(x_3); -lean::inc(x_23); -x_24 = lean_name_mk_string(x_23, x_3); +lean::inc(x_22); +x_23 = lean_name_mk_string(x_22, x_3); lean::inc(x_5); -lean::inc(x_23); -x_25 = lean_name_mk_string(x_23, x_5); -x_26 = l_Nat_pow___main(x_7, x_22); -x_27 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_27, 0, x_22); -lean::cnstr_set(x_27, 1, x_23); -lean::cnstr_set(x_27, 2, x_24); -lean::cnstr_set(x_27, 3, x_25); -lean::cnstr_set(x_27, 4, x_26); -x_28 = lean::box(0); -x_29 = lean::mk_string("USize"); -x_30 = lean_name_mk_string(x_28, x_29); -lean::inc(x_30); -x_31 = lean_name_mk_string(x_30, x_3); -lean::inc(x_30); -x_32 = lean_name_mk_string(x_30, x_5); +lean::inc(x_22); +x_24 = lean_name_mk_string(x_22, x_5); +x_25 = lean::mk_nat_obj(lean::mpz("18446744073709551616")); +x_26 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_26, 0, x_21); +lean::cnstr_set(x_26, 1, x_22); +lean::cnstr_set(x_26, 2, x_23); +lean::cnstr_set(x_26, 3, x_24); +lean::cnstr_set(x_26, 4, x_25); +x_27 = lean::box(0); +x_28 = lean::mk_string("USize"); +x_29 = lean_name_mk_string(x_27, x_28); +lean::inc(x_29); +x_30 = lean_name_mk_string(x_29, x_3); +lean::inc(x_29); +x_31 = lean_name_mk_string(x_29, x_5); +x_32 = lean::mk_nat_obj(2u); x_33 = l_System_platform_nbits; -x_34 = l_Nat_pow___main(x_7, x_33); +x_34 = l_Nat_pow___main(x_32, x_33); x_35 = lean::alloc_cnstr(0, 5, 0); lean::cnstr_set(x_35, 0, x_33); -lean::cnstr_set(x_35, 1, x_30); -lean::cnstr_set(x_35, 2, x_31); -lean::cnstr_set(x_35, 3, x_32); +lean::cnstr_set(x_35, 1, x_29); +lean::cnstr_set(x_35, 2, x_30); +lean::cnstr_set(x_35, 3, x_31); lean::cnstr_set(x_35, 4, x_34); x_36 = lean::box(0); x_37 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_37, 0, x_35); lean::cnstr_set(x_37, 1, x_36); x_38 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_38, 0, x_27); +lean::cnstr_set(x_38, 0, x_26); lean::cnstr_set(x_38, 1, x_37); x_39 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_39, 0, x_21); +lean::cnstr_set(x_39, 0, x_20); lean::cnstr_set(x_39, 1, x_38); x_40 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_40, 0, x_15); +lean::cnstr_set(x_40, 0, x_14); lean::cnstr_set(x_40, 1, x_39); x_41 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_41, 0, x_9); +lean::cnstr_set(x_41, 0, x_8); lean::cnstr_set(x_41, 1, x_40); return x_41; } @@ -697,7 +697,7 @@ return x_3; obj* _init_l_Lean_Compiler_mkUInt32Lit___closed__1() { _start: { -obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; +obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; x_1 = lean::mk_nat_obj(32u); x_2 = l_Lean_Compiler_mkUIntTypeName(x_1); x_3 = lean::mk_string("ofNat"); @@ -706,15 +706,14 @@ x_4 = lean_name_mk_string(x_2, x_3); x_5 = lean::mk_string("toNat"); lean::inc(x_2); x_6 = lean_name_mk_string(x_2, x_5); -x_7 = lean::mk_nat_obj(2u); -x_8 = l_Nat_pow___main(x_7, x_1); -x_9 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_9, 0, x_1); -lean::cnstr_set(x_9, 1, x_2); -lean::cnstr_set(x_9, 2, x_4); -lean::cnstr_set(x_9, 3, x_6); -lean::cnstr_set(x_9, 4, x_8); -return x_9; +x_7 = lean::mk_nat_obj(lean::mpz("4294967296")); +x_8 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_8, 0, x_1); +lean::cnstr_set(x_8, 1, x_2); +lean::cnstr_set(x_8, 2, x_4); +lean::cnstr_set(x_8, 3, x_6); +lean::cnstr_set(x_8, 4, x_7); +return x_8; } } obj* l_Lean_Compiler_mkUInt32Lit(obj* x_1) { diff --git a/src/stage0/init/lean/environment.cpp b/src/stage0/init/lean/environment.cpp index 1c24fcf76a..1b8e7087b1 100644 --- a/src/stage0/init/lean/environment.cpp +++ b/src/stage0/init/lean/environment.cpp @@ -31,7 +31,13 @@ obj* l_Lean_performModifications___boxed(obj*, obj*, obj*); extern "C" uint8 lean_name_dec_eq(obj*, obj*); obj* l_Array_miterateAux___main___at_Lean_importModules___spec__12___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_Lean_SMap_find_x27___main___at_Lean_Environment_find___spec__1___boxed(obj*, obj*); +namespace lean { +obj* environment_set_main_module_core(obj*, obj*); +} obj* l_Lean_PersistentEnvExtension_inhabited___rarg(obj*); +namespace lean { +obj* environment_main_module_core(obj*); +} obj* l_HashMapImp_find___at_Lean_Environment_find___spec__2___boxed(obj*, obj*); obj* l_Lean_EnvExtension_modifyStateUnsafe___rarg(obj*, obj*, obj*); obj* l_Array_miterateAux___main___at_Lean_Environment_displayStats___spec__8___boxed(obj*, obj*, obj*, obj*, obj*); @@ -86,9 +92,6 @@ obj* l_Lean_SMap_insert___main___at_Lean_Environment_add___spec__1(obj*, obj*, o obj* l_List_reverse___rarg(obj*); obj* l_List_toStringAux___main___at_Lean_Environment_displayStats___spec__2___boxed(obj*, obj*); uint8 l_List_isEmpty___main___rarg(obj*); -namespace lean { -obj* environment_set_main_module_name_core(obj*, obj*); -} obj* l_List_foldr___main___at_Lean_PersistentEnvExtension_forceStateAux___spec__1___rarg___boxed(obj*, obj*, obj*); obj* l_HashMapImp_moveEntries___main___at_Lean_Environment_add___spec__7(obj*, obj*, obj*); obj* l_AssocList_foldl___main___at_Lean_Environment_add___spec__8(obj*, obj*); @@ -3650,7 +3653,7 @@ return x_2; } } namespace lean { -obj* environment_set_main_module_name_core(obj* x_1, obj* x_2) { +obj* environment_set_main_module_core(obj* x_1, obj* x_2) { _start: { uint8 x_3; @@ -3728,6 +3731,21 @@ return x_20; } } } +namespace lean { +obj* environment_main_module_core(obj* x_1) { +_start: +{ +obj* x_2; obj* x_3; +x_2 = lean::cnstr_get(x_1, 3); +lean::inc(x_2); +lean::dec(x_1); +x_3 = lean::cnstr_get(x_2, 0); +lean::inc(x_3); +lean::dec(x_2); +return x_3; +} +} +} obj* l_Lean_SMap_switch___at___private_init_lean_environment_1__switch___spec__1(obj* x_1) { _start: { diff --git a/src/stage0/init/lean/extern.cpp b/src/stage0/init/lean/extern.cpp index 9a62e5e29e..e15ed11e7b 100644 --- a/src/stage0/init/lean/extern.cpp +++ b/src/stage0/init/lean/extern.cpp @@ -20,7 +20,6 @@ namespace lean { obj* mk_extern_attr_data_core(obj*, obj*); } obj* l_Lean_expandExternPatternAux(obj*, obj*, obj*, obj*); -extern obj* l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; obj* l_Lean_getExternNameFor(obj*, obj*, obj*); obj* l_Lean_getExternNameFor___boxed(obj*, obj*, obj*); extern "C" uint8 lean_name_dec_eq(obj*, obj*); @@ -223,7 +222,7 @@ x_18 = lean::mk_nat_obj(10u); x_19 = lean::nat_mul(x_3, x_18); lean::dec(x_3); x_20 = lean::uint32_to_nat(x_10); -x_21 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; +x_21 = lean::mk_nat_obj(48u); x_22 = lean::nat_sub(x_20, x_21); lean::dec(x_20); x_23 = lean::nat_add(x_19, x_22); diff --git a/src/stage0/init/lean/parser/stringliteral.cpp b/src/stage0/init/lean/parser/stringliteral.cpp index 905c02b64f..1497a3fea6 100644 --- a/src/stage0/init/lean/parser/stringliteral.cpp +++ b/src/stage0/init/lean/parser/stringliteral.cpp @@ -14,9 +14,7 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64; #pragma GCC diagnostic ignored "-Wunused-label" #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #endif -obj* l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; obj* l_Lean_Parser_parseStringLiteralAux___main___rarg___lambda__2(obj*, obj*, obj*, obj*, obj*, obj*, uint32); -extern obj* l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; obj* l_Lean_Parser_parseHexDigit___rarg___lambda__1(obj*, uint32); obj* l_Lean_Parser_parseQuotedChar___rarg___lambda__7(obj*, obj*, obj*, obj*, obj*, uint32); obj* l_DList_singleton___elambda__1___rarg(obj*, obj*); @@ -25,7 +23,6 @@ namespace lean { obj* nat_sub(obj*, obj*); } obj* l_Lean_Parser_MonadParsec_satisfy___rarg___lambda__1___boxed(obj*, obj*, obj*); -obj* l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1; extern obj* l_mjoin___rarg___closed__1; obj* l_Lean_Parser_parseStringLiteralAux(obj*, obj*); obj* l_Lean_Parser_parseStringLiteralAux___main___rarg___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); @@ -115,7 +112,7 @@ x_4 = lean::cnstr_get(x_3, 1); lean::inc(x_4); lean::dec(x_3); x_5 = lean::uint32_to_nat(x_2); -x_6 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; +x_6 = lean::mk_nat_obj(48u); x_7 = lean::nat_sub(x_5, x_6); lean::dec(x_5); x_8 = lean::apply_2(x_4, lean::box(0), x_7); @@ -194,15 +191,6 @@ return x_30; } } } -obj* _init_l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1() { -_start: -{ -uint32 x_1; obj* x_2; -x_1 = 97; -x_2 = lean::uint32_to_nat(x_1); -return x_2; -} -} obj* l_Lean_Parser_parseHexDigit___rarg___lambda__3(obj* x_1, uint32 x_2) { _start: { @@ -214,7 +202,7 @@ x_4 = lean::cnstr_get(x_3, 1); lean::inc(x_4); lean::dec(x_3); x_5 = lean::uint32_to_nat(x_2); -x_6 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1; +x_6 = lean::mk_nat_obj(97u); x_7 = lean::nat_sub(x_5, x_6); lean::dec(x_5); x_8 = lean::mk_nat_obj(10u); @@ -296,15 +284,6 @@ return x_30; } } } -obj* _init_l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1() { -_start: -{ -uint32 x_1; obj* x_2; -x_1 = 65; -x_2 = lean::uint32_to_nat(x_1); -return x_2; -} -} obj* l_Lean_Parser_parseHexDigit___rarg___lambda__5(obj* x_1, uint32 x_2) { _start: { @@ -316,7 +295,7 @@ x_4 = lean::cnstr_get(x_3, 1); lean::inc(x_4); lean::dec(x_3); x_5 = lean::uint32_to_nat(x_2); -x_6 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; +x_6 = lean::mk_nat_obj(65u); x_7 = lean::nat_sub(x_5, x_6); lean::dec(x_5); x_8 = lean::mk_nat_obj(10u); @@ -1098,10 +1077,6 @@ _G_initialized = true; if (io_result_is_error(w)) return w; w = initialize_init_lean_parser_parsec(w); if (io_result_is_error(w)) return w; -l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1 = _init_l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1(); -lean::mark_persistent(l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1); -l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1 = _init_l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1(); -lean::mark_persistent(l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1); l_Lean_Parser_parseHexDigit___rarg___closed__1 = _init_l_Lean_Parser_parseHexDigit___rarg___closed__1(); lean::mark_persistent(l_Lean_Parser_parseHexDigit___rarg___closed__1); l_Lean_Parser_parseQuotedChar___rarg___lambda__7___closed__1 = _init_l_Lean_Parser_parseQuotedChar___rarg___lambda__7___closed__1(); diff --git a/src/stage0/init/lean/parser/token.cpp b/src/stage0/init/lean/parser/token.cpp index ce6389b545..e1bd29f292 100644 --- a/src/stage0/init/lean/parser/token.cpp +++ b/src/stage0/init/lean/parser/token.cpp @@ -16,7 +16,6 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64; #endif obj* l_Lean_Parser_ParsecT_failure___at_Lean_Parser_token___spec__4(obj*, obj*); obj* l_Lean_Parser_MonadParsec_error___at___private_init_lean_parser_token_1__finishCommentBlockAux___main___spec__1___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); -extern obj* l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; obj* l_Lean_Parser_MonadParsec_takeWhile1___at_Lean_Parser_detailIdentPart_Parser_Lean_Parser_HasTokens___spec__1(obj*, obj*, obj*); obj* l_Lean_Parser_withTrailing___rarg___lambda__1(obj*, obj*); obj* l_Lean_Parser_rawStr_Lean_Parser_HasTokens___boxed(obj*, obj*, obj*, obj*, obj*, obj*); @@ -27,7 +26,6 @@ obj* l_Lean_Parser_raw_view___rarg(obj*, obj*, obj*, obj*, obj*, uint8); obj* l_List_mfoldr___main___at_Lean_Parser_number_x27___spec__9(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_Lean_Parser_MonadParsec_takeWhile1___at_Lean_Parser_detailIdentPart_Parser_Lean_Parser_HasTokens___spec__1___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_rawStr_Lean_Parser_HasView___rarg___boxed(obj*, obj*, obj*, obj*, obj*); -extern obj* l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; obj* l_Lean_Parser_stringLit; obj* l_fixCore___rarg___boxed(obj*, obj*, obj*); obj* l_Lean_Parser_MonadParsec_takeWhileCont___at___private_init_lean_parser_token_4__ident_x27___spec__4___boxed(obj*, obj*, obj*, obj*); @@ -80,7 +78,6 @@ uint8 l_String_isEmpty(obj*); obj* l_Lean_Parser_detailIdent_HasView_x27___lambda__1___closed__1; obj* l___private_init_lean_parser_token_2__whitespaceAux___main___boxed(obj*, obj*, obj*, obj*); obj* l___private_init_lean_parser_token_7__toNatCore___boxed(obj*, obj*, obj*, obj*); -extern obj* l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1; obj* l_Lean_Parser_stringLit_Parser___rarg(obj*); extern obj* l_Lean_Parser_Combinators_choiceAux___main___rarg___closed__1; obj* l_Lean_Parser_number_HasView_x27___elambda__1___closed__3; @@ -20963,7 +20960,7 @@ x_193 = lean::cnstr_get(x_189, 2); x_194 = lean::unbox_uint32(x_192); lean::dec(x_192); x_195 = lean::uint32_to_nat(x_194); -x_196 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; +x_196 = lean::mk_nat_obj(48u); x_197 = lean::nat_sub(x_195, x_196); lean::dec(x_195); x_198 = l_Lean_Parser_Parsec_Result_mkEps___rarg___closed__1; @@ -20987,7 +20984,7 @@ lean::dec(x_189); x_203 = lean::unbox_uint32(x_200); lean::dec(x_200); x_204 = lean::uint32_to_nat(x_203); -x_205 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; +x_205 = lean::mk_nat_obj(48u); x_206 = lean::nat_sub(x_204, x_205); lean::dec(x_204); x_207 = l_Lean_Parser_Parsec_Result_mkEps___rarg___closed__1; @@ -21301,7 +21298,7 @@ x_23 = lean::cnstr_get(x_19, 2); x_24 = lean::unbox_uint32(x_22); lean::dec(x_22); x_25 = lean::uint32_to_nat(x_24); -x_26 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; +x_26 = lean::mk_nat_obj(65u); x_27 = lean::nat_sub(x_25, x_26); lean::dec(x_25); x_28 = lean::mk_nat_obj(10u); @@ -21333,7 +21330,7 @@ lean::dec(x_19); x_40 = lean::unbox_uint32(x_37); lean::dec(x_37); x_41 = lean::uint32_to_nat(x_40); -x_42 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; +x_42 = lean::mk_nat_obj(65u); x_43 = lean::nat_sub(x_41, x_42); lean::dec(x_41); x_44 = lean::mk_nat_obj(10u); @@ -21408,7 +21405,7 @@ x_118 = lean::cnstr_get(x_114, 2); x_119 = lean::unbox_uint32(x_117); lean::dec(x_117); x_120 = lean::uint32_to_nat(x_119); -x_121 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1; +x_121 = lean::mk_nat_obj(97u); x_122 = lean::nat_sub(x_120, x_121); lean::dec(x_120); x_123 = lean::mk_nat_obj(10u); @@ -21435,7 +21432,7 @@ lean::dec(x_114); x_130 = lean::unbox_uint32(x_127); lean::dec(x_127); x_131 = lean::uint32_to_nat(x_130); -x_132 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1; +x_132 = lean::mk_nat_obj(97u); x_133 = lean::nat_sub(x_131, x_132); lean::dec(x_131); x_134 = lean::mk_nat_obj(10u); @@ -28843,7 +28840,7 @@ if (x_14 == 0) { obj* x_15; obj* x_16; obj* x_17; obj* x_18; x_15 = lean::uint32_to_nat(x_9); -x_16 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; +x_16 = lean::mk_nat_obj(65u); x_17 = lean::nat_sub(x_15, x_16); lean::dec(x_15); x_18 = lean::nat_add(x_11, x_17); @@ -28863,7 +28860,7 @@ if (x_21 == 0) { obj* x_22; obj* x_23; obj* x_24; obj* x_25; x_22 = lean::uint32_to_nat(x_9); -x_23 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; +x_23 = lean::mk_nat_obj(65u); x_24 = lean::nat_sub(x_22, x_23); lean::dec(x_22); x_25 = lean::nat_add(x_11, x_24); @@ -28878,7 +28875,7 @@ else { obj* x_27; obj* x_28; obj* x_29; obj* x_30; x_27 = lean::uint32_to_nat(x_9); -x_28 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1; +x_28 = lean::mk_nat_obj(97u); x_29 = lean::nat_sub(x_27, x_28); lean::dec(x_27); x_30 = lean::nat_add(x_11, x_29); @@ -28895,7 +28892,7 @@ else { obj* x_32; obj* x_33; obj* x_34; obj* x_35; x_32 = lean::uint32_to_nat(x_9); -x_33 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; +x_33 = lean::mk_nat_obj(48u); x_34 = lean::nat_sub(x_32, x_33); lean::dec(x_32); x_35 = lean::nat_add(x_11, x_34); @@ -29819,7 +29816,7 @@ x_160 = lean::cnstr_get(x_157, 2); x_161 = lean::unbox_uint32(x_159); lean::dec(x_159); x_162 = lean::uint32_to_nat(x_161); -x_163 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; +x_163 = lean::mk_nat_obj(48u); x_164 = lean::nat_sub(x_162, x_163); lean::dec(x_162); x_165 = l_Lean_Parser_Parsec_Result_mkEps___rarg___closed__1; @@ -29859,7 +29856,7 @@ lean::dec(x_157); x_174 = lean::unbox_uint32(x_171); lean::dec(x_171); x_175 = lean::uint32_to_nat(x_174); -x_176 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1; +x_176 = lean::mk_nat_obj(48u); x_177 = lean::nat_sub(x_175, x_176); lean::dec(x_175); x_178 = l_Lean_Parser_Parsec_Result_mkEps___rarg___closed__1; @@ -30014,7 +30011,7 @@ x_90 = lean::cnstr_get(x_87, 2); x_91 = lean::unbox_uint32(x_89); lean::dec(x_89); x_92 = lean::uint32_to_nat(x_91); -x_93 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1; +x_93 = lean::mk_nat_obj(97u); x_94 = lean::nat_sub(x_92, x_93); lean::dec(x_92); x_95 = lean::mk_nat_obj(10u); @@ -30057,7 +30054,7 @@ lean::dec(x_87); x_106 = lean::unbox_uint32(x_103); lean::dec(x_103); x_107 = lean::uint32_to_nat(x_106); -x_108 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1; +x_108 = lean::mk_nat_obj(97u); x_109 = lean::nat_sub(x_107, x_108); lean::dec(x_107); x_110 = lean::mk_nat_obj(10u); @@ -30221,7 +30218,7 @@ x_13 = lean::cnstr_get(x_10, 2); x_14 = lean::unbox_uint32(x_12); lean::dec(x_12); x_15 = lean::uint32_to_nat(x_14); -x_16 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; +x_16 = lean::mk_nat_obj(65u); x_17 = lean::nat_sub(x_15, x_16); lean::dec(x_15); x_18 = lean::mk_nat_obj(10u); @@ -30249,7 +30246,7 @@ lean::dec(x_10); x_28 = lean::unbox_uint32(x_25); lean::dec(x_25); x_29 = lean::uint32_to_nat(x_28); -x_30 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1; +x_30 = lean::mk_nat_obj(65u); x_31 = lean::nat_sub(x_29, x_30); lean::dec(x_29); x_32 = lean::mk_nat_obj(10u);