diff --git a/stage0/src/Lean/Compiler/IR/EmitC.lean b/stage0/src/Lean/Compiler/IR/EmitC.lean index 527e930923..05d73c7f0f 100644 --- a/stage0/src/Lean/Compiler/IR/EmitC.lean +++ b/stage0/src/Lean/Compiler/IR/EmitC.lean @@ -684,7 +684,7 @@ if isIOUnitInitFn env n then emitLn "if (lean_io_result_is_error(res)) return res;" emitLn "lean_dec_ref(res);" else if d.params.size == 0 then - match getInitFnNameFor env d.name with + match getInitFnNameFor? env d.name with | some initFn => emit "res = "; emitCName initFn; emitLn "(lean_io_mk_world());" emitLn "if (lean_io_result_is_error(res)) return res;" diff --git a/stage0/src/Lean/Compiler/IR/EmitUtil.lean b/stage0/src/Lean/Compiler/IR/EmitUtil.lean index 11a7044497..047f9c25d3 100644 --- a/stage0/src/Lean/Compiler/IR/EmitUtil.lean +++ b/stage0/src/Lean/Compiler/IR/EmitUtil.lean @@ -38,7 +38,7 @@ partial def collectFnBody : FnBody → M Unit def collectInitDecl (fn : Name) : M Unit := do let env ← read -match getInitFnNameFor env fn with +match getInitFnNameFor? env fn with | some initFn => collect initFn | _ => pure () diff --git a/stage0/src/Lean/Compiler/InitAttr.lean b/stage0/src/Lean/Compiler/InitAttr.lean index ca05b99e11..5baa1a150b 100644 --- a/stage0/src/Lean/Compiler/InitAttr.lean +++ b/stage0/src/Lean/Compiler/InitAttr.lean @@ -22,8 +22,8 @@ match getIOTypeArg type with | some type => isUnitType type | _ => false -initialize initAttr : ParametricAttribute Name ← -registerParametricAttribute `init "initialization procedure for global references" $ fun declName stx => do +def registerInitAttr (attrName : Name) : IO (ParametricAttribute Name) := +registerParametricAttribute attrName "initialization procedure for global references" fun declName stx => do let decl ← getConstInfo declName match attrParamSyntaxToIdentifier stx with | some initFnName => @@ -40,22 +40,40 @@ registerParametricAttribute `init "initialization procedure for global reference else throwError "initialization function must have type `IO Unit`" | _ => throwError "unexpected kind of argument" +initialize regularInitAttr : ParametricAttribute Name ← registerInitAttr `init +initialize builtinInitAttr : ParametricAttribute Name ← registerInitAttr `builtinInit + +def getInitFnNameForCore? (env : Environment) (attr : ParametricAttribute Name) (fn : Name) : Option Name := +match attr.getParam env fn with +| some Name.anonymous => none +| some n => some n +| _ => none + +@[export lean_get_builtin_init_fn_name_for] +def getBuiltinInitFnNameFor? (env : Environment) (fn : Name) : Option Name := +getInitFnNameForCore? env builtinInitAttr fn + +@[export lean_get_regular_init_fn_name_for] +def getRegularInitFnNameFor? (env : Environment) (fn : Name) : Option Name := +getInitFnNameForCore? env regularInitAttr fn + +-- Only used def isIOUnitInitFn (env : Environment) (fn : Name) : Bool := -match initAttr.getParam env fn with -| some Name.anonymous => true -| _ => false +let aux (attr : ParametricAttribute Name) : Bool := + match attr.getParam env fn with + | some Name.anonymous => true + | _ => false +aux builtinInitAttr || aux regularInitAttr @[export lean_get_init_fn_name_for] -def getInitFnNameFor (env : Environment) (fn : Name) : Option Name := -match initAttr.getParam env fn with -| some Name.anonymous => none -| some n => some n -| _ => none +def getInitFnNameFor? (env : Environment) (fn : Name) : Option Name := +getBuiltinInitFnNameFor? env fn <|> getRegularInitFnNameFor? env fn def hasInitAttr (env : Environment) (fn : Name) : Bool := -(getInitFnNameFor env fn).isSome +(getInitFnNameFor? env fn).isSome -def setInitAttr (env : Environment) (declName : Name) (initFnName : Name := Name.anonymous) : Except String Environment := -initAttr.setParam env declName initFnName +def setBuiltinInitAttr (env : Environment) (declName : Name) (initFnName : Name := Name.anonymous) : Except String Environment := +-- builtinInitAttr.setParam env declName initFnName -- TODO: use this one +regularInitAttr.setParam env declName initFnName end Lean diff --git a/stage0/src/Lean/KeyedDeclsAttribute.lean b/stage0/src/Lean/KeyedDeclsAttribute.lean index 84cc805e8a..6f540caf92 100644 --- a/stage0/src/Lean/KeyedDeclsAttribute.lean +++ b/stage0/src/Lean/KeyedDeclsAttribute.lean @@ -117,7 +117,7 @@ match env.addAndCompile {} decl with | Except.error e => do msg ← (e.toMessageData {}).toString; throw (IO.userError ("failed to emit registration code for builtin '" ++ toString declName ++ "': " ++ msg)) -| Except.ok env => IO.ofExcept (setInitAttr env name) +| Except.ok env => IO.ofExcept (setBuiltinInitAttr env name) /- TODO: add support for scoped attributes -/ protected unsafe def init {γ} (df : Def γ) (attrDeclName : Name) : IO (KeyedDeclsAttribute γ) := do diff --git a/stage0/src/Lean/Parser/Extension.lean b/stage0/src/Lean/Parser/Extension.lean index b373a13738..825dd9ae32 100644 --- a/stage0/src/Lean/Parser/Extension.lean +++ b/stage0/src/Lean/Parser/Extension.lean @@ -372,7 +372,7 @@ let decl := Declaration.defnDecl { name := name, lparams := [], type := type, va match env.addAndCompile {} decl with -- TODO: pretty print error | Except.error _ => throw (IO.userError ("failed to emit registration code for builtin parser '" ++ toString declName ++ "'")) -| Except.ok env => IO.ofExcept (setInitAttr env name) +| Except.ok env => IO.ofExcept (setBuiltinInitAttr env name) def declareLeadingBuiltinParser (env : Environment) (catName : Name) (declName : Name) (prio : Nat) : IO Environment := -- TODO: use CoreM? declareBuiltinParser env `Lean.Parser.addBuiltinLeadingParser catName declName prio diff --git a/stage0/stdlib/Lean/Compiler/IR.c b/stage0/stdlib/Lean/Compiler/IR.c index e735dcbe1c..54b0e9caab 100644 --- a/stage0/stdlib/Lean/Compiler/IR.c +++ b/stage0/stdlib/Lean/Compiler/IR.c @@ -79,6 +79,7 @@ lean_object* l_Lean_IR_ExplicitBoxing_mkBoxedVersion(lean_object*); lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__23; lean_object* l_Lean_IR_inferBorrow(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__12; +extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2; lean_object* l_Lean_IR_Decl_pushProj(lean_object*); lean_object* l_Lean_IR_Decl_normalizeIds(lean_object*); extern lean_object* l_Lean_mkOptionalNode___closed__2; @@ -86,7 +87,6 @@ lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__26; lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__31; lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_IR_declMapExt; -extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2; lean_object* l_Lean_IR_compile_match__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Array_forMAux___main___at_Lean_IR_addBoxedVersionAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__19; @@ -297,7 +297,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_IR_tracePrefixOptionName; -x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2; +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2; x_3 = l_Lean_Name_append___main(x_1, x_2); return x_3; } @@ -587,7 +587,7 @@ _start: { lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; x_4 = l___private_Lean_Compiler_IR_0__Lean_IR_compileAux___closed__1; -x_5 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2; +x_5 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2; lean_inc(x_1); x_6 = l___private_Lean_Compiler_IR_CompilerM_0__Lean_IR_logDeclsAux(x_4, x_5, x_1, x_2, x_3); x_7 = lean_ctor_get(x_6, 1); diff --git a/stage0/stdlib/Lean/Compiler/IR/EmitC.c b/stage0/stdlib/Lean/Compiler/IR/EmitC.c index c46a66bac0..fa0af862e9 100644 --- a/stage0/stdlib/Lean/Compiler/IR/EmitC.c +++ b/stage0/stdlib/Lean/Compiler/IR/EmitC.c @@ -230,6 +230,7 @@ lean_object* l_Lean_IR_EmitC_emitFnDeclAux___lambda__2(lean_object*, lean_object lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitInc___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_isIf___boxed(lean_object*); +lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitCtorScalarSize___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitCtorScalarSize___closed__1; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); @@ -368,6 +369,7 @@ extern lean_object* l_String_Iterator_HasRepr___closed__2; lean_object* l_Lean_IR_EmitC_emitIsTaggedPtr___closed__1; lean_object* l_Nat_forMAux___main___at_Lean_IR_EmitC_emitReset___spec__1___closed__1; lean_object* l_Lean_IR_EmitC_emitMainFn___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitBoxFn___closed__2; lean_object* l_Lean_IR_EmitC_toCType___closed__4; lean_object* l_Lean_IR_EmitC_emitProj___closed__1; @@ -464,7 +466,6 @@ lean_object* l_Lean_IR_EmitC_emitNumLit___boxed(lean_object*, lean_object*, lean lean_object* l_Lean_IR_EmitC_emitUSet___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitInitFn___closed__3; lean_object* l_Lean_IR_EmitC_emitBoxFn___closed__1; -lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitInc___closed__4; lean_object* l_Lean_IR_EmitC_emitFnDecls_match__1(lean_object*); lean_object* l_Lean_IR_EmitC_emitDeclAux___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -519,7 +520,6 @@ lean_object* l_Lean_IR_EmitC_emitBoxFn(lean_object*, lean_object*, lean_object*) lean_object* l_Lean_IR_EmitC_isTailCall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_throwInvalidExportName___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitFileFooter___boxed(lean_object*, lean_object*); -lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitFnDeclAux___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_EmitC_emitFnDeclAux___lambda__3___closed__1; lean_object* l_Lean_IR_EmitC_throwInvalidExportName___rarg___closed__1; @@ -1588,7 +1588,7 @@ x_6 = lean_ctor_get(x_4, 0); x_7 = lean_ctor_get(x_4, 1); x_8 = l_Lean_exportAttr; lean_inc(x_1); -x_9 = l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(x_8, x_6, x_1); +x_9 = l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(x_8, x_6, x_1); lean_dec(x_6); if (lean_obj_tag(x_9) == 0) { @@ -1663,7 +1663,7 @@ lean_inc(x_20); lean_dec(x_4); x_22 = l_Lean_exportAttr; lean_inc(x_1); -x_23 = l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(x_22, x_20, x_1); +x_23 = l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(x_22, x_20, x_1); lean_dec(x_20); if (lean_obj_tag(x_23) == 0) { @@ -1898,7 +1898,7 @@ x_6 = lean_ctor_get(x_4, 0); x_7 = lean_ctor_get(x_4, 1); x_8 = l_Lean_exportAttr; lean_inc(x_1); -x_9 = l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(x_8, x_6, x_1); +x_9 = l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(x_8, x_6, x_1); lean_dec(x_6); if (lean_obj_tag(x_9) == 0) { @@ -1965,7 +1965,7 @@ lean_inc(x_21); lean_dec(x_4); x_23 = l_Lean_exportAttr; lean_inc(x_1); -x_24 = l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(x_23, x_21, x_1); +x_24 = l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(x_23, x_21, x_1); lean_dec(x_21); if (lean_obj_tag(x_24) == 0) { diff --git a/stage0/stdlib/Lean/Compiler/IR/EmitUtil.c b/stage0/stdlib/Lean/Compiler/IR/EmitUtil.c index baa4664178..eb8dc14761 100644 --- a/stage0/stdlib/Lean/Compiler/IR/EmitUtil.c +++ b/stage0/stdlib/Lean/Compiler/IR/EmitUtil.c @@ -46,6 +46,7 @@ lean_object* lean_nat_add(lean_object*, lean_object*); lean_object* l_Array_iterateMAux___main___at_Lean_IR_CollectMaps_collectParams___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_AltCore_body(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); +lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_IR_CollectMaps_collectFnBody_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_IR_CollectMaps_collectVar_match__1(lean_object*); @@ -84,7 +85,6 @@ lean_object* l_Std_HashMapImp_moveEntries___main___at_Lean_IR_CollectMaps_collec lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_Std_HashMapImp_insert___at_Lean_IR_CollectMaps_collectVar___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Std_AssocList_contains___at_Lean_IR_CollectMaps_collectJP___spec__2___boxed(lean_object*, lean_object*); -lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*); lean_object* l_Lean_Environment_allImportedModuleNames(lean_object*); lean_object* l_Lean_IR_CollectMaps_collectDecl(lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); diff --git a/stage0/stdlib/Lean/Compiler/InitAttr.c b/stage0/stdlib/Lean/Compiler/InitAttr.c index 67934af65d..611efd5fd7 100644 --- a/stage0/stdlib/Lean/Compiler/InitAttr.c +++ b/stage0/stdlib/Lean/Compiler/InitAttr.c @@ -13,157 +13,166 @@ #ifdef __cplusplus extern "C" { #endif +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType___boxed(lean_object*); +lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttr___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_div(lean_object*, lean_object*); +lean_object* l_Lean_getInitFnNameForCore_x3f_match__1(lean_object*); lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___rarg(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit_match__1(lean_object*); -lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_builtinInitAttr; lean_object* l_List_toString___at_Lean_resolveGlobalConstNoOverload___spec__2(lean_object*); -lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_setBuiltinInitAttr(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); -lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__2; +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_registerInternalExceptionId___closed__2; lean_object* l_Lean_EnvExtensionInterfaceUnsafe_registerExt___rarg(lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__7; lean_object* l_List_map___main___at_Lean_resolveGlobalConstNoOverload___spec__1(lean_object*, lean_object*); -lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__8(lean_object*, lean_object*); extern lean_object* l_Array_empty___closed__1; lean_object* lean_environment_find(lean_object*, lean_object*); -lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__12; +lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttr___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); -lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6(lean_object*); +lean_object* l_Array_qsortAux___main___at_Lean_registerInitAttr___spec__9___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkSimpleThunkType___closed__1; lean_object* lean_array_push(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); -lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr(lean_object*, lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isIOUnitInitFn_match__1___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__10; extern lean_object* l_Lean_Name_inhabited; extern lean_object* l_String_splitAux___main___closed__1; -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___lambda__1___boxed(lean_object*); -lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_binSearchAux___main___at_Lean_isIOUnitInitFn___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr_match__3(lean_object*); +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg___boxed(lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__3; lean_object* lean_nat_add(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__14; +lean_object* l_Array_binSearchAux___main___at_Lean_getInitFnNameForCore_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType_match__1___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l___private_Lean_Environment_8__persistentEnvExtensionsRef; -lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__2(lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__15; lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit_match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237_(lean_object*); -lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__11(lean_object*, lean_object*); +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378_(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362_(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); +lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); -lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Array_qsortAux___main___at_Lean_registerInitAttr___spec__9(lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__14; lean_object* lean_nat_sub(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__5; +lean_object* l_Lean_registerInitAttr___lambda__1___closed__5; lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit___boxed(lean_object*); -lean_object* l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9; +lean_object* l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__6; +lean_object* l_Lean_registerInitAttr_match__2(lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1___rarg___closed__1; -lean_object* l_Array_qsortAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__9___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(lean_object*, lean_object*); +lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6(lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__1; lean_object* l_Lean_registerParametricAttribute___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__13; -lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__1___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__1; +lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr_match__3___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__2; +lean_object* l_Lean_registerInitAttr___closed__3; +lean_object* l_Lean_registerInitAttr___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getInitFnNameForCore_x3f___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttr___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_isIOUnitInitFn_match__1(lean_object*); -lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1; +lean_object* l_Array_binSearchAux___main___at_Lean_getInitFnNameForCore_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_hasInitAttr___boxed(lean_object*, lean_object*); extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__5; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_get_regular_init_fn_name_for(lean_object*, lean_object*); lean_object* lean_expr_dbg_to_string(lean_object*); +lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttr___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_attrParamSyntaxToIdentifier(lean_object*); extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__1; extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__2; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__5; lean_object* l_Lean_registerBuiltinAttribute(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__10; -lean_object* l_Array_qsortAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__9(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_registerInitAttr___spec__2(lean_object*); extern lean_object* l_Lean_throwUnknownConstant___rarg___closed__3; -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___closed__1; +lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2(lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1(lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__13; extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__4; lean_object* l_Lean_ConstantInfo_type(lean_object*); -lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1; uint8_t l_Lean_hasInitAttr(lean_object*, lean_object*); lean_object* l_Lean_ParametricAttribute_setParam___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType_match__1(lean_object*); -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___lambda__1(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__3; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__6; +uint8_t l_Array_anyRangeMAux___main___at_Lean_registerInitAttr___spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr_match__1(lean_object*); extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__1; extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__1; lean_object* l_List_filterAux___main___at_Lean_resolveGlobalConst___spec__1(lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr_match__2___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__4; +lean_object* l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8___boxed(lean_object*, lean_object*); +lean_object* l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_resolveGlobalConstNoOverload___rarg___lambda__1___closed__2; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__3; uint8_t l___private_Lean_Compiler_InitAttr_0__Lean_isIOUnit(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__15; +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___lambda__1___boxed(lean_object*); uint8_t lean_expr_eqv(lean_object*, lean_object*); -lean_object* l_Lean_setInitAttr(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_getInitFnNameFor_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextPartial___at_Lean_Core_Lean_AddMessageContext___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__8; uint8_t lean_nat_dec_le(lean_object*, lean_object*); -lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__2; +lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__1; extern lean_object* l_Lean_registerParametricAttribute___rarg___closed__3; -lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__8___boxed(lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__9; +lean_object* l_Lean_regularInitAttr; uint8_t l_Lean_isIOUnitInitFn(lean_object*, lean_object*); -lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__1(lean_object*); +lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerInitAttr___spec__11(lean_object*, lean_object*); +lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Std_RBNode_find___main___at___private_Lean_Hygiene_4__sanitizeSyntaxAux___main___spec__2(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__11; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*); -lean_object* lean_get_init_fn_name_for(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__4; +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___lambda__1(lean_object*); lean_object* l_Lean_isIOUnitInitFn___boxed(lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__8; +lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttr___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_get_builtin_init_fn_name_for(lean_object*, lean_object*); lean_object* l_Lean_PersistentEnvExtension_getState___rarg(lean_object*, lean_object*); +lean_object* l_Lean_getInitFnNameForCore_x3f_match__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg(lean_object*); +lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttr___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___closed__2; -lean_object* l_Lean_getInitFnNameFor_match__1(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__3(lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2; +lean_object* l_Lean_registerInitAttr___closed__2; +lean_object* l_Lean_registerInitAttr___lambda__1___closed__11; +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___closed__1; lean_object* l_List_map___main___at_Lean_resolveGlobalConst___spec__2(lean_object*); +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1; extern lean_object* l_Lean_ParametricAttribute_Inhabited___closed__1; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__7; extern lean_object* l_System_FilePath_dirName___closed__1; lean_object* l_unsafeCast(lean_object*, lean_object*, lean_object*); uint8_t l_List_isEmpty___rarg(lean_object*); +lean_object* l_Lean_registerInitAttr___lambda__1___closed__12; lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*); uint8_t l___private_Lean_Compiler_InitAttr_0__Lean_isUnitType(lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2; -uint8_t l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__3___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_getInitFnNameForCore_x3f(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_registerInitAttr___closed__1; lean_object* l_Lean_mkConst(lean_object*, lean_object*); -lean_object* l_Array_binSearchAux___main___at_Lean_isIOUnitInitFn___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initAttr; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__4; -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__2___rarg(lean_object*, lean_object*, lean_object*); uint8_t lean_string_dec_eq(lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +lean_object* l_Array_anyRangeMAux___main___at_Lean_registerInitAttr___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* _init_l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1___rarg___closed__1() { _start: { @@ -545,7 +554,7 @@ x_3 = lean_box(x_2); return x_3; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_registerInitAttr_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -568,15 +577,15 @@ return x_7; } } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__1(lean_object* x_1) { +lean_object* l_Lean_registerInitAttr_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttr_match__1___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_registerInitAttr_match__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -596,15 +605,15 @@ return x_6; } } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__2(lean_object* x_1) { +lean_object* l_Lean_registerInitAttr_match__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__2___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttr_match__2___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_registerInitAttr_match__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -626,15 +635,15 @@ return x_6; } } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__3(lean_object* x_1) { +lean_object* l_Lean_registerInitAttr_match__3(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237__match__3___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_registerInitAttr_match__3___rarg), 3, 0); return x_2; } } -lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; uint8_t x_8; @@ -672,15 +681,15 @@ return x_14; } } } -lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2(lean_object* x_1) { +lean_object* l_Lean_throwError___at_Lean_registerInitAttr___spec__2(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg___boxed), 5, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg___boxed), 5, 0); return x_2; } } -lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttr___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; uint8_t x_7; @@ -710,7 +719,7 @@ x_15 = l_Lean_throwUnknownConstant___rarg___closed__5; x_16 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_16, 0, x_14); lean_ctor_set(x_16, 1, x_15); -x_17 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_16, x_2, x_3, x_4, x_9); +x_17 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_16, x_2, x_3, x_4, x_9); return x_17; } else @@ -750,7 +759,7 @@ x_26 = l_Lean_throwUnknownConstant___rarg___closed__5; x_27 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_27, 0, x_25); lean_ctor_set(x_27, 1, x_26); -x_28 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_27, x_2, x_3, x_4, x_20); +x_28 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_27, x_2, x_3, x_4, x_20); return x_28; } else @@ -768,7 +777,7 @@ return x_30; } } } -lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttr___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; uint8_t x_7; @@ -816,7 +825,7 @@ return x_19; } } } -lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; @@ -832,19 +841,19 @@ x_11 = l_Lean_throwUnknownConstant___rarg___closed__5; x_12 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_12, 0, x_10); lean_ctor_set(x_12, 1, x_11); -x_13 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_12, x_2, x_3, x_4, x_5); +x_13 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_12, x_2, x_3, x_4, x_5); return x_13; } } -lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6(lean_object* x_1) { +lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6___rarg___boxed), 5, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6___rarg___boxed), 5, 0); return x_2; } } -lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; @@ -855,13 +864,13 @@ lean_ctor_set(x_8, 1, x_6); return x_8; } } -lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; lean_inc(x_2); lean_inc(x_1); -x_6 = l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__5(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_resolveGlobalName___at_Lean_registerInitAttr___spec__5(x_1, x_2, x_3, x_4, x_5); x_7 = lean_ctor_get(x_6, 0); lean_inc(x_7); x_8 = lean_ctor_get(x_6, 1); @@ -875,7 +884,7 @@ if (x_11 == 0) lean_object* x_12; lean_object* x_13; lean_dec(x_1); x_12 = lean_box(0); -x_13 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4___lambda__1(x_10, x_12, x_2, x_3, x_4, x_8); +x_13 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4___lambda__1(x_10, x_12, x_2, x_3, x_4, x_8); lean_dec(x_2); return x_13; } @@ -883,7 +892,7 @@ else { lean_object* x_14; uint8_t x_15; lean_dec(x_10); -x_14 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6___rarg(x_1, x_2, x_3, x_4, x_8); +x_14 = l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6___rarg(x_1, x_2, x_3, x_4, x_8); lean_dec(x_2); x_15 = !lean_is_exclusive(x_14); if (x_15 == 0) @@ -906,13 +915,13 @@ return x_18; } } } -lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttr___spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_inc(x_2); lean_inc(x_1); -x_6 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4(x_1, x_2, x_3, x_4, x_5); if (lean_obj_tag(x_6) == 0) { lean_object* x_7; @@ -944,7 +953,7 @@ x_21 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_21, 0, x_20); x_22 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_22, 0, x_21); -x_23 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_22, x_2, x_3, x_4, x_8); +x_23 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_22, x_2, x_3, x_4, x_8); lean_dec(x_2); return x_23; } @@ -1012,7 +1021,7 @@ x_44 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_44, 0, x_43); x_45 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_45, 0, x_44); -x_46 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_45, x_2, x_3, x_4, x_31); +x_46 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_45, x_2, x_3, x_4, x_31); lean_dec(x_2); return x_46; } @@ -1044,7 +1053,7 @@ return x_50; } } } -lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__8(lean_object* x_1, lean_object* x_2) { +lean_object* l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_2) == 0) @@ -1058,7 +1067,7 @@ x_3 = lean_ctor_get(x_2, 0); x_4 = lean_ctor_get(x_2, 1); x_5 = lean_ctor_get(x_2, 2); x_6 = lean_ctor_get(x_2, 3); -x_7 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__8(x_1, x_3); +x_7 = l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(x_1, x_3); lean_inc(x_5); lean_inc(x_4); x_8 = lean_alloc_ctor(0, 2, 0); @@ -1071,7 +1080,7 @@ goto _start; } } } -static lean_object* _init_l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1() { +static lean_object* _init_l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -1082,7 +1091,7 @@ lean_ctor_set(x_2, 1, x_1); return x_2; } } -lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { uint8_t x_6; @@ -1100,7 +1109,7 @@ return x_8; else { lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_9 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1; +x_9 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1; x_10 = lean_array_get(x_9, x_3, x_5); x_11 = lean_ctor_get(x_10, 0); lean_inc(x_11); @@ -1134,7 +1143,7 @@ goto _start; } } } -lean_object* l_Array_qsortAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Array_qsortAux___main___at_Lean_registerInitAttr___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_13; @@ -1151,7 +1160,7 @@ x_14 = lean_nat_add(x_2, x_3); x_15 = lean_unsigned_to_nat(2u); x_16 = lean_nat_div(x_14, x_15); lean_dec(x_14); -x_42 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1; +x_42 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1; x_43 = lean_array_get(x_42, x_1, x_16); x_44 = lean_array_get(x_42, x_1, x_2); x_45 = lean_ctor_get(x_43, 0); @@ -1178,7 +1187,7 @@ goto block_41; block_41: { lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_18 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1; +x_18 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1; x_19 = lean_array_get(x_18, x_17, x_3); x_20 = lean_array_get(x_18, x_17, x_2); x_21 = lean_ctor_get(x_19, 0); @@ -1203,7 +1212,7 @@ if (x_26 == 0) lean_object* x_27; lean_dec(x_16); lean_inc_n(x_2, 2); -x_27 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10(x_3, x_19, x_17, x_2, x_2); +x_27 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10(x_3, x_19, x_17, x_2, x_2); lean_dec(x_19); x_4 = x_27; goto block_12; @@ -1216,7 +1225,7 @@ x_28 = lean_array_swap(x_17, x_16, x_3); lean_dec(x_16); x_29 = lean_array_get(x_18, x_28, x_3); lean_inc_n(x_2, 2); -x_30 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10(x_3, x_29, x_28, x_2, x_2); +x_30 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10(x_3, x_29, x_28, x_2, x_2); lean_dec(x_29); x_4 = x_30; goto block_12; @@ -1243,7 +1252,7 @@ if (x_36 == 0) lean_object* x_37; lean_dec(x_16); lean_inc_n(x_2, 2); -x_37 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10(x_3, x_33, x_31, x_2, x_2); +x_37 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10(x_3, x_33, x_31, x_2, x_2); lean_dec(x_33); x_4 = x_37; goto block_12; @@ -1256,7 +1265,7 @@ x_38 = lean_array_swap(x_31, x_16, x_3); lean_dec(x_16); x_39 = lean_array_get(x_18, x_38, x_3); lean_inc_n(x_2, 2); -x_40 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10(x_3, x_39, x_38, x_2, x_2); +x_40 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10(x_3, x_39, x_38, x_2, x_2); lean_dec(x_39); x_4 = x_40; goto block_12; @@ -1276,7 +1285,7 @@ x_7 = lean_nat_dec_le(x_3, x_5); if (x_7 == 0) { lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_8 = l_Array_qsortAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__9(x_6, x_2, x_5); +x_8 = l_Array_qsortAux___main___at_Lean_registerInitAttr___spec__9(x_6, x_2, x_5); x_9 = lean_unsigned_to_nat(1u); x_10 = lean_nat_add(x_5, x_9); lean_dec(x_5); @@ -1293,7 +1302,7 @@ return x_6; } } } -uint8_t l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +uint8_t l_Array_anyRangeMAux___main___at_Lean_registerInitAttr___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { uint8_t x_6; @@ -1332,7 +1341,7 @@ return x_11; } } } -lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__11(lean_object* x_1, lean_object* x_2) { +lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerInitAttr___spec__11(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; lean_object* x_4; uint8_t x_5; @@ -1346,7 +1355,7 @@ x_6 = lean_ctor_get(x_4, 0); x_7 = lean_ctor_get(x_4, 1); x_8 = lean_array_get_size(x_6); x_9 = lean_unsigned_to_nat(0u); -x_10 = l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__12(x_1, x_6, x_6, x_8, x_9); +x_10 = l_Array_anyRangeMAux___main___at_Lean_registerInitAttr___spec__12(x_1, x_6, x_6, x_8, x_9); lean_dec(x_8); lean_dec(x_6); if (x_10 == 0) @@ -1475,7 +1484,7 @@ lean_inc(x_45); lean_dec(x_4); x_47 = lean_array_get_size(x_45); x_48 = lean_unsigned_to_nat(0u); -x_49 = l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__12(x_1, x_45, x_45, x_47, x_48); +x_49 = l_Array_anyRangeMAux___main___at_Lean_registerInitAttr___spec__12(x_1, x_45, x_45, x_47, x_48); lean_dec(x_47); lean_dec(x_45); if (x_49 == 0) @@ -1596,38 +1605,38 @@ return x_83; } } } -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___lambda__1(lean_object* x_1) { +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___lambda__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; x_2 = l_Array_empty___closed__1; -x_3 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__8(x_2, x_1); +x_3 = l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(x_2, x_1); x_4 = lean_array_get_size(x_3); x_5 = lean_unsigned_to_nat(1u); x_6 = lean_nat_sub(x_4, x_5); lean_dec(x_4); x_7 = lean_unsigned_to_nat(0u); -x_8 = l_Array_qsortAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__9(x_3, x_7, x_6); +x_8 = l_Array_qsortAux___main___at_Lean_registerInitAttr___spec__9(x_3, x_7, x_6); lean_dec(x_6); return x_8; } } -static lean_object* _init_l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___closed__1() { +static lean_object* _init_l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___lambda__1___boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___lambda__1___boxed), 1, 0); return x_1; } } -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6) { +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; x_7 = l_Lean_registerParametricAttribute___rarg___closed__1; x_8 = l_Lean_registerParametricAttribute___rarg___closed__2; x_9 = l_Lean_registerParametricAttribute___rarg___closed__3; -x_10 = l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___closed__1; +x_10 = l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___closed__1; x_11 = l_Lean_registerParametricAttribute___rarg___closed__4; lean_inc(x_1); x_12 = lean_alloc_ctor(0, 6, 0); @@ -1637,7 +1646,7 @@ lean_ctor_set(x_12, 2, x_8); lean_ctor_set(x_12, 3, x_9); lean_ctor_set(x_12, 4, x_10); lean_ctor_set(x_12, 5, x_11); -x_13 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__11(x_12, x_6); +x_13 = l_Lean_registerPersistentEnvExtensionUnsafe___at_Lean_registerInitAttr___spec__11(x_12, x_6); if (lean_obj_tag(x_13) == 0) { lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; @@ -1743,7 +1752,7 @@ return x_32; } } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__1() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__1() { _start: { lean_object* x_1; @@ -1751,27 +1760,27 @@ x_1 = lean_mk_string("initialization function must have type `IO Unit`"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__2() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__1; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__1; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__3() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__2; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__4() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__4() { _start: { lean_object* x_1; @@ -1779,27 +1788,27 @@ x_1 = lean_mk_string("unexpected kind of argument"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__5() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__4; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__4; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__6() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__5; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__5; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__7() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__7() { _start: { lean_object* x_1; @@ -1807,27 +1816,27 @@ x_1 = lean_mk_string("initialization function '"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__8() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__7; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__7; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__8; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__8; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__10() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__10() { _start: { lean_object* x_1; @@ -1835,27 +1844,27 @@ x_1 = lean_mk_string("' must have type of the form `IO `"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__11() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__11() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__10; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__10; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__12() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__12() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__11; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__11; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__13() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__13() { _start: { lean_object* x_1; @@ -1863,31 +1872,31 @@ x_1 = lean_mk_string("' type mismatch"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__14() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__13; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__13; x_2 = lean_alloc_ctor(2, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__15() { +static lean_object* _init_l_Lean_registerInitAttr___lambda__1___closed__15() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__14; +x_1 = l_Lean_registerInitAttr___lambda__1___closed__14; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_registerInitAttr___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__1(x_1, x_3, x_4, x_5, x_6); +x_7 = l_Lean_getConstInfo___at_Lean_registerInitAttr___spec__1(x_1, x_3, x_4, x_5, x_6); if (lean_obj_tag(x_7) == 0) { uint8_t x_8; @@ -1911,8 +1920,8 @@ if (x_13 == 0) { lean_object* x_14; lean_object* x_15; lean_free_object(x_7); -x_14 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__3; -x_15 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_14, x_3, x_4, x_5, x_10); +x_14 = l_Lean_registerInitAttr___lambda__1___closed__3; +x_15 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_14, x_3, x_4, x_5, x_10); lean_dec(x_3); return x_15; } @@ -1930,8 +1939,8 @@ else lean_object* x_17; lean_object* x_18; lean_free_object(x_7); lean_dec(x_9); -x_17 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__6; -x_18 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_17, x_3, x_4, x_5, x_10); +x_17 = l_Lean_registerInitAttr___lambda__1___closed__6; +x_18 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_17, x_3, x_4, x_5, x_10); lean_dec(x_3); return x_18; } @@ -1944,7 +1953,7 @@ x_19 = lean_ctor_get(x_11, 0); lean_inc(x_19); lean_dec(x_11); lean_inc(x_3); -x_20 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__3(x_19, x_3, x_4, x_5, x_10); +x_20 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttr___spec__3(x_19, x_3, x_4, x_5, x_10); if (lean_obj_tag(x_20) == 0) { lean_object* x_21; lean_object* x_22; lean_object* x_23; @@ -1954,7 +1963,7 @@ x_22 = lean_ctor_get(x_20, 1); lean_inc(x_22); lean_dec(x_20); lean_inc(x_21); -x_23 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__1(x_21, x_3, x_4, x_5, x_22); +x_23 = l_Lean_getConstInfo___at_Lean_registerInitAttr___spec__1(x_21, x_3, x_4, x_5, x_22); if (lean_obj_tag(x_23) == 0) { uint8_t x_24; @@ -1975,15 +1984,15 @@ lean_free_object(x_23); lean_dec(x_9); x_29 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_29, 0, x_21); -x_30 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9; +x_30 = l_Lean_registerInitAttr___lambda__1___closed__9; x_31 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_31, 0, x_30); lean_ctor_set(x_31, 1, x_29); -x_32 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__12; +x_32 = l_Lean_registerInitAttr___lambda__1___closed__12; x_33 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_33, 0, x_31); lean_ctor_set(x_33, 1, x_32); -x_34 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_33, x_3, x_4, x_5, x_26); +x_34 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_33, x_3, x_4, x_5, x_26); lean_dec(x_3); return x_34; } @@ -2004,15 +2013,15 @@ lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean lean_free_object(x_23); x_38 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_38, 0, x_21); -x_39 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9; +x_39 = l_Lean_registerInitAttr___lambda__1___closed__9; x_40 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_40, 0, x_39); lean_ctor_set(x_40, 1, x_38); -x_41 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__15; +x_41 = l_Lean_registerInitAttr___lambda__1___closed__15; x_42 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_42, 0, x_40); lean_ctor_set(x_42, 1, x_41); -x_43 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_42, x_3, x_4, x_5, x_26); +x_43 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_42, x_3, x_4, x_5, x_26); lean_dec(x_3); return x_43; } @@ -2042,15 +2051,15 @@ lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean lean_dec(x_9); x_48 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_48, 0, x_21); -x_49 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9; +x_49 = l_Lean_registerInitAttr___lambda__1___closed__9; x_50 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_50, 0, x_49); lean_ctor_set(x_50, 1, x_48); -x_51 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__12; +x_51 = l_Lean_registerInitAttr___lambda__1___closed__12; x_52 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_52, 0, x_50); lean_ctor_set(x_52, 1, x_51); -x_53 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_52, x_3, x_4, x_5, x_45); +x_53 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_52, x_3, x_4, x_5, x_45); lean_dec(x_3); return x_53; } @@ -2070,15 +2079,15 @@ if (x_56 == 0) lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; x_57 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_57, 0, x_21); -x_58 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9; +x_58 = l_Lean_registerInitAttr___lambda__1___closed__9; x_59 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_59, 0, x_58); lean_ctor_set(x_59, 1, x_57); -x_60 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__15; +x_60 = l_Lean_registerInitAttr___lambda__1___closed__15; x_61 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_61, 0, x_59); lean_ctor_set(x_61, 1, x_60); -x_62 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_61, x_3, x_4, x_5, x_45); +x_62 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_61, x_3, x_4, x_5, x_45); lean_dec(x_3); return x_62; } @@ -2167,8 +2176,8 @@ lean_dec(x_75); if (x_76 == 0) { lean_object* x_77; lean_object* x_78; -x_77 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__3; -x_78 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_77, x_3, x_4, x_5, x_73); +x_77 = l_Lean_registerInitAttr___lambda__1___closed__3; +x_78 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_77, x_3, x_4, x_5, x_73); lean_dec(x_3); return x_78; } @@ -2187,8 +2196,8 @@ else { lean_object* x_81; lean_object* x_82; lean_dec(x_72); -x_81 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__6; -x_82 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_81, x_3, x_4, x_5, x_73); +x_81 = l_Lean_registerInitAttr___lambda__1___closed__6; +x_82 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_81, x_3, x_4, x_5, x_73); lean_dec(x_3); return x_82; } @@ -2200,7 +2209,7 @@ x_83 = lean_ctor_get(x_74, 0); lean_inc(x_83); lean_dec(x_74); lean_inc(x_3); -x_84 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__3(x_83, x_3, x_4, x_5, x_73); +x_84 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttr___spec__3(x_83, x_3, x_4, x_5, x_73); if (lean_obj_tag(x_84) == 0) { lean_object* x_85; lean_object* x_86; lean_object* x_87; @@ -2210,7 +2219,7 @@ x_86 = lean_ctor_get(x_84, 1); lean_inc(x_86); lean_dec(x_84); lean_inc(x_85); -x_87 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__1(x_85, x_3, x_4, x_5, x_86); +x_87 = l_Lean_getConstInfo___at_Lean_registerInitAttr___spec__1(x_85, x_3, x_4, x_5, x_86); if (lean_obj_tag(x_87) == 0) { lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; @@ -2237,15 +2246,15 @@ lean_dec(x_90); lean_dec(x_72); x_93 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_93, 0, x_85); -x_94 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9; +x_94 = l_Lean_registerInitAttr___lambda__1___closed__9; x_95 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_95, 0, x_94); lean_ctor_set(x_95, 1, x_93); -x_96 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__12; +x_96 = l_Lean_registerInitAttr___lambda__1___closed__12; x_97 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_97, 0, x_95); lean_ctor_set(x_97, 1, x_96); -x_98 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_97, x_3, x_4, x_5, x_89); +x_98 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_97, x_3, x_4, x_5, x_89); lean_dec(x_3); return x_98; } @@ -2266,15 +2275,15 @@ lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_dec(x_90); x_102 = lean_alloc_ctor(4, 1, 0); lean_ctor_set(x_102, 0, x_85); -x_103 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9; +x_103 = l_Lean_registerInitAttr___lambda__1___closed__9; x_104 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_104, 0, x_103); lean_ctor_set(x_104, 1, x_102); -x_105 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__15; +x_105 = l_Lean_registerInitAttr___lambda__1___closed__15; x_106 = lean_alloc_ctor(10, 2, 0); lean_ctor_set(x_106, 0, x_104); lean_ctor_set(x_106, 1, x_105); -x_107 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_106, x_3, x_4, x_5, x_89); +x_107 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_106, x_3, x_4, x_5, x_89); lean_dec(x_3); return x_107; } @@ -2375,7 +2384,7 @@ return x_120; } } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_registerInitAttr___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; @@ -2386,25 +2395,7 @@ lean_ctor_set(x_8, 1, x_6); return x_8; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string("init"); -return x_1; -} -} -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1; -x_3 = lean_name_mk_string(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__3() { +static lean_object* _init_l_Lean_registerInitAttr___closed__1() { _start: { lean_object* x_1; @@ -2412,83 +2403,82 @@ x_1 = lean_mk_string("initialization procedure for global references"); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__4() { +static lean_object* _init_l_Lean_registerInitAttr___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___boxed), 6, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_registerInitAttr___lambda__1___boxed), 6, 0); return x_1; } } -static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__5() { +static lean_object* _init_l_Lean_registerInitAttr___closed__3() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__2___boxed), 6, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_registerInitAttr___lambda__2___boxed), 6, 0); return x_1; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237_(lean_object* x_1) { +lean_object* l_Lean_registerInitAttr(lean_object* x_1, lean_object* x_2) { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; -x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2; -x_3 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__3; -x_4 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__4; -x_5 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__5; +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +x_3 = l_Lean_registerInitAttr___closed__1; +x_4 = l_Lean_registerInitAttr___closed__2; +x_5 = l_Lean_registerInitAttr___closed__3; x_6 = 0; -x_7 = l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7(x_2, x_3, x_4, x_5, x_6, x_1); +x_7 = l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7(x_1, x_3, x_4, x_5, x_6, x_2); return x_7; } } -lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__2___rarg(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_throwError___at_Lean_registerInitAttr___spec__2___rarg(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); return x_6; } } -lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttr___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__1(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_getConstInfo___at_Lean_registerInitAttr___spec__1(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); return x_6; } } -lean_object* l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_resolveGlobalName___at_Lean_registerInitAttr___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_resolveGlobalName___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__5(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_resolveGlobalName___at_Lean_registerInitAttr___spec__5(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); return x_6; } } -lean_object* l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_throwUnknownConstant___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__6___rarg(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_throwUnknownConstant___at_Lean_registerInitAttr___spec__6___rarg(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); return x_6; } } -lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -2496,59 +2486,59 @@ lean_dec(x_2); return x_7; } } -lean_object* l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_resolveGlobalConst___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__4(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_resolveGlobalConst___at_Lean_registerInitAttr___spec__4(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); return x_6; } } -lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttr___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__3(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_resolveGlobalConstNoOverload___at_Lean_registerInitAttr___spec__3(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); return x_6; } } -lean_object* l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__8___boxed(lean_object* x_1, lean_object* x_2) { +lean_object* l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8___boxed(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; -x_3 = l_Std_RBNode_fold___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__8(x_1, x_2); +x_3 = l_Std_RBNode_fold___main___at_Lean_registerInitAttr___spec__8(x_1, x_2); lean_dec(x_2); return x_3; } } -lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; -x_6 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10(x_1, x_2, x_3, x_4, x_5); +x_6 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10(x_1, x_2, x_3, x_4, x_5); lean_dec(x_2); lean_dec(x_1); return x_6; } } -lean_object* l_Array_qsortAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Array_qsortAux___main___at_Lean_registerInitAttr___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Array_qsortAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__9(x_1, x_2, x_3); +x_4 = l_Array_qsortAux___main___at_Lean_registerInitAttr___spec__9(x_1, x_2, x_3); lean_dec(x_3); return x_4; } } -lean_object* l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l_Array_anyRangeMAux___main___at_Lean_registerInitAttr___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { uint8_t x_6; lean_object* x_7; -x_6 = l_Array_anyRangeMAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__12(x_1, x_2, x_3, x_4, x_5); +x_6 = l_Array_anyRangeMAux___main___at_Lean_registerInitAttr___spec__12(x_1, x_2, x_3, x_4, x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); @@ -2557,41 +2547,41 @@ x_7 = lean_box(x_6); return x_7; } } -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___lambda__1___boxed(lean_object* x_1) { +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___lambda__1___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___lambda__1(x_1); +x_2 = l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___lambda__1(x_1); lean_dec(x_1); return x_2; } } -lean_object* l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { uint8_t x_7; lean_object* x_8; x_7 = lean_unbox(x_5); lean_dec(x_5); -x_8 = l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7(x_1, x_2, x_3, x_4, x_7, x_6); +x_8 = l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7(x_1, x_2, x_3, x_4, x_7, x_6); return x_8; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_registerInitAttr___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_registerInitAttr___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); return x_7; } } -lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +lean_object* l_Lean_registerInitAttr___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__2(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_registerInitAttr___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); @@ -2600,50 +2590,113 @@ lean_dec(x_1); return x_7; } } -lean_object* l_Lean_isIOUnitInitFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("init"); +return x_1; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2; +x_3 = l_Lean_registerInitAttr___closed__1; +x_4 = l_Lean_registerInitAttr___closed__2; +x_5 = l_Lean_registerInitAttr___closed__3; +x_6 = 0; +x_7 = l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7(x_2, x_3, x_4, x_5, x_6, x_1); +return x_7; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("builtinInit"); +return x_1; +} +} +static lean_object* _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +x_2 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__2; +x_3 = l_Lean_registerInitAttr___closed__1; +x_4 = l_Lean_registerInitAttr___closed__2; +x_5 = l_Lean_registerInitAttr___closed__3; +x_6 = 0; +x_7 = l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7(x_2, x_3, x_4, x_5, x_6, x_1); +return x_7; +} +} +lean_object* l_Lean_getInitFnNameForCore_x3f_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 0) { -lean_object* x_4; -lean_dec(x_2); -x_4 = lean_apply_1(x_3, x_1); -return x_4; -} -else -{ lean_object* x_5; -x_5 = lean_ctor_get(x_1, 0); -lean_inc(x_5); -if (lean_obj_tag(x_5) == 0) -{ -lean_object* x_6; lean_object* x_7; lean_dec(x_3); -lean_dec(x_1); -x_6 = lean_box(0); -x_7 = lean_apply_1(x_2, x_6); -return x_7; +lean_dec(x_2); +x_5 = lean_apply_1(x_4, x_1); +return x_5; } else { -lean_object* x_8; -lean_dec(x_5); -lean_dec(x_2); -x_8 = lean_apply_1(x_3, x_1); +lean_object* x_6; +lean_dec(x_4); +x_6 = lean_ctor_get(x_1, 0); +lean_inc(x_6); +lean_dec(x_1); +if (lean_obj_tag(x_6) == 0) +{ +lean_object* x_7; lean_object* x_8; +lean_dec(x_3); +x_7 = lean_box(0); +x_8 = lean_apply_1(x_2, x_7); return x_8; } +else +{ +lean_object* x_9; +lean_dec(x_2); +x_9 = lean_apply_1(x_3, x_6); +return x_9; } } } -lean_object* l_Lean_isIOUnitInitFn_match__1(lean_object* x_1) { +} +lean_object* l_Lean_getInitFnNameForCore_x3f_match__1(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_isIOUnitInitFn_match__1___rarg), 3, 0); +x_2 = lean_alloc_closure((void*)(l_Lean_getInitFnNameForCore_x3f_match__1___rarg), 4, 0); return x_2; } } -lean_object* l_Array_binSearchAux___main___at_Lean_isIOUnitInitFn___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l_Array_binSearchAux___main___at_Lean_getInitFnNameForCore_x3f___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -2663,7 +2716,7 @@ x_7 = lean_nat_add(x_3, x_4); x_8 = lean_unsigned_to_nat(2u); x_9 = lean_nat_div(x_7, x_8); lean_dec(x_7); -x_10 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1; +x_10 = l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1; x_11 = lean_array_get(x_10, x_1, x_9); x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); @@ -2724,7 +2777,7 @@ goto _start; } } } -lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; @@ -2757,7 +2810,7 @@ x_14 = lean_unsigned_to_nat(1u); x_15 = lean_nat_sub(x_13, x_14); lean_dec(x_13); x_16 = lean_unsigned_to_nat(0u); -x_17 = l_Array_binSearchAux___main___at_Lean_isIOUnitInitFn___spec__2(x_10, x_12, x_16, x_15); +x_17 = l_Array_binSearchAux___main___at_Lean_getInitFnNameForCore_x3f___spec__2(x_10, x_12, x_16, x_15); lean_dec(x_12); lean_dec(x_10); if (lean_obj_tag(x_17) == 0) @@ -2797,121 +2850,11 @@ return x_24; } } } -uint8_t l_Lean_isIOUnitInitFn(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_initAttr; -x_4 = l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(x_3, x_1, x_2); -if (lean_obj_tag(x_4) == 0) -{ -uint8_t x_5; -x_5 = 0; -return x_5; -} -else -{ -lean_object* x_6; -x_6 = lean_ctor_get(x_4, 0); -lean_inc(x_6); -lean_dec(x_4); -if (lean_obj_tag(x_6) == 0) -{ -uint8_t x_7; -x_7 = 1; -return x_7; -} -else -{ -uint8_t x_8; -lean_dec(x_6); -x_8 = 0; -return x_8; -} -} -} -} -lean_object* l_Array_binSearchAux___main___at_Lean_isIOUnitInitFn___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Array_binSearchAux___main___at_Lean_isIOUnitInitFn___spec__2(x_1, x_2, x_3, x_4); -lean_dec(x_2); -lean_dec(x_1); -return x_5; -} -} -lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_getInitFnNameForCore_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(x_1, x_2, x_3); -lean_dec(x_2); -lean_dec(x_1); -return x_4; -} -} -lean_object* l_Lean_isIOUnitInitFn___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -uint8_t x_3; lean_object* x_4; -x_3 = l_Lean_isIOUnitInitFn(x_1, x_2); -lean_dec(x_1); -x_4 = lean_box(x_3); -return x_4; -} -} -lean_object* l_Lean_getInitFnNameFor_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_5; -lean_dec(x_3); -lean_dec(x_2); -x_5 = lean_apply_1(x_4, x_1); -return x_5; -} -else -{ -lean_object* x_6; -lean_dec(x_4); -x_6 = lean_ctor_get(x_1, 0); -lean_inc(x_6); -lean_dec(x_1); -if (lean_obj_tag(x_6) == 0) -{ -lean_object* x_7; lean_object* x_8; -lean_dec(x_3); -x_7 = lean_box(0); -x_8 = lean_apply_1(x_2, x_7); -return x_8; -} -else -{ -lean_object* x_9; -lean_dec(x_2); -x_9 = lean_apply_1(x_3, x_6); -return x_9; -} -} -} -} -lean_object* l_Lean_getInitFnNameFor_match__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; -x_2 = lean_alloc_closure((void*)(l_Lean_getInitFnNameFor_match__1___rarg), 4, 0); -return x_2; -} -} -lean_object* lean_get_init_fn_name_for(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; lean_object* x_4; -x_3 = l_Lean_initAttr; -x_4 = l_Lean_ParametricAttribute_getParam___at_Lean_isIOUnitInitFn___spec__1(x_3, x_1, x_2); -lean_dec(x_1); +x_4 = l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(x_2, x_1, x_3); if (lean_obj_tag(x_4) == 0) { lean_object* x_5; @@ -2961,6 +2904,203 @@ return x_11; } } } +lean_object* l_Array_binSearchAux___main___at_Lean_getInitFnNameForCore_x3f___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Array_binSearchAux___main___at_Lean_getInitFnNameForCore_x3f___spec__2(x_1, x_2, x_3, x_4); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} +lean_object* l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_Lean_getInitFnNameForCore_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_getInitFnNameForCore_x3f(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* lean_get_builtin_init_fn_name_for(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = l_Lean_builtinInitAttr; +x_4 = l_Lean_getInitFnNameForCore_x3f(x_1, x_3, x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* lean_get_regular_init_fn_name_for(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = l_Lean_regularInitAttr; +x_4 = l_Lean_getInitFnNameForCore_x3f(x_1, x_3, x_2); +lean_dec(x_1); +return x_4; +} +} +lean_object* l_Lean_isIOUnitInitFn_match__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_apply_1(x_3, x_1); +return x_4; +} +else +{ +lean_object* x_5; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +if (lean_obj_tag(x_5) == 0) +{ +lean_object* x_6; lean_object* x_7; +lean_dec(x_3); +lean_dec(x_1); +x_6 = lean_box(0); +x_7 = lean_apply_1(x_2, x_6); +return x_7; +} +else +{ +lean_object* x_8; +lean_dec(x_5); +lean_dec(x_2); +x_8 = lean_apply_1(x_3, x_1); +return x_8; +} +} +} +} +lean_object* l_Lean_isIOUnitInitFn_match__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_isIOUnitInitFn_match__1___rarg), 3, 0); +return x_2; +} +} +uint8_t l_Lean_isIOUnitInitFn(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_11; lean_object* x_12; +x_11 = l_Lean_builtinInitAttr; +lean_inc(x_2); +x_12 = l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(x_11, x_1, x_2); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_13; +x_13 = lean_box(0); +x_3 = x_13; +goto block_10; +} +else +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_12, 0); +lean_inc(x_14); +lean_dec(x_12); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +lean_dec(x_2); +x_15 = 1; +return x_15; +} +else +{ +lean_object* x_16; +lean_dec(x_14); +x_16 = lean_box(0); +x_3 = x_16; +goto block_10; +} +} +block_10: +{ +lean_object* x_4; lean_object* x_5; +lean_dec(x_3); +x_4 = l_Lean_regularInitAttr; +x_5 = l_Lean_ParametricAttribute_getParam___at_Lean_getInitFnNameForCore_x3f___spec__1(x_4, x_1, x_2); +if (lean_obj_tag(x_5) == 0) +{ +uint8_t x_6; +x_6 = 0; +return x_6; +} +else +{ +lean_object* x_7; +x_7 = lean_ctor_get(x_5, 0); +lean_inc(x_7); +lean_dec(x_5); +if (lean_obj_tag(x_7) == 0) +{ +uint8_t x_8; +x_8 = 1; +return x_8; +} +else +{ +uint8_t x_9; +lean_dec(x_7); +x_9 = 0; +return x_9; +} +} +} +} +} +lean_object* l_Lean_isIOUnitInitFn___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = l_Lean_isIOUnitInitFn(x_1, x_2); +lean_dec(x_1); +x_4 = lean_box(x_3); +return x_4; +} +} +lean_object* lean_get_init_fn_name_for(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = l_Lean_builtinInitAttr; +lean_inc(x_2); +x_4 = l_Lean_getInitFnNameForCore_x3f(x_1, x_3, x_2); +if (lean_obj_tag(x_4) == 0) +{ +lean_object* x_5; lean_object* x_6; +x_5 = l_Lean_regularInitAttr; +x_6 = l_Lean_getInitFnNameForCore_x3f(x_1, x_5, x_2); +lean_dec(x_1); +return x_6; +} +else +{ +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +} uint8_t l_Lean_hasInitAttr(lean_object* x_1, lean_object* x_2) { _start: { @@ -2990,11 +3130,11 @@ x_4 = lean_box(x_3); return x_4; } } -lean_object* l_Lean_setInitAttr(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l_Lean_setBuiltinInitAttr(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; lean_object* x_5; -x_4 = l_Lean_initAttr; +x_4 = l_Lean_regularInitAttr; x_5 = l_Lean_ParametricAttribute_setParam___rarg(x_4, x_1, x_2, x_3); return x_5; } @@ -3018,54 +3158,63 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1___rarg___closed__1 = _init_l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1___rarg___closed__1(); lean_mark_persistent(l___private_Lean_Compiler_InitAttr_0__Lean_getIOTypeArg_match__1___rarg___closed__1); -l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1 = _init_l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1(); -lean_mark_persistent(l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__10___closed__1); -l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___closed__1 = _init_l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___closed__1(); -lean_mark_persistent(l_Lean_registerParametricAttribute___at_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____spec__7___closed__1); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__1 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__1(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__1); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__2 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__2(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__2); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__3 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__3(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__3); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__4 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__4(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__4); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__5 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__5(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__5); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__6 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__6(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__6); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__7 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__7(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__7); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__8 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__8(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__8); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__9); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__10 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__10(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__10); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__11 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__11(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__11); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__12 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__12(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__12); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__13 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__13(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__13); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__14 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__14(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__14); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__15 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__15(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____lambda__1___closed__15); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__3 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__3(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__3); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__4 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__4(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__4); -l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__5 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__5(); -lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__5); -res = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237_(lean_io_mk_world()); +l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1 = _init_l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1(); +lean_mark_persistent(l___private_Init_Data_Array_QSort_1__qpartitionAux___main___at_Lean_registerInitAttr___spec__10___closed__1); +l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___closed__1 = _init_l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___closed__1(); +lean_mark_persistent(l_Lean_registerParametricAttribute___at_Lean_registerInitAttr___spec__7___closed__1); +l_Lean_registerInitAttr___lambda__1___closed__1 = _init_l_Lean_registerInitAttr___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__1); +l_Lean_registerInitAttr___lambda__1___closed__2 = _init_l_Lean_registerInitAttr___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__2); +l_Lean_registerInitAttr___lambda__1___closed__3 = _init_l_Lean_registerInitAttr___lambda__1___closed__3(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__3); +l_Lean_registerInitAttr___lambda__1___closed__4 = _init_l_Lean_registerInitAttr___lambda__1___closed__4(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__4); +l_Lean_registerInitAttr___lambda__1___closed__5 = _init_l_Lean_registerInitAttr___lambda__1___closed__5(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__5); +l_Lean_registerInitAttr___lambda__1___closed__6 = _init_l_Lean_registerInitAttr___lambda__1___closed__6(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__6); +l_Lean_registerInitAttr___lambda__1___closed__7 = _init_l_Lean_registerInitAttr___lambda__1___closed__7(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__7); +l_Lean_registerInitAttr___lambda__1___closed__8 = _init_l_Lean_registerInitAttr___lambda__1___closed__8(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__8); +l_Lean_registerInitAttr___lambda__1___closed__9 = _init_l_Lean_registerInitAttr___lambda__1___closed__9(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__9); +l_Lean_registerInitAttr___lambda__1___closed__10 = _init_l_Lean_registerInitAttr___lambda__1___closed__10(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__10); +l_Lean_registerInitAttr___lambda__1___closed__11 = _init_l_Lean_registerInitAttr___lambda__1___closed__11(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__11); +l_Lean_registerInitAttr___lambda__1___closed__12 = _init_l_Lean_registerInitAttr___lambda__1___closed__12(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__12); +l_Lean_registerInitAttr___lambda__1___closed__13 = _init_l_Lean_registerInitAttr___lambda__1___closed__13(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__13); +l_Lean_registerInitAttr___lambda__1___closed__14 = _init_l_Lean_registerInitAttr___lambda__1___closed__14(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__14); +l_Lean_registerInitAttr___lambda__1___closed__15 = _init_l_Lean_registerInitAttr___lambda__1___closed__15(); +lean_mark_persistent(l_Lean_registerInitAttr___lambda__1___closed__15); +l_Lean_registerInitAttr___closed__1 = _init_l_Lean_registerInitAttr___closed__1(); +lean_mark_persistent(l_Lean_registerInitAttr___closed__1); +l_Lean_registerInitAttr___closed__2 = _init_l_Lean_registerInitAttr___closed__2(); +lean_mark_persistent(l_Lean_registerInitAttr___closed__2); +l_Lean_registerInitAttr___closed__3 = _init_l_Lean_registerInitAttr___closed__3(); +lean_mark_persistent(l_Lean_registerInitAttr___closed__3); +l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1); +l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2); +res = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; -l_Lean_initAttr = lean_io_result_get_value(res); -lean_mark_persistent(l_Lean_initAttr); +l_Lean_regularInitAttr = lean_io_result_get_value(res); +lean_mark_persistent(l_Lean_regularInitAttr); +lean_dec_ref(res); +l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__1 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__1); +l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__2 = _init_l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__2(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378____closed__2); +res = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_378_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +l_Lean_builtinInitAttr = lean_io_result_get_value(res); +lean_mark_persistent(l_Lean_builtinInitAttr); lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } diff --git a/stage0/stdlib/Lean/Elab/Declaration.c b/stage0/stdlib/Lean/Elab/Declaration.c index 52b88d9839..a95d234936 100644 --- a/stage0/stdlib/Lean/Elab/Declaration.c +++ b/stage0/stdlib/Lean/Elab/Declaration.c @@ -309,6 +309,7 @@ lean_object* l_Lean_Elab_Command_elabAxiom_match__4(lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandMutualPreamble___closed__6; extern lean_object* l_Lean_Elab_Command_isDefLike___closed__3; +extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2; lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__1___closed__2; lean_object* l___regBuiltin_Lean_Elab_Command_expandMutualNamespace___closed__1; lean_object* l_Lean_Elab_Command_elabAxiom_match__5(lean_object*); @@ -324,6 +325,7 @@ lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_elabAttr___spec__4_ lean_object* l_List_map___main___at_Lean_resolveGlobalConst___spec__2(lean_object*); lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_isMutualInductive___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandDeclNamespace_x3f___closed__5; +extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1; lean_object* l_Lean_Elab_Command_elabAxiom___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Declaration_0__Lean_Elab_Command_inductiveSyntaxToView___spec__1___closed__3; lean_object* l_Lean_Elab_Command_checkValidCtorModifier(lean_object*, lean_object*, lean_object*, lean_object*); @@ -342,7 +344,6 @@ extern lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Command_elabAttr___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabDeclaration___closed__3; lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Command_expandMutualNamespace___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2; lean_object* l_Lean_Meta_mkForallUsedOnly___at_Lean_Elab_Command_elabAxiom___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandMutualElement_match__2___rarg(lean_object*, lean_object*); uint8_t l___private_Lean_Elab_Declaration_0__Lean_Elab_Command_isMutualInductive(lean_object*); @@ -358,7 +359,6 @@ extern lean_object* l_Lean_Elab_Command_elabNamespace___closed__1; lean_object* l_Lean_Meta_mkForallFVars___at_Lean_Elab_Term_elabForall___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Command_elabMutual___closed__1; lean_object* l_Lean_Elab_Command_elabAxiom_match__1(lean_object*); -extern lean_object* l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1; extern lean_object* l___regBuiltin_Lean_Elab_Command_elabSetOption___closed__2; lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Command_elabAttr___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_expandDeclNamespace_x3f___closed__6; @@ -6478,7 +6478,7 @@ static lean_object* _init_l_Lean_Elab_Command_expandInitialize___closed__33() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1; +x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } @@ -6487,7 +6487,7 @@ static lean_object* _init_l_Lean_Elab_Command_expandInitialize___closed__34() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__1; +x_1 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__1; x_2 = lean_unsigned_to_nat(0u); x_3 = l_Lean_Elab_Command_expandInitialize___closed__33; x_4 = lean_alloc_ctor(0, 3, 0); @@ -6694,7 +6694,7 @@ x_66 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_66, 0, x_65); lean_ctor_set(x_66, 1, x_64); x_67 = lean_array_push(x_21, x_66); -x_68 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2; +x_68 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2; x_69 = l_Lean_addMacroScope(x_14, x_68, x_13); x_70 = l_Lean_Elab_Command_expandInitialize___closed__34; x_71 = lean_alloc_ctor(3, 4, 0); @@ -6776,7 +6776,7 @@ lean_inc(x_111); x_112 = lean_ctor_get(x_2, 1); lean_inc(x_112); lean_dec(x_2); -x_113 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_237____closed__2; +x_113 = l_Lean_initFn____x40_Lean_Compiler_InitAttr___hyg_362____closed__2; lean_inc(x_111); lean_inc(x_112); x_114 = l_Lean_addMacroScope(x_112, x_113, x_111); diff --git a/stage0/stdlib/Lean/KeyedDeclsAttribute.c b/stage0/stdlib/Lean/KeyedDeclsAttribute.c index 80b9ce230b..b399a4daae 100644 --- a/stage0/stdlib/Lean/KeyedDeclsAttribute.c +++ b/stage0/stdlib/Lean/KeyedDeclsAttribute.c @@ -216,6 +216,7 @@ lean_object* l_Lean_Name_toExprAux___main(lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_init___rarg___closed__6; lean_object* l_IO_ofExcept___at_Lean_KeyedDeclsAttribute_declareBuiltin___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Std_AssocList_foldlM___at_Lean_KeyedDeclsAttribute_Table_insert___spec__18(lean_object*); +extern lean_object* l_Lean_regularInitAttr; lean_object* l_Lean_KeyedDeclsAttribute_declareBuiltin___rarg___closed__11; lean_object* l___private_Lean_KeyedDeclsAttribute_3__addExtensionEntry___rarg(lean_object*, lean_object*); lean_object* l_Lean_SMap_find_x3f___at_Lean_KeyedDeclsAttribute_getValues___spec__1(lean_object*); @@ -270,7 +271,6 @@ lean_object* l_Lean_mkConst(lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_getValues___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Std_AssocList_find_x3f___at_Lean_KeyedDeclsAttribute_Table_insert___spec__6___rarg___boxed(lean_object*, lean_object*); lean_object* l_Lean_ofExcept___at_Lean_KeyedDeclsAttribute_init___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_initAttr; lean_object* l_Std_PersistentHashMap_find_x3f___at_Lean_KeyedDeclsAttribute_Table_insert___spec__2___rarg(lean_object*, lean_object*); lean_object* l_Std_HashMapImp_find_x3f___at_Lean_KeyedDeclsAttribute_Table_insert___spec__5___rarg___boxed(lean_object*, lean_object*); lean_object* l_Std_mkHashMap___at_Lean_KeyedDeclsAttribute_ExtensionState_inhabited___spec__1___rarg(lean_object*); @@ -3554,7 +3554,7 @@ lean_dec(x_5); x_58 = lean_ctor_get(x_29, 0); lean_inc(x_58); lean_dec(x_29); -x_59 = l_Lean_initAttr; +x_59 = l_Lean_regularInitAttr; x_60 = lean_box(0); x_61 = l_Lean_ParametricAttribute_setParam___rarg(x_59, x_58, x_8, x_60); x_62 = l_IO_ofExcept___at_Lean_KeyedDeclsAttribute_declareBuiltin___spec__1(x_61, x_6); diff --git a/stage0/stdlib/Lean/Parser/Extension.c b/stage0/stdlib/Lean/Parser/Extension.c index c5e75a2bb4..5a253ec7c9 100644 --- a/stage0/stdlib/Lean/Parser/Extension.c +++ b/stage0/stdlib/Lean/Parser/Extension.c @@ -343,6 +343,7 @@ lean_object* l_Lean_Parser_parserAttributeHooks; lean_object* l___private_Lean_Parser_Extension_13__registerParserAttributeImplBuilder(lean_object*); extern lean_object* l_Lean_Parser_epsilonInfo; lean_object* l_Lean_Parser_notFollowedByTermToken; +extern lean_object* l_Lean_regularInitAttr; lean_object* l_Lean_Parser_getParserPriority(lean_object*); lean_object* l_Lean_Parser_builtinSyntaxNodeKindSetRef; lean_object* l_Lean_Parser_registerBuiltinNodeKind(lean_object*, lean_object*); @@ -426,7 +427,6 @@ lean_object* l_Lean_Parser_compileParserDescr___main___closed__4; extern lean_object* l_Lean_Parser_Parser_inhabited___closed__1; lean_object* l___private_Lean_Data_Trie_3__findAux_x3f___main___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_IO_ofExcept___at___private_Lean_Parser_Extension_10__ParserExtension_addImported___spec__2(lean_object*, lean_object*); -extern lean_object* l_Lean_initAttr; lean_object* l_Std_PersistentHashMap_containsAux___main___at___private_Lean_Parser_Extension_3__addParserCategoryCore___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_List_foldl___main___at_Lean_Parser_addLeadingParser___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Parser_Extension_10__ParserExtension_addImported(lean_object*, lean_object*, lean_object*); @@ -7719,7 +7719,7 @@ lean_dec(x_4); x_37 = lean_ctor_get(x_28, 0); lean_inc(x_37); lean_dec(x_28); -x_38 = l_Lean_initAttr; +x_38 = l_Lean_regularInitAttr; x_39 = lean_box(0); x_40 = l_Lean_ParametricAttribute_setParam___rarg(x_38, x_37, x_8, x_39); x_41 = l_IO_ofExcept___at_Lean_KeyedDeclsAttribute_declareBuiltin___spec__1(x_40, x_6);