Version Literals #
Defines the v!"<ver>" syntax for version literals.
The elaborator attempts to synthesize an instance of DecodeVersion for the
expected type and then applies it to the string literal.
Equations
- Lake.DSL.SemVerCore.toExpr self = Lean.mkApp3 (Lean.mkConst `Lake.SemVerCore.mk) (Lean.toExpr self.major) (Lean.toExpr self.minor) (Lean.toExpr self.patch)
Instances For
@[implicit_reducible]
Equations
- Lake.DSL.instToExprSemVerCore = { toExpr := Lake.DSL.SemVerCore.toExpr, toTypeExpr := Lean.mkConst `Lake.SemVerCore }
Equations
- Lake.DSL.StdVer.toExpr self = Lean.mkApp2 (Lean.mkConst `Lake.StdVer.mk) (Lean.toExpr self.toSemVerCore) (Lean.toExpr self.specialDescr)
Instances For
@[implicit_reducible]
Equations
- Lake.DSL.instToExprStdVer = { toExpr := Lake.DSL.StdVer.toExpr, toTypeExpr := Lean.mkConst `Lake.StdVer }
Equations
- Lake.DSL.ComparatorOp.toExpr Lake.ComparatorOp.lt = Lean.mkConst `Lake.ComparatorOp.lt
- Lake.DSL.ComparatorOp.toExpr Lake.ComparatorOp.le = Lean.mkConst `Lake.ComparatorOp.le
- Lake.DSL.ComparatorOp.toExpr Lake.ComparatorOp.gt = Lean.mkConst `Lake.ComparatorOp.gt
- Lake.DSL.ComparatorOp.toExpr Lake.ComparatorOp.ge = Lean.mkConst `Lake.ComparatorOp.ge
- Lake.DSL.ComparatorOp.toExpr Lake.ComparatorOp.eq = Lean.mkConst `Lake.ComparatorOp.eq
- Lake.DSL.ComparatorOp.toExpr Lake.ComparatorOp.ne = Lean.mkConst `Lake.ComparatorOp.ne
Instances For
@[implicit_reducible]
Equations
- Lake.DSL.instToExprComparatorOp = { toExpr := Lake.DSL.ComparatorOp.toExpr, toTypeExpr := Lean.mkConst `Lake.ComparatorOp }
Equations
- Lake.DSL.VerComparator.toExpr self = Lean.mkApp3 (Lean.mkConst `Lake.VerComparator.mk) (Lean.toExpr self.ver) (Lean.toExpr self.op) (Lean.toExpr self.includeSuffixes)
Instances For
@[implicit_reducible]
Equations
- Lake.DSL.instToExprVerComparator = { toExpr := Lake.DSL.VerComparator.toExpr, toTypeExpr := Lean.mkConst `Lake.VerComparator }
Equations
- Lake.DSL.VerRange.toExpr self = Lean.mkApp2 (Lean.mkConst `Lake.VerRange.mk) (Lean.toExpr self.toString) (Lean.toExpr self.clauses)
Instances For
@[implicit_reducible]
Equations
- Lake.DSL.instToExprVerRange = { toExpr := Lake.DSL.VerRange.toExpr, toTypeExpr := Lean.mkConst `Lake.VerRange }
Equations
- Lake.DSL.InputVer.toExpr Lake.InputVer.none = Lean.mkConst `Lake.InputVer.none
- Lake.DSL.InputVer.toExpr (Lake.InputVer.git rev) = Lean.mkApp (Lean.mkConst `Lake.InputVer.git) (Lean.toExpr rev)
- Lake.DSL.InputVer.toExpr (Lake.InputVer.ver ver) = Lean.mkApp (Lean.mkConst `Lake.InputVer.ver) (Lean.toExpr ver)
Instances For
@[implicit_reducible]
Equations
- Lake.DSL.instToExprInputVer = { toExpr := Lake.DSL.InputVer.toExpr, toTypeExpr := Lean.mkConst `Lake.InputVer }