Eta is a dialect of Haskell on the Java Virtual Machine.

Eta is a pure functional language designed for practical use modelled after Haskell. It has a combination of purity, laziness and strong typing making developers highly productive. These features allow developers to focus more on describing their problem rather than focusing on how to give commands to a machine on how to accomplish their task.

Eta runs on the Java Virtual Machine allowing large companies to integrate it into their existing systems. It provides a type-safe Foreign Function Interface (FFI) mechanism that allows you to access existing Java, Scala, Clojure, and Groovy libraries with ease while keeping the nice properties of the language.

Eta shares the compiler infrastructure with GHC, the Glasgow Haskell Compiler, which means it already has sophisticated optimizations that allow you to write high level code and get good performance as well.

Eta's runtime has a wide variety of concurrency mechanisms such as Software Transactional Memory, MVars, and Fibers to allow developers to build highly complex concurrent & distributed systems with ease.

lightbulb_outline View ideas list


  • haskell
  • jvm
  • java


comment IRC Channel
email Mailing list
mail_outline Contact email

Eta 2018 Projects

  • Jitian Deng
    High Performance Web Server with Fibers
    The aim of this project is to re-implement Warp with Fibers to demonstrate the effectiveness of Fibers. To complete that, the following goals need to...
  • Mriganka B R Chowdhury
    Purity and Nullability Analysis
    I propose to work on a tool that, given JVM bytecode, decides for each method, whether it performs an effectful computation (including IO, global...