A linear data traversible is a functor of type t a where you can apply a
linear effectful action of type a %1-> f b on each value of type a and
compose this to perform an action on the whole functor, resulting in a value
of type f (t b).
To learn more about Traversable, see here:
"Applicative Programming with Effects", by Conor McBride and Ross Paterson, Journal of Functional Programming 18:1 (2008) 1-13, online at http://www.soi.city.ac.uk/~ross/papers/Applicative.html.
"The Essence of the Iterator Pattern", by Jeremy Gibbons and Bruno Oliveira, in Mathematically-Structured Functional Programming, 2006, online at http://web.comlab.ox.ac.uk/oucl/work/jeremy.gibbons/publications/#iterator.
"An Investigation of the Laws of Traversals", by Mauro Jaskelioff and Ondrej Rypacek, in Mathematically-Structured Functional Programming, 2012, online at http://arxiv.org/pdf/1202.2919.
Methods
traverse :: Applicative f => (a %1 -> f b) -> t a %1 -> f (t b)sequence :: Applicative f => t (f a) %1 -> f (t a)
Instances23Traversable, …
Traversable Par1Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable MaybeDefined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable []Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableKnownNat n => Traversable (V n)Defined in linear-base-0.4.0 · Data.V.Linear.Internal.Instances · orphanTraversable U1Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable UAddrDefined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable UCharDefined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable UDoubleDefined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable UFloatDefined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable UIntDefined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable UWordDefined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable V1Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable (Either a)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable (Tuple2 a)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable (Const a)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable (Tuple3 a b)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable (K1 i v)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable (Tuple4 a b c)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.Traversable(Traversable f, Traversable g) => Traversable (f :*: g)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.Traversable(Traversable f, Traversable g) => Traversable (f :+: g)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable (Tuple5 a b c d)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.TraversableTraversable f => Traversable (M1 i c f)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.Traversable(Traversable f, Traversable g) => Traversable (f :.: g)Defined in linear-base-0.4.0 · Data.Functor.Linear.Internal.Traversable