package traverse
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Traversable data structures with applicative functors
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.3.0.tar.gz
sha512=a29798bf912dc2c2ddce06aafc63f88fce4bf5dd35884c2e2c7b7caa1b2d8e95122e6f6d3b675965145853f530fad856740201f2f349561a15e78591a56e10fe
doc/README.html
traverse: Traversable data structures with applicative functors
This library provides:
- a module signature
Traverse.Applicative.Sfor applicative functors [McBride and Patterson, 2008], - two functions
Traverse.listandTraverse.seqto traverse lists and sequences by a given applicative functor and with a given arity, - many instances of applicative functors:
Traverse.Applicative.{iter, map, reduce, env, fold, pair, forall, exists, option, result, list}.
The purpose of this library is to provide a common dictionary of "visitors", which is orthogonal to the visited data structure. For instance, Traverse.list Traverse.Applicative.iter (S O) is equivalent to List.iter, Traverse.list Traverse.Applicative.map (S (S O)) is equivalent to List.map2, etc. Moreover, one can get a visitor which combine, for instance, both List.map and List.fold_left by invoking Traverse.list Traverse.Applicative.(pair map fold). To get the same visitors for a sequence ('a Seq.t), one just have to replace Traverse.list by Traverse.seq, and it is easy to define a traversal for any algebraic data structures.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>