Equations
- Lean.Options.empty = { entries := [] }
Instances For
Equations
- Lean.instInhabitedOptions = { default := { entries := [] } }
Equations
Equations
- Lean.instForInOptionsProdNameDataValue = inferInstanceAs (ForIn m Lean.KVMap (Lake.Name × Lean.DataValue))
Equations
- declName : Lake.Name
- defValue : Lean.DataValue
- group : String
- descr : String
Instances For
Equations
- Lean.instInhabitedOptionDecl = { default := Lean.OptionDecl.mk default default default }
Equations
Instances For
Equations
- Lean.instInhabitedOptionDecls = { default := ∅ }
@[export lean_register_option]
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
@[export lean_get_option_decls_array]
Equations
- Lean.getOptionDeclsArray = do let decls ← Lean.getOptionDecls pure (Lean.RBMap.fold (fun r k v => Array.push r (k, v)) #[] decls)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.getOptionDefaultValue name = do let decl ← Lean.getOptionDecl name pure decl.defValue
Instances For
Equations
- Lean.getOptionDescr name = do let decl ← Lean.getOptionDecl name pure decl.descr
Instances For
instance
Lean.instMonadOptions
{m : Type → Type}
{n : Type → Type}
[MonadLift m n]
[Lean.MonadOptions m]
:
def
Lean.getBoolOption
{m : Type → Type}
[Monad m]
[Lean.MonadOptions m]
(k : Lake.Name)
(defValue : optParam Bool false)
:
m Bool
Equations
- Lean.getBoolOption k defValue = do let opts ← Lean.getOptions pure (Lean.KVMap.getBool opts k defValue)
Instances For
def
Lean.getNatOption
{m : Type → Type}
[Monad m]
[Lean.MonadOptions m]
(k : Lake.Name)
(defValue : optParam Nat 0)
:
m Nat
Equations
- Lean.getNatOption k defValue = do let opts ← Lean.getOptions pure (Lean.KVMap.getNat opts k defValue)
Instances For
- withOptions : {α : Type} → (Lean.Options → Lean.Options) → m α → m α
Instances
instance
Lean.instMonadWithOptions
{m : Type → Type}
{n : Type → Type}
[MonadFunctor m n]
[Lean.MonadWithOptions m]
:
Equations
- Lean.instMonadWithOptions = { withOptions := fun {α} f x => monadMap (fun {β} => Lean.withOptions f) x }
Remark: _inPattern
is an internal option for communicating to the delaborator that
the term being delaborated should be treated as a pattern.
Equations
- Lean.withInPattern x = Lean.withOptions (fun o => Lean.KVMap.setBool o `_inPattern true) x
Instances For
Equations
- Lean.Options.getInPattern o = Lean.KVMap.getBool o `_inPattern
Instances For
Equations
- Lean.instInhabitedOption = { default := { name := default, defValue := default } }
def
Lean.Option.get?
{α : Type}
[Lean.KVMap.Value α]
(opts : Lean.Options)
(opt : Lean.Option α)
:
Option α
Equations
- Lean.Option.get? opts opt = Lean.KVMap.get? opts opt.name
Instances For
Equations
- Lean.Option.get opts opt = Lean.KVMap.get opts opt.name opt.defValue
Instances For
def
Lean.Option.set
{α : Type}
[Lean.KVMap.Value α]
(opts : Lean.Options)
(opt : Lean.Option α)
(val : α)
:
Equations
- Lean.Option.set opts opt val = Lean.KVMap.set opts opt.name val
Instances For
def
Lean.Option.setIfNotSet
{α : Type}
[Lean.KVMap.Value α]
(opts : Lean.Options)
(opt : Lean.Option α)
(val : α)
:
Similar to set
, but update opts
only if it doesn't already contains an setting for opt.name
Equations
- Lean.Option.setIfNotSet opts opt val = if Lean.KVMap.contains opts opt.name = true then opts else Lean.Option.set opts opt val
Instances For
def
Lean.Option.register
{α : Type}
[Lean.KVMap.Value α]
(name : Lake.Name)
(decl : Lean.Option.Decl α)
(ref : autoParam Lake.Name _auto✝)
:
IO (Lean.Option α)
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.