Documentation

Lean.Compiler.LCNF.Main

We do not generate code for declName if

  • Its type is a proposition.
  • Its type is a type former.
  • It is tagged as [macro_inline].
  • It is a type class instance.

Remark: we still generate code for declarations tagged as [inline] and [specialize] since they can be partially applied.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Lean.Compiler.LCNF.checkpoint {pu : Purity} (stepName : Name) (decls : Array (Decl pu)) (shouldCheck : Bool) :

    A checkpoint in code generation to print all declarations in between compiler passes in order to ease debugging. The trace can be viewed with set_option trace.Compiler.step true.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      Instances For

        Saves postponed compileDecls calls.

        We use this state both in lean when doing post-hoc compilation of non-meta declarations on #eval etc. as well as in leanir to do separate compilation of all defs.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For