package travesty
Traversable containers, monad extensions, and more
Install
Dune Dependency
Authors
Maintainers
Sources
travesty-v0.7.0.tbz
sha256=01661918f73f33b0e6d0cf3851c2d5d6ef76b86332a3e76a4958689ff1a6fd3a
sha512=14e9b0e9ae39055c386c5e996055ce59edf57b9bf9b0055722632520f9c9b0270af571576950be982ed2b86e859361c7344166a38a85fa7d28d45be8f3e18c77
doc/travesty.base_exts/Travesty_base_exts/Alist/index.html
Module Travesty_base_exts.Alist
Source
Associative-list extensions.
Defined to let this module be used directly in chaining operations etc.
Associative lists are bi-traversable (and therefore bi-mappable); the left type is keys, and the right type is values.
Here is an example of bi-mapping:
bi_map
[("foo", 27); ("bar", 53); ("baz", 99)]
~left:String.capitalize ~right:Int.neg
(* returns: [("Foo", -27); ("Bar", -53); ("Baz", -99)] *)
include Travesty.Bi_traversable_types.S2 with type ('l, 'r) t := ('l, 'r) t
include Travesty.Bi_traversable_types.Generic
with type ('l, 'r) t := ('l, 'r) t
and type 'l left := 'l
and type 'r right := 'r
include Travesty.Generic_types.Bi_generic
with type ('l, 'r) t := ('l, 'r) t
with type 'l left := 'l
with type 'r right := 'r
We can do non-monadic bi-mapping operations.
include Travesty.Bi_mappable_types.Generic
with type ('l, 'r) t := ('l, 'r) t
and type 'l left := 'l
and type 'r right := 'r
include Travesty.Bi_mappable_types.Basic_generic
with type ('l, 'r) t := ('l, 'r) t
with type 'l left := 'l
with type 'r right := 'r
include Travesty.Generic_types.Bi_generic
with type ('l, 'r) t := ('l, 'r) t
with type 'l left := 'l
with type 'r right := 'r
map_left c ~f
maps f
over the left type of c
only.
module On
(M : Base.Applicative.S) :
Travesty.Bi_traversable_types.Generic_on_applicative
with type ('l, 'r) t := ('l, 'r) t
and type 'l left := 'l
and type 'r right := 'r
and module M := M
On
implements bi-traversal operators for a given applicative functor M
.
module On_monad
(M : Base.Monad.S) :
Travesty.Bi_traversable_types.Generic_on_applicative
with type ('l, 'r) t := ('l, 'r) t
and type 'l left := 'l
and type 'r right := 'r
and module M := Travesty.Monad_exts.App(M)
On_monad
implements bi-traversal operators for a given monad M
.
module With_errors :
Travesty.Bi_traversable_types.Generic_on_applicative
with type ('l, 'r) t := ('l, 'r) t
and type 'l left := 'l
and type 'r right := 'r
and module M := Base.Or_error
With_errors
specialises On_monad
to the error_monad.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>