A repository to review the main concepts about Functional Programming with Java.
sdk env install
./mvnw clean test -DexcludedGroups=performance,endtoend
./mvnw clean test -DexcludedGroups=performance,endtoend -pl training
./mvnw clean test -DexcludedGroups=performance,endtoend -Dtest=EitherTest -pl training
./mvnw clean compile exec:java -Dexec.mainClass="info.jab.fp.concepts.FunctionalCompositionExamples" -Dexec.args="--enable-preview" -pl training
./mvnw clean test -Dgroups=performance
./mvnw clean test -Dgroups=endtoend
./mvnw versions:display-property-updates
./mvnw versions:display-dependency-updates
./mvnw versions:display-plugin-updates
./mvnw dependency:tree -pl problems
- Lambda Expressions (Functional interfaces, Functions, Supplier, Consumer & Predicates)
- Optional
- Stream API & Gatherers
- CompletableFuture & Structural Concurrency
- Immutable Lists
- Sealed Classes
- Pattern Matching for Switch
- Records & Record Patterns
- Equational Reasoning
- Pure/Impure functions
- Referential Transparency
- Immutability
- Functional composition
- Eager vs Lazy
jwebserver -p 9000 -d "$(pwd)/docs/"
Using the jmh-results.json you can review the performance results:
- https://jmh.morethan.io/
- https://nilskp.github.io/jmh-charts/
- https://github.com/akarnokd/jmh-compare-gui
- https://github.com/jabrena/latency-problems
- https://github.com/forax/loom-fiber
- https://cr.openjdk.org/~vklang/Gatherers.html
- https://github.com/forax/we_are_all_to_gather
- https://www.infoq.com/articles/data-oriented-programming-java/
- https://inside.java/2024/05/23/dop-v1-1-introduction/
- https://inside.java/2024/05/27/dop-v1-1-immutable-transparent-data/
- https://inside.java/2024/05/29/dop-v1-1-model-data/