DontFearTheProfunctorOptics
λ
DontFearTheProfunctorOptics | λ | |
---|---|---|
3 | 1 | |
409 | 855 | |
0.0% | 0.0% | |
0.0 | 3.4 | |
over 1 year ago | about 1 year ago | |
Haskell | Java | |
- | 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.
DontFearTheProfunctorOptics
-
Apathy is not a tragedy
The best one I know of is this: DontFearTheProfunctorOptics. Hopefully someone else has it translated to other languages - I guess typeclass would be a huge bottleneck.
-
Tying lenses by their focuses
Profunctor optics and the journey to learn the differences between the representations will clear things up. https://github.com/hablapps/DontFearTheProfunctorOptics/blob/master/Optics.md is a great read. The Profunctor have more flexible composition which is both a good and bad thing and is still debated. But understanding them and the notions of Profunctors generally applied to a domain will align your current natural intuition.
λ
What are some alternatives?
haskell-time-range
Javaslang - vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.
vitrea - Optics via the profunctor representation theorem
jOOλ - jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams. The JDK 8's main efforts (default methods, lambdas, and the Stream API) were focused around maintaining backwards compatibility and implementing a functional API for parallelism.
Kinds - Extending F#'s Capabilities Through Various Means
Functional Java - Backport of Java 8's lambda expressions to Java 7, 6 and 5
StreamEx - Enhancing Java Stream API
derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.
underscore-java - java port of Underscore.js
protonpack - Stream utilities for Java 8
Faux Pas - A library that simplifies error handling for Functional Programming in Java
cyclops-react - An advanced, but easy to use, platform for writing functional applications in Java 8.