package travesty
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=216c920c872cef2d52fa58e3c49826766a2cf6f2233e64937f18c46c0c5c5388
sha512=3b4f76794666aa3fb16c3639479790df3478a79e6f582b3e66b144e57df26a76580499961dd374f4fb6f3bd2dd7506e2725ed1242bada9deb14eb1916cacd18f
Description
'Travesty' is a library for defining containers with applicative or monadic traversals, inspired by Haskell's Traversable typeclass; it also contains various helpers for monadic code, such as state transformers and extension functions for common monads and containers. It sits on top of Jane Street's Base library and ecosystem.
Published: 30 Oct 2023
README
Travesty
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:
state monads (
Travesty.State
);state transformers (
Travesty.State_transform
);miscellaneous extensions on monads (
Travesty.Monad_exts
) and containers (Travesty.Containers_exts
);extensions and implementations of Travesty signatures for
Base
(Travesty_base_exts
);extra function combinators (
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!
Usage
See the API documentation.
Travesty tries not to shadow existing modules except in the various exts
subpackages.
Contributions
Any and all contributions (pull requests, issues, etc.) are welcome.