A library of rust-styled monad utils for python.


Keywords
monad, functional, rust, pure-python, fp
Licenses
MIT/Apache-2.0
Install
pip install monad-std==0.4.0

Documentation

Logo

Monad STD

GitHub Workflow Status (with event) python version codecov PyPI - Downloads

monad_std is a library that provides some useful Rust-styled utilities for using monads in Python.

Quick Start

To install this library, simply use your favorite package manager, here we use pure pip.

pip install monad-std

Then, import the library:

>>> from monad_std import *
>>> Ok(2)
Result::Ok(2)

Now you could use the utilities this library provides. For more information and examples, see the documentation above.

For a better guide, see the documentation's quick start guide.

Contribution

Any issue and pull request is welcomed, and you can directly make a pr for new features or open an issue for bug reports.

Future Plan

Until now, this library provides the following features:

  • monad_std.Option: An optional value.
  • monad_std.Result: A structure containing a success value or an error.
    • monad_std.Ok: A successful value.
    • monad_std.Err: An error value.
  • monad_std.std_types: Wrapped api around std types.
  • monad_std.iter: Iterator interface with functors and monads support.
  • monad_std.Either: A structure containing two type of values, but not that specific like monad_std.Result. (Currently under development.)