pymonad

Monad library

An implementation of monads and related data structures in Python.

PyMonad implements data structures typically available in pure functional or functional first programming languages like Haskell and F#. Included are Monad and Monoid data types with several common monads included - such as Maybe and State - as well as some useful tools such as the @curry decorator for defining curried functions. PyMonad 2.x.x represents an almost complete re-write of the library with a simpler, more consistent interface as well as type annotations to help ensure correct usage.

GitHub

198 stars
4 watching
22 forks
Language: Python
last commit: 7 months ago

Related projects:

Repository Description Stars
clojure/algo.monads A Clojure-based library providing macros and definitions for common data monads. 448
heinrichapfelmus/operational A library for implementing monads by specifying instructions and their operational semantics 82
mongodb/pymodm Provides an object-oriented interface to MongoDB 354
przemyslawjanpietrzak/pymonet A high-level Python library for functional programming, providing abstract data structures and utilities. 34
vickumar1981/pyeffects Implements functional types for handling side-effects in Python with Either, Option, Try, and Future monads. 31
drboolean/freeky A collection of monads for composable and expressive functional programming in JavaScript 176
thangiee/freasy-monad A Scala macro-based library for creating typelevel monads with first-class support in IntelliJ 114
jsmonk/sweet-monads Provides a set of monads and interfaces for working with lazy iterators in TypeScript 346
mplatvoet/funktional A Kotlin implementation of monadic types for functional programming. 10
raimohanska/monads An introduction to monads in the Haskell programming language 12
kallanreed/monadsharp A collection of monadic types for C# with focus on readability and usability. 1
cyrusofeden/towel A library that provides a simple Maybe monad implementation in Elixir. 99
alex-lairan/monads A collection of monad implementations for Crystal programming language 47
mongodb-labs/pymongoexplain Provides a simplified interface to explain MongoDB commands in PyMongo 3
haskell/mtl A collection of monad classes and transformers that enable functional programming in Haskell 367