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. Learn more →
Top 23 Fp Open-Source Projects
-
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.
-
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.
-
frunk
Funktional generic type-level programming in Rust: HList, Coproduct, Generic, LabelledGeneric, Validated, Monoid and friends.
-
eslint-plugin-functional
ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Effect is a functional library for building and composing asynchronous, concurrent, and reactive programs in TypeScript. It focuses on providing a robust and type-safe way to manage side effects in your programs.
Project mention: Question regarding Recursive datatypes and cats typeclasses (Haskell to Scala) | /r/scala | 2023-07-06Scala 2-only: * Shapeless (there is Shapeless for Scala 3 but less often needed as basic things are in Scala 3)
returns – Make your functions return something meaningful, typed, and safe
Project mention: Ask HN: What are some of the most elegant codebases in your favorite language? | news.ycombinator.com | 2023-06-17
Project mention: Functional Programming Library for Golang by IBM | news.ycombinator.com | 2023-08-17A 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.
Those benchmarks are using a snapshot version of cats-effect. I don't know where that one comes from, but previously they were using a snapshot from https://github.com/typelevel/cats-effect/pull/3332 which had some issues (3.5-6581dc4, 70% performance degradation), which have since been resolved (see that PR for more info and comparative benchmarks).
Project mention: Ask HN: What are some of the most elegant codebases in your favorite language? | news.ycombinator.com | 2023-06-17
So rust doesn't support variadics, but I have heard some murmurings around the topic. In the meantime, you can still do a lot with recursive tras. The frunk crate makes working with them a lot easier: In this case
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.
There are also other approaches. Macro variants making use of `__VA_ARGS__` would be probably the best trade-off. If you want a slightly more ergonomic syntax, something like Metalang99 [1] will help (and the author even wrote a post about this exact subject [2]). Codegen is another option which may work better than other options depending on the situation and exact implementation strategy. And there is always the Reflection TS [3], which may or may not be incorporated to C++26...
[1] https://github.com/Hirrolot/metalang99
[2] https://hirrolot.github.io/posts/pretty-printable-enumeratio...
[3] https://en.cppreference.com/w/cpp/experimental/reflect
This library is FxTS.
Project mention: Boxed: Functional Types and Utilities for TypeScript | news.ycombinator.com | 2023-05-19
Fp related posts
- Python Functional Programming with returns library (type-safety, monads, etc.)
- A hidden power tool for arrays in TS
- Exploring Effect, a meta-state RxJS-like framework
- A better way to handle errors in JavaScript
- opinions about Effect-TS, do you recommend using it? when to use it? When to avoid it? not worth it?
- Effect - A set of libraries to write better TypeScript
- Effect – A set of libraries to write better TypeScript
-
A note from our sponsor - InfluxDB
www.influxdata.com | 25 Apr 2024
Index
What are some of the best open-source Fp projects? This list will help you:
Project | Stars | |
---|---|---|
1 | functional-programming-jargon | 18,524 |
2 | effect | 4,370 |
3 | Shapeless | 3,363 |
4 | returns | 3,280 |
5 | FS2 | 2,321 |
6 | mo | 2,245 |
7 | doobie | 2,117 |
8 | cats-effect | 1,954 |
9 | Monix | 1,920 |
10 | scalajs-react | 1,634 |
11 | Rambda | 1,592 |
12 | frunk | 1,198 |
13 | You-Dont-Need-Loops | 1,052 |
14 | monio | 1,040 |
15 | ts-belt | 1,034 |
16 | kotlin-result | 936 |
17 | frameless | 869 |
18 | metalang99 | 765 |
19 | eslint-plugin-functional | 729 |
20 | FxTS | 719 |
21 | classes | 641 |
22 | Bow | 640 |
23 | boxed | 610 |
Sponsored