mathlib documentation

core / init.meta.widget.tactic_component

meta def widget.tc (π α : Type) :
Type

A component that implicitly depends on tactic_state. For efficiency we always assume that the tactic_state is unchanged between component renderings.

meta def widget.tc.of_component {π α : Type} :
widget.component π αwidget.tc π α
meta def widget.tc.map_action {π α β : Type} (f : α → β) :
widget.tc π αwidget.tc π β
meta def widget.tc.map_props {π ρ α : Type} (f : π → ρ) :
widget.tc ρ αwidget.tc π α
meta def widget.tc.mk_simple {π α : Type} [decidable_eq π] (β σ : Type) (init : π → tactic σ) (update : π → σ → β → tactic × option α)) (view : π → σ → tactic (list (widget.html β))) :
widget.tc π α

Make a tactic component from some init, update, views which are expecting a tactic. The tactic_state never mutates.

meta def widget.tc.stateless {π α : Type} [decidable_eq π] (view : π → tactic (list (widget.html α))) :
widget.tc π α
meta def widget.tc.to_html {π α : Type} :
widget.tc π απ → tactic (widget.html α)
meta def widget.tc.to_component {α : Type} :
widget.tc unit αwidget.component tactic_state α
@[protected, instance]
meta def widget.tc.has_coe_to_fun {π α : Type} :
has_coe_to_fun (widget.tc π α) (λ (x : widget.tc π α), π → tactic (widget.html α))