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

199 stars
4 watching
22 forks
Language: Python
last commit: over 2 years ago

Related projects:

RepositoryDescriptionStars
clojure/algo.monadsA Clojure-based library providing macros and definitions for common data monads.446
heinrichapfelmus/operationalA library for implementing monads by specifying instructions and their operational semantics82
mongodb/pymodmProvides an object-oriented interface to MongoDB353
przemyslawjanpietrzak/pymonetA high-level Python library for functional programming, providing abstract data structures and utilities.34
vickumar1981/pyeffectsImplements functional types for handling side-effects in Python with Either, Option, Try, and Future monads.31
drboolean/freekyA collection of monads for composable and expressive functional programming in JavaScript176
thangiee/freasy-monadA Scala macro-based library for creating typelevel monads with first-class support in IntelliJ114
jsmonk/sweet-monadsProvides a set of monads and interfaces for working with lazy iterators in TypeScript346
mplatvoet/funktionalA Kotlin implementation of monadic types for functional programming.10
raimohanska/monadsAn introduction to monads in the Haskell programming language12
kallanreed/monadsharpA collection of monadic types for C# with focus on readability and usability.1
alex-lairan/monadsA collection of monad implementations for Crystal programming language47
mongodb-labs/pymongoexplainProvides a simplified interface to explain MongoDB commands in PyMongo3
haskell/mtlA collection of monad classes and transformers that enable functional programming in Haskell364