Monad

Top 23 Monad Open-Source Projects

  • language-ext

    C# functional language extensions - a base class library for functional programming

  • Project mention: The Monad Invasion - Part 2: Monads in Action! | dev.to | 2024-02-27

    You probably noticed that .SetName() returns a Either. You may have come across Unit in libraries like MediatR or Language-Ext. It's a simple construct representing a type with only one possible value. We use it as a placeholder for operations that do not return a value but may return another state. In our example, .SetName() is a Command that does not return a value but may fail. Therefore, the monad Either carries two possible states: Right (without value) or Left (with an Error).

  • Fluture

    🦋 Fantasy Land compliant (monadic) alternative to Promises

  • Project mention: Ask HN: Who wants to be hired? (December 2023) | news.ycombinator.com | 2023-12-01

    My name is Aldwin. I'm back-end-leaning full-stack (web-) developer with over 13 years of full time professional experience at various software development agencies. Besides that, I have years of hobby-programming and open-source experience, with Fluture[1] being my most well-received.

    I've been leading small teams for the last eight years, focusing on developer enabling work such as process management, devops, software architecture, and coaching.

    I'm very passionately in particular about functional programming, and I'm hoping to coach teams when it comes to the cross-over between functional programming and software architecture - something a lot of developers who are new to FP struggle with.

    Although I have been involved in a huge variety of software types, I'm particularly well-experienced when it comes to real-time, offline-first web-applications and real-time data processing.

    [1]: https://github.com/fluture-js/Fluture

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • mo

    🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...)

  • Project mention: Functional Programming Library for Golang by IBM | news.ycombinator.com | 2023-08-17

    A simple alternative is the combination of:

    - https://github.com/samber/lo

    - https://github.com/samber/mo

    The split is also nice as you can choose to just use the generic convenience functions from lo without the more FP related things from mo.

  • functionaljava

    Functional programming in Java

  • crocks

    A collection of well known Algebraic Data Types for your utter enjoyment.

  • purify

    Functional programming library for TypeScript - https://gigobyte.github.io/purify/

  • fp-go

    functional programming library for golang (by IBM)

  • Project mention: IBM/fp-go: functional programming library for golang | /r/functionalprogramming | 2023-08-19
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • fp-core.rs

    A library for functional programming in Rust

  • Project mention: Is Scala worth learning in 2023? | /r/scala | 2023-06-29

    Learn something that pays the bill first - nowadays it's Golang/Rust react/typescript. Then you can try some pure fp libs like fp-ts and fp-core.rs, and look through existing scala cats docs. If you'll feel bad about it - that's totally fine and expectable, fp takes a paradigm shift and not that many dev able to shift their brains way of thought due to basic psychological rigidity) (inability to change habits and to modify concepts/attitudes once developed). And that's purely a staffing and management issue - folks hired randoms out of the blue, and called 'em a team.

  • cyclops-react

    An advanced, but easy to use, platform for writing functional applications in Java 8.

  • witchcraft

    Monads and other dark magic for Elixir

  • monio

    The most powerful IO monad implementation in JS, possibly in any language!

  • ts-belt

    🔧 Fast, modern, and practical utility library for FP in TypeScript.

  • LtuPatternFactory

    Lambda the ultimate Pattern Factory: FP, Haskell, Typeclassopedia vs Software Design Patterns

  • kotlin-result

    A multiplatform Result monad for modelling success or failure operations.

  • Project mention: JEP draft: Exception handling in switch | news.ycombinator.com | 2024-04-19

    Author here. I have no idea what you could possibly mean with this comment. The coroutineBinding implementation correctly uses the coroutines API for parallel decomposition of Result bindings, exactly how the Kotlin Corotines guide tells you to (backed by a [Mutex](https://github.com/michaelbull/kotlin-result/blob/master/kot...)). The coroutineBinding isn't even the main selling point of the library, you can use it without using this feature entirely.

    Please could you elaborate on what "looking thread safe" means to you? The only portion of the library that supports concurrency *is* thread safe - the unit tests prove it and the use of concurrency primitives such as Kotlin's Mutex are indicative of this. I truly have no idea how you've judged the entirely of the lbirary on whether it's "thread safe" when there is a single function that's related to concurrency and it is very clearly using concurrency primitives.

  • λ

    Functional patterns for Java

  • Bow

    🏹 Bow is a cross-platform library for Typed Functional Programming in Swift

  • Learn-by-doing functional programming course on Scala

    learn-by-doing course/tutorial for functional programming on scala

  • OK

    Elegant error/exception handling in Elixir, with result monads.

  • Eff

    Eff monad for cats - https://atnos-org.github.io/eff

  • scriptum

    Functional Programming Unorthodoxly Adjusted to Client-/Server-side Javascript

  • mtl

    The Monad Transformer Library

  • fpGo

    Monad, Functional Programming features for Golang

  • effectfuljs

    JavaScript embedded effects compiler

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Monad related posts

Index

What are some of the best open-source Monad projects? This list will help you:

Project Stars
1 language-ext 6,159
2 Fluture 2,469
3 mo 2,245
4 functionaljava 1,585
5 crocks 1,582
6 purify 1,480
7 fp-go 1,479
8 fp-core.rs 1,296
9 cyclops-react 1,296
10 witchcraft 1,175
11 monio 1,040
12 ts-belt 1,034
13 LtuPatternFactory 976
14 kotlin-result 936
15 λ 855
16 Bow 640
17 Learn-by-doing functional programming course on Scala 604
18 OK 598
19 Eff 570
20 scriptum 382
21 mtl 356
22 fpGo 340
23 effectfuljs 328

Sponsored
The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com