Documentation

Lean.Data.Options

Equations
Equations
structure Lean.OptionDecl:
Type
Equations
@[export lean_register_option]
Equations
  • One or more equations did not get rendered due to their size.
@[export lean_get_option_decls_array]
Equations
Equations
  • One or more equations did not get rendered due to their size.
Equations
Equations
  • One or more equations did not get rendered due to their size.
instance Lean.instMonadOptions {m : TypeType} {n : TypeType} [inst : MonadLift m n] [inst : Lean.MonadOptions m] :
Equations
  • Lean.instMonadOptions = { getOptions := liftM Lean.getOptions }
def Lean.getBoolOption {m : TypeType} [inst : Monad m] [inst : Lean.MonadOptions m] (k : Lean.Name) (defValue : optParam Bool false) :
Equations
def Lean.getNatOption {m : TypeType} [inst : Monad m] [inst : Lean.MonadOptions m] (k : Lean.Name) (defValue : optParam Nat 0) :
m Nat
Equations
class Lean.MonadWithOptions (m : TypeType) :
Type 1
Instances
instance Lean.instMonadWithOptions {m : TypeType} {n : TypeType} [inst : MonadFunctor m n] [inst : Lean.MonadWithOptions m] :
Equations
def Lean.withInPattern {m : TypeType} {α : Type} [inst : Lean.MonadWithOptions m] (x : m α) :
m α
Equations
structure Lean.Option (α : Type) :
Type

A strongly-typed reference to an option.

instance Lean.instInhabitedOption:
{a : Type} → [inst : Inhabited a] → Inhabited (Lean.Option a)
Equations
  • Lean.instInhabitedOption = { default := { name := default, defValue := default } }
structure Lean.Option.Decl (α : Type) :
Type
def Lean.Option.get? {α : Type} [inst : Lean.KVMap.Value α] (opts : Lean.Options) (opt : Lean.Option α) :
Equations
def Lean.Option.get {α : Type} [inst : Lean.KVMap.Value α] (opts : Lean.Options) (opt : Lean.Option α) :
α
Equations
def Lean.Option.set {α : Type} [inst : Lean.KVMap.Value α] (opts : Lean.Options) (opt : Lean.Option α) (val : α) :
Equations
def Lean.Option.setIfNotSet {α : Type} [inst : 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
def Lean.Option.register {α : Type} [inst : Lean.KVMap.Value α] (name : Lean.Name) (decl : Lean.Option.Decl α) :
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.