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

Technologies
java, haskell, jvm
Topics
compilers, programming-tools, functional-programming, runtime systems
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.

2018 Program

Successful Projects

Contributor
Jitian Deng
Mentor
Javier Neira, Alberto Gómez-Corona
Organization
Eta
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...
Contributor
Mriganka B R Chowdhury
Mentor
Jyothsna, Rahul Muttineni
Organization
Eta
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...