The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Monad Open-Source Projects
-
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).
-
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.
-
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.
-
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.
-
-
I do enjoy a bit of monad'ing. I often use this minimal Maybe in projects, inspired by Folktale and Crocks.
-
-
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.
-
-
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.
-
-
-
-
LtuPatternFactory
Lambda the ultimate Pattern Factory: FP, Haskell, Typeclassopedia vs Software Design Patterns
-
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.
-
-
-
Learn-by-doing functional programming course on Scala
learn-by-doing course/tutorial for functional programming on scala
-
-
-
-
-
-
-
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.
Monad related posts
- IBM/fp-go: functional programming library for golang
- How do you define errors?
- Is runCatching in use in any of your projects ? My team is abusing it
- A new milestone for Letlang - Effect Handlers
- Elixir Railway Oriented Programming
- [AskJS] I've often read a lot of "if" statements can quickly turn into an anti pattern and convolute code. What are some strategies to avoid unnecessary "if" statements and ways to notice when you start to introduce this anti pattern?
- Monad Transformer Compatibility
-
A note from our sponsor - WorkOS
workos.com | 28 Mar 2024
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 |