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.

  • 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.

    Project mention: Javascript futures and Result monads belong together | /r/javascript | 2023-04-08

    I do enjoy a bit of monad'ing. I often use this minimal Maybe in projects, inspired by Folktale and Crocks.

  • 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
  • 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.

  • cyclops-react

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

  • 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.

  • 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: How do you define errors? | /r/Kotlin | 2023-04-17

    Sealed classes in combination with a library like https://github.com/michaelbull/kotlin-result will get you what you need. Essentially at that point you'll be doing error handling the way you would in Rust, where a 1-level deep sealed class containing data classes as children act as the root error type and each of its variants. If you have errors coming from two different domains you just create a wrapper error type for each domain.

  • λ

    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

  • 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.

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). The latest post mention was on 2024-02-27.

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,119
2 Fluture 2,460
3 mo 2,196
4 functionaljava 1,584
5 crocks 1,577
6 purify 1,475
7 fp-go 1,452
8 cyclops-react 1,296
9 fp-core.rs 1,276
10 witchcraft 1,174
11 monio 1,038
12 ts-belt 1,025
13 LtuPatternFactory 973
14 kotlin-result 920
15 λ 855
16 Bow 643
17 Learn-by-doing functional programming course on Scala 606
18 OK 594
19 Eff 570
20 scriptum 381
21 mtl 353
22 fpGo 337
23 effectfuljs 326
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.
www.influxdata.com