Skip to content

jabrena/functional-rosetta-stone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

aaf8f14 · Jun 22, 2024
May 20, 2024
May 20, 2024
May 20, 2024
May 25, 2024
May 31, 2024
May 25, 2024
May 29, 2024
Jun 22, 2024
May 20, 2024
May 20, 2024
Jul 6, 2019
Jun 22, 2024
Jul 16, 2019
Jul 16, 2019
Jul 16, 2019
May 20, 2024
May 20, 2024
May 29, 2024

Repository files navigation

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 -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