GitHunt
JA

jabrena/101-functional-programming

A repository to review the main concepts about Functional Programming with Java

Functional Rosetta Stone

Java CI

Goal

A repository to review the main concepts about Functional Programming with Java.

How to build the project in local?

sdk env install

./mvnw clean test -pl examples/app
./mvnw clean spring-boot:run -pl examples/app
./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 

Functional programming features in Java

Functional programming features

  • Equational Reasoning
  • Pure/Impure functions
  • Referential Transparency
  • Immutability
  • Functional composition
  • Eager vs Lazy

How to run the presentation in local?

jwebserver -p 9000 -d "$(pwd)/docs/"

Performance

Using the jmh-results.json
you can review the performance results:

References

Languages

HTML75.0%Java24.8%Gherkin0.1%Dockerfile0.1%

Contributors

Apache License 2.0
Created February 18, 2019
Updated February 14, 2026
jabrena/101-functional-programming | GitHunt