Structures · Data types
Traversable
A traversable functor is a functor along with a way to commute
with all applicative functors (see sequence). For example, if t
is the traversable functor List and m is the applicative functor
IO, then given a function f : α → IO β, the function Functor.map f is
List α → List (IO β), but traverse f is List α → IO (List β).
- Defined in
- Mathlib.Control.Traversable.Basic
- Shape
- One type argument · adds traverse
Extends1
Extended by1
Forgetful instances
Provided automatically by
Concrete types that are instances11
- FreeMagma
- FreeSemigroup
- FreeAddMagma
- FreeAddSemigroup
- Batteries.DList
- BinaryTree
- flip
- Sum
- List
- Option
- Id
How is a type an instance?
Loading the hierarchy index…
Assumed by52
- Traversable.traverse
- Traversable.foldMap
- Traversable.toList
- Traversable.traverse_map
- sequence
- Traversable.toList_spec
- Equiv.traverse
- Traversable.foldMap_map
- Traversable.foldMap_hom_free
- Equiv.comp_traverse
- Traversable.map_eq_traverse_id
- Traversable.foldr
- Traversable.foldMap_hom
- Traversable.foldrm
- Traversable.foldl
- Equiv.id_traverse
- Traversable.foldlm
- Equiv.naturality
- Equiv.traverse_eq_map_id
- Traversable.map_traverse'
- Traversable.traverse_comp
- Equiv.traverse_def
- Traversable.length
- Equiv.traversable
- Traversable.foldl_toList
- Traversable.map_traverse
- Traversable.foldr_map
- Traversable.comp_sequence
- Traversable.foldl_map
- instBitraversableBicompl
- Traversable.foldr_toList
- Traversable.foldrm_toList
- Traversable.toFunctor
- Traversable.naturality'
- Traversable.foldlm_toList
- Equiv.isLawfulTraversable'
- Traversable.naturality_pf
- Traversable.traverse_eq_map_id'
- Bicompr.bitraverse
- Traversable.traverse_map'
- Equiv.isLawfulTraversable
- instBitraversableBicompr
- Traversable.pure_traverse
- Traversable.length_toList
- Traversable.id_sequence
- Traversable.foldrm_map
- Traversable.traverse_id
- Traversable.toList_map
- Traversable.foldlm_map
- instLawfulBitraversableBicomplOfLawfulTraversable