mathlib documentation

core / init.meta.task

meta constant task  :
Type uType u

A task is a promise to produce a value later. They perform the same role as promises in JavaScript.

meta constant task.get {α : Type u} (t : task α) :
α

meta constant task.pure {α : Type u} (t : α) :
task α

meta constant task.map {α : Type u} {β : Type v} (f : α → β) (t : task α) :
task β

meta constant task.flatten {α : Type u} :
task (task α)task α

meta def task.bind {α : Type u} {β : Type v} (t : task α) (f : α → task β) :
task β

meta def task.delay {α : Type u} (f : unit → α) :
task α