Frege is a Haskell for the JVM. Like any Haskell, it is purely functional, enjoys a strong static type system with global type inference and non-strict – also known as lazy – evaluation. Frege compiles to Java, runs on the JVM, and uses any Java library you want. It can be used inside any Java project.

Our training courses

Frege Kickstart

Following this course, you will learn purely functional programming in the Haskell style, brought to the JVM through the Frege project. You will experience the benefits of value-based programming that avoids mutable state and allows effects only in a tightly controlled manner. Your code will become easy to reason about and safe for parallel and concurrent execution. It will remain robust under refactoring and when developing incrementally.

We will compare traditional approaches from the imperative object-oriented world and work through their functional equivalents.

In each course, theory is examined in greater depth during the course using examples from developers’ daily work. We would be more than pleased to address your special requirements and interests during the course.