Travesty is a library for defining containers with applicative traversals, inspired by Haskell's Traversable typeclass. It sits on top of Jane Street's Base library.
Travesty also contains several other bits of Haskell-style applicative functor and monad functionality:
Travesty.State
);Travesty.State_transform
);Travesty.Monad_exts
) and containers (Travesty.Containers_exts
);Base
(Travesty_base_exts
);Travesty_base_exts.Fn
).Note: the Travesty_base_exts
modules form a separate subpackage
(travesty.base_exts
).
Travesty is licenced under the MIT licence, and is a spin-off from the c4f project.
NOTE: I (@MattWindsor91) am no longer actively working on travesty
. As
such, it will receive infrequent updates to keep it aligned with Base
and
OCaml, but not many more new features. Please feel free to file issues and
pull requests, but be patient when waiting for responses!
See the API documentation.
Travesty tries not to shadow existing modules except in the various
exts
subpackages.
Any and all contributions (pull requests, issues, etc.) are welcome.