Top 12 Applicative 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.
-
Learn-by-doing functional programming course on Scala
learn-by-doing course/tutorial for functional programming on scala
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
free-arrow
Implementation of the Free Arrow in Scala and other helpful tools for working with Arrows
-
applicative-quoters
(no longer maintained) Quasiquoters for working with Control.Applicative, taken from haskell-src-meta
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).
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.
If you're interested in category theory, I have compiled a list of resources quite recently: https://github.com/madnight/awesome-category-theory
Project mention: The Deep Link Equating Math Proofs and Computer Programs | news.ycombinator.com | 2023-10-11my first thought was something something dependent types (Idris, Agda), but it also sounds like TS-like structural typing with a Rust-like Result type. proving that every incoming message is either parsed correctly or we return an error seems to be the basic building block. and then every transformation should be other pure functions.
thought I guess you mean something more top-downish? for that there's "program interpretation" ( https://github.com/AdrielC/free-arrow )
plus something very heavy-handed https://deepai.org/publication/a-coq-based-synthesis-of-scal...
Applicative related posts
Index
What are some of the best open-source Applicative projects? This list will help you:
Project | Stars | |
---|---|---|
1 | language-ext | 6,176 |
2 | fp-core.rs | 1,296 |
3 | witchcraft | 1,177 |
4 | optparse-applicative | 898 |
5 | Learn-by-doing functional programming course on Scala | 604 |
6 | cpsfy | 68 |
7 | validation-selective | 65 |
8 | awesome-category-theory | 50 |
9 | free-arrow | 17 |
10 | applicative-quoters | 11 |
11 | par-dual | 4 |
12 | applicative-splice | 3 |
Sponsored