lean4-htt/tests/lean/lcnfTypes.lean.expected.out
Cameron Zwarich e86ab1b1db
fix: make IO.RealWorld opaque (#9631)
This PR makes `IO.RealWorld` opaque. It also adds a new compiler -only
`lcRealWorld` constant to represent this type within the compiler. By
default, an opaque type definition is treated like `lcAny`, whereas we
want a more efficient representation. At the moment, this isn't a big
difference, but in the future we would like to completely erase
`IO.RealWorld` at runtime.
2025-09-08 18:12:19 +00:00

60 lines
4 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Vec.zip : {α : Type u_1} → {n : Nat} → {β : Type u_2} → Vec α lcAny → Vec β lcAny → Vec (α × β) lcAny
mkConstTuple : {α : Type u_1} → α → Nat → lcAny
Fin.add : {n : Nat} → Fin lcAny → Fin lcAny → Fin lcAny
Vec.cons : {α : Type u} → {n : Nat} → α → Vec α lcAny → Vec α lcAny
Eq.rec : {α : Sort u_1} → {a : α} → {motive : α → ◾ → Sort u} → motive lcAny lcAny → {a : α} → ◾ → motive lcAny lcAny
GetElem.getElem : {coll : Type u} →
{idx : Type v} →
{elem : Type w} → {valid : coll → idx → Prop} → [self : GetElem coll idx elem ◾] → coll → idx → ◾ → elem
Term.constFold : {ctx : List Ty} → {ty : Ty} → _root_.Term lcAny lcAny → _root_.Term lcAny lcAny
Term.denote : {ctx : List Ty} → {ty : Ty} → _root_.Term lcAny lcAny → HList lcAny lcAny → lcAny
HList.get : {α : Type u_1} → {β : α → Type u_2} → {is : List α} → {i : α} → HList β lcAny → Member lcAny lcAny → β lcAny
Member.head : {α : Type u_1} → {a : α} → {as : List α} → Member lcAny lcAny
Ty.denote : Ty → Type
MonadControl.liftWith : {m : Type u → Type v} →
{n : Type u → Type w} → [self : MonadControl m n] → {α : Type u} → (({β : Type u} → n β → m lcAny) → m α) → n α
MonadControl.restoreM : {m : Type u → Type v} → {n : Type u → Type w} → [self : MonadControl m n] → {α : Type u} → m lcAny → n α
Decidable.casesOn : {p : Prop} → {motive : Decidable ◾ → Sort u} → Decidable ◾ → (◾ → motive lcAny) → (◾ → motive lcAny) → motive lcAny
Lean.getConstInfo : {m : Type → Type} → [Monad m] → [MonadEnv m] → [MonadError m] → Name → m ConstantInfo
Lean.Meta.instMonadMetaM : Monad fun α =>
Context →
ST.Ref lcRealWorld State →
Core.Context → ST.Ref lcRealWorld Core.State → lcRealWorld → EStateM.Result Exception lcRealWorld α
Lean.Meta.inferType : Expr →
Context →
ST.Ref lcRealWorld State →
Core.Context → ST.Ref lcRealWorld Core.State → lcRealWorld → EStateM.Result Exception lcRealWorld Expr
Lean.Elab.Term.elabTerm : Syntax →
Option Expr →
Bool →
Bool →
Elab.Term.Context →
ST.Ref lcRealWorld Elab.Term.State →
Context →
ST.Ref lcRealWorld State →
Core.Context → ST.Ref lcRealWorld Core.State → lcRealWorld → EStateM.Result Exception lcRealWorld Expr
Nat.add : Nat → Nat → Nat
Magma.mul : Magma → lcAny → lcAny → lcAny
weird1 : Bool → lcAny
lamAny₁ : Bool → Monad fun α => lcAny
lamAny₂ : Bool → Monad lcAny
Term.constFold : {ctx : List Ty} → {ty : Ty} → _root_.Term lcAny lcAny → _root_.Term lcAny lcAny
Term.denote : {ctx : List Ty} → {ty : Ty} → _root_.Term lcAny lcAny → HList Ty lcAny lcAny → lcAny
HList.get : {α β : lcErased} → {is : List lcAny} → {i : lcAny} → HList lcAny lcAny lcAny → Member lcAny lcAny lcAny → lcAny
Member.head : {α : lcErased} → {a : lcAny} → {as : List lcAny} → Member lcAny lcAny lcAny
Ty.denote : lcErased
MonadControl.liftWith : {m n : lcErased} →
[self : MonadControl lcAny lcAny] → {α : lcErased} → (({β : lcErased} → lcAny → lcAny) → lcAny) → lcAny
MonadControl.restoreM : {m n : lcErased} → [self : MonadControl lcAny lcAny] → {α : lcErased} → lcAny → lcAny
Decidable.casesOn : {p motive : lcErased} → Bool → (lcErased → lcAny) → (lcErased → lcAny) → lcAny
Lean.getConstInfo : {m : lcErased} → [Monad lcAny] → [MonadEnv lcAny] → [MonadError lcAny] → Name → lcAny
Lean.Meta.instMonadMetaM : Monad lcAny
Lean.Meta.inferType : Expr → Context → lcAny → Core.Context → lcAny → lcRealWorld → EStateM.Result Exception lcRealWorld Expr
Lean.Elab.Term.elabTerm : Syntax →
Option Expr →
Bool →
Bool →
Elab.Term.Context →
lcAny → Context → lcAny → Core.Context → lcAny → lcRealWorld → EStateM.Result Exception lcRealWorld Expr
Nat.add : Nat → Nat → Nat
Fin.add : {n : Nat} → Nat → Nat → Nat