0 o a o
© What's New in Higher-Kinded-J 0.2.0
Massive Optics Expansion
This release dramatically expands the optics library with 6 new optic types and dozens of utility classes:
+ Fold, Getter, Setter: New fundamental optic types for read-only queries, single-element access, and write-only modifications
+ Indexed Optics: Position-aware transformations with IndexedTraversal , IndexedFold ,and IndexedLens
+ Filtered Traversals: Compose predicates directly into optic chains with filtered() and filterBy()
+ Limiting Traversals: Focus on specific portions of lists with taking() , dropping() , takingwhile() , slicing() , etc.
+ PartsOf: Transform all focused elements as a single list with operations like sorted() , reversed() , distinct()
+ Fluent API: New operator-style API with Free Monad DSL for building composable optic programs with multiple interpreters
New Functional Programming Primitives
+ FreeMonad: Build domain-specific languages (DSLs) with stack-safe execution and multiple interpreters
+ Trampoline: Stack-safe recursion support for tail-call optimization
+ Const Functor: Phantom type parameter support for advanced type-level programming
+ Alternative Type Class: Choice and failure operations for applicative functors
Enhanced Type Classes
+ Monoid: New methods ( firstOptional() , lastOptional() , maximum() , minimum() ) and instances (Long, Double)
+ Monad: Added flatMap2-5 for sequencing multiple monadic values with effectful combining functions
Six new Composable Optics and a FreeMonad DSL all in the latest #higher-kinded-j release
check it out higher-kinded-j.github.io/optics/optic...
#Java #FunctionalProgramming #Monads #Optics