Documentation

Lake.Toml.Elab.Expression

TOML Expression Elaboration #

Elaborates top-level TOML syntax into a Lean Toml.Table.

The manner in which a TOML key was declared.

  • value : KeyTy

    A key declared via key = v.

  • stdTable : KeyTy

    A key declared via [key].

  • array : KeyTy

    A key declared via [[key]].

  • dottedPrefix : KeyTy

    A key declared via key.foo.

  • headerPrefix : KeyTy

    A key declared via [key.foo] or [[key.foo]].

Instances For
    Equations
      Instances For
        Equations
          Instances For
            Instances For
              Instances For
                @[reducible, inline]
                Equations
                  Instances For
                    def Lake.Toml.elabSubKeys (ks : Array (Lean.TSyntax `Lake.Toml.simpleKey)) :
                    Equations
                      Instances For
                        def Lake.Toml.elabKeyval (kv : Lean.TSyntax `Lake.Toml.keyval) :
                        Equations
                          Instances For
                            Equations
                              Instances For
                                def Lake.Toml.elabStdTable (x : Lean.TSyntax `Lake.Toml.stdTable) :
                                Equations
                                  Instances For
                                    def Lake.Toml.elabArrayTable (x : Lean.TSyntax `Lake.Toml.arrayTable) :
                                    Equations
                                      Instances For
                                        def Lake.Toml.elabExpression (x : Lean.TSyntax `Lake.Toml.expression) :
                                        Equations
                                          Instances For

                                            Construct a table of simple key-value pairs from arbitrary key-value pairs.

                                            For example:

                                            {a.b := [c.d := 0]}, {a.b := [c.e := 1]}

                                            becomes

                                            {a := {b := [{c := {d := 0, e := 1}}]}}

                                            Equations
                                              Instances For
                                                partial def Lake.Toml.mkSimpleTable.insert (t : Table) (kRef : Lean.Syntax) (k : Lean.Name) (ks : List Lean.Name) (newV : Value) :
                                                def Lake.Toml.elabToml (x : Lean.TSyntax `Lake.Toml.toml) :
                                                Equations
                                                  Instances For