effects-bibliography
functional-programming-jargon
effects-bibliography | functional-programming-jargon | |
---|---|---|
5 | 17 | |
913 | 18,533 | |
- | - | |
7.2 | 2.5 | |
19 days ago | 7 months ago | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
effects-bibliography
-
Better Java logging, inspired by Clojure and Rust
In addition to those 2 (which I think have phenomenal documentation), the language Eff has more theoretical introduction. There is also the Effect bibliography which has a lot of different effect system in different languages, as well as tutorials and academic papers on the subject.
- How Side Effects Work in FP
- Effects bibliography – bibliography of work related to computational effects
-
Effekt, a research language with effect handlers and lightweight polymorphism
I think it goes back to the neverending quest to find ways of representing computation that allows of ease of composition, changing implementation details, eliminating classes of errors by construction, etc. Monads have had some success in this arena, but they have notable issues with composition; monad transformers help, but can become unwieldy in their own ways.
An alternative are effects, hypothetically allowing for ease in building programs as separate but composeable components which can then be freely mixed in or swapped out. In practice I have found working with effect systems in Haskell via libraries stresses the type system so much you end up with scoped type variables and type applications everywhere. My understanding is that the theory behind using effects to structure computations comes from category theory's Lawvere theories (see e.g. Pretnar's 2010 dissertation on https://github.com/yallop/effects-bibliography). Lawvere theories give rise to many monads (see Bartosz Milewski's article on it -- https://bartoszmilewski.com/2017/08/26/lawvere-theories/), but with nicer compositional properties.
This is where languages like Effekt, Eff, Frank, and Koka come in -- by writing the entire language and type system to support the theories, a lot of the pain of expressing it in Haskell can be avoided.
-
Multicore OCaml: February 2021 with new preprint on Effect Handlers
Not really an answer but Jeremy Yallop maintains a bibliography on the theory and practice of computational effects.
functional-programming-jargon
-
JavaScript-algorithms: Algorithms and data structures implemented in JavaScript
Another useful resource is Functional Jargon Explained (in Javascript): https://github.com/hemanth/functional-programming-jargon
-
What’s so great about functional programming anyway?
Functional Programming Jargon is great at explaining these concepts. Monad: https://github.com/hemanth/functional-programming-jargon#mon...
Purists will say it's not entirely correct, but we don't care about purism :)
- Ask HN: I like studying the concept of abstractions
-
Okay, so have you Heard about monads?
I've recently read this thing that really helped monads "click" for me. I find it useful to learn things by example, maybe you do too.
-
Functional programming jargon in plain English
Be the change you want to see in the world haha
https://github.com/hemanth/functional-programming-jargon/pul...
-
Hacker News top posts: Jul 4, 2022
Functional programming jargon in plain English\ (73 comments)
- Jargon from the functional programming world in simple terms
-
How Side Effects Work in FP
There's "Functional Programming Jargon" which explains all these concepts in Javascript: https://github.com/hemanth/functional-programming-jargon
- Functional Programming Jargon
What are some alternatives?
effekt - A research language with effect handlers and lightweight effect polymorphism
result4k
ocaml-multicore - Multicore OCaml
mostly-adequate-guide - Mostly adequate guide to FP (in javascript)
koka - Koka language compiler and interpreter
popcorn-android - Popcorn Time is a multi-platform, free software BitTorrent client that includes an integrated media player ( Android / AndroidTV ) A Butter-Project Fork
frank - Frank compiler
pratica - 🥃 Functional Algebraic Data Types
functional-programming - Introduction to Functional Programming using TypeScript and fp-ts.
You-Dont-Need-Loops - Avoid The One-off Problem, Infinite Loops, Statefulness and Hidden intent.
awesome-functional-programming - Yet another resource for collecting articles, videos etc. regarding functional programming
Persistent Collection - A Persistent Java Collections Library