DSL for Targets & Facets #
Macros for declaring Lake targets and facets.
Facet Declarations #
@[reducible, inline]
abbrev
Lake.DSL.mkModuleFacetDecl
(α : Type)
(facet : Lean.Name)
[OptDataKind α]
[FormatQuery α]
[FamilyDef ModuleData facet α]
(f : Module → FetchM (Job α))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
abbrev
Lake.DSL.mkPackageFacetDecl
(α : Type)
(facet : Lean.Name)
[OptDataKind α]
[FormatQuery α]
[FamilyDef PackageData facet α]
(f : Package → FetchM (Job α))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
abbrev
Lake.DSL.mkLibraryFacetDecl
(α : Type)
(facet : Lean.Name)
[OptDataKind α]
[FormatQuery α]
[FamilyDef LibraryData facet α]
(f : LeanLib → FetchM (Job α))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Custom Target Declaration #
@[reducible, inline]
abbrev
Lake.DSL.mkTargetDecl
(α : Type)
(pkgName target : Lean.Name)
[OptDataKind α]
[FormatQuery α]
[FamilyDef (CustomData pkgName) target α]
(f : NPackage pkgName → FetchM (Job α))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lean Library & Executable Target Declarations #
@[reducible, inline]
abbrev
Lake.DSL.mkConfigDecl
(pkg name kind : Lean.Name)
(config : ConfigType kind pkg name)
[FamilyDef (CustomData pkg) name (ConfigTarget kind)]
[FamilyDef DataType kind (ConfigTarget kind)]
:
KConfigDecl kind
Equations
- Lake.DSL.mkConfigDecl pkg name kind config = { pkg := pkg, name := name, kind := kind, config := config, wf_data := ⋯, kind_eq := ⋯ }
Instances For
External Library Target Declaration #
@[reducible, inline]
abbrev
Lake.DSL.mkExternLibDecl
(pkgName name : Lean.Name)
[FamilyDef (CustomData pkgName) (name.str "static") System.FilePath]
[FamilyDef (CustomData pkgName) name (ConfigTarget ExternLib.configKind)]
:
Equations
- Lake.DSL.mkExternLibDecl pkgName name = Lake.DSL.mkConfigDecl pkgName name Lake.ExternLib.configKind { getPath := cast ⋯ }