File: .lake/packages/lean4/src/lean/Lean/Compiler/LCNF/Util.lean

full_name: Lean.Compiler.LCNF.isCompilerRelevantMData
code: /--
Return `true` if `mdata` should be preserved.
Right now, we don't preserve any `MData`, but this may
change in the future when we add support for debugging information
-/
def isCompilerRelevantMData (_mdata : MData) : Bool 
goal: Bool

full_name: Lean.Compiler.LCNF.isLcCast?
code: /--
Return `true` if `e` is a `lcCast` application.
-/
def isLcCast? (e : Expr) : Option Expr 
goal: Option Lean.Expr

full_name: Lean.Compiler.LCNF.CasesInfo.altsRange
code: /--
Store information about `casesOn` declarations.

We treat them uniformly in the code generator.
-/
structure CasesInfo where
  declName     : Name
  arity        : Nat
  numParams    : Nat
  discrPos     : Nat
  altsRange    : Std.Range
  altNumParams : Array Nat
  motivePos    : Nat
goal: Std.Range

full_name: Lean.Compiler.LCNF.CasesInfo
code: /--
Store information about `casesOn` declarations.

We treat them uniformly in the code generator.
-/
structure CasesInfo where
  declName     : Name
  arity        : Nat
  numParams    : Nat
  discrPos     : Nat
  altsRange    : Std.Range
  altNumParams : Array Nat
  motivePos    : Nat
goal: Type

full_name: Lean.Compiler.LCNF.CasesInfo.numParams
code: /--
Store information about `casesOn` declarations.

We treat them uniformly in the code generator.
-/
structure CasesInfo where
  declName     : Name
  arity        : Nat
  numParams    : Nat
  discrPos     : Nat
  altsRange    : Std.Range
  altNumParams : Array Nat
  motivePos    : Nat
goal: Nat

full_name: Lean.Compiler.LCNF.CasesInfo.declName
code: /--
Store information about `casesOn` declarations.

We treat them uniformly in the code generator.
-/
structure CasesInfo where
  declName     : Name
  arity        : Nat
  numParams    : Nat
  discrPos     : Nat
  altsRange    : Std.Range
  altNumParams : Array Nat
  motivePos    : Nat
goal: Lean.Name

full_name: Lean.Compiler.LCNF.CasesInfo.motivePos
code: /--
Store information about `casesOn` declarations.

We treat them uniformly in the code generator.
-/
structure CasesInfo where
  declName     : Name
  arity        : Nat
  numParams    : Nat
  discrPos     : Nat
  altsRange    : Std.Range
  altNumParams : Array Nat
  motivePos    : Nat
goal: Nat

full_name: Lean.Compiler.LCNF.CasesInfo.altNumParams
code: /--
Store information about `casesOn` declarations.

We treat them uniformly in the code generator.
-/
structure CasesInfo where
  declName     : Name
  arity        : Nat
  numParams    : Nat
  discrPos     : Nat
  altsRange    : Std.Range
  altNumParams : Array Nat
  motivePos    : Nat
goal: Array Nat

full_name: Lean.Compiler.LCNF.CasesInfo.arity
code: /--
Store information about `casesOn` declarations.

We treat them uniformly in the code generator.
-/
structure CasesInfo where
  declName     : Name
  arity        : Nat
  numParams    : Nat
  discrPos     : Nat
  altsRange    : Std.Range
  altNumParams : Array Nat
  motivePos    : Nat
goal: Nat

full_name: Lean.Compiler.LCNF.CasesInfo.discrPos
code: /--
Store information about `casesOn` declarations.

We treat them uniformly in the code generator.
-/
structure CasesInfo where
  declName     : Name
  arity        : Nat
  numParams    : Nat
  discrPos     : Nat
  altsRange    : Std.Range
  altNumParams : Array Nat
  motivePos    : Nat
goal: Nat

full_name: Lean.Compiler.LCNF.CasesInfo.numAlts
code: def CasesInfo.numAlts (c : CasesInfo) : Nat 
goal: Nat

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Compiler.LCNF.Util.0.Lean.Compiler.LCNF.getCasesOnInductiveVal?
code: private def getCasesOnInductiveVal? (declName : Name) : CoreM (Option InductiveVal) 
goal: Lean.CoreM (Option Lean.InductiveVal)

full_name: Lean.Compiler.LCNF.getCasesInfo?
code: def getCasesInfo? (declName : Name) : CoreM (Option CasesInfo) 
goal: Lean.CoreM (Option Lean.Compiler.LCNF.CasesInfo)

full_name: Lean.Compiler.LCNF.isCasesApp?
code: def isCasesApp? (e : Expr) : CoreM (Option CasesInfo) 
goal: Lean.CoreM (Option Lean.Compiler.LCNF.CasesInfo)

full_name: Lean.Compiler.LCNF.getCtorArity?
code: def getCtorArity? (declName : Name) : CoreM (Option Nat) 
goal: Lean.CoreM (Option Nat)

full_name: Lean.Compiler.LCNF.builtinRuntimeTypes
code: /--
List of types that have builtin runtime support
-/
def builtinRuntimeTypes : List Name 
goal: List Lean.Name

full_name: Lean.Compiler.LCNF.isRuntimeBultinType
code: /--
Return `true` iff `declName` is the name of a type with builtin support in the runtime.
-/
def isRuntimeBultinType (declName : Name) : Bool 
goal: Bool