Elara is currently a work in progress and is not yet ready for production use. Join the Discord server for updates and discussions.
What is Elara?
Elara is a purely functional programming language that targets the JVM. It combines the elegance of Haskell’s syntax with F#-inspired features, bringing powerful functional programming concepts to the Java ecosystem.Key features
- Pure functional programming - All functions are pure by default, with effects tracked in the type system via an IO monad
- Hindley-Milner type system - Complete type inference means you rarely need to write type annotations
- JVM target - Compiles to Java bytecode for seamless interoperability with the Java ecosystem
- Pattern matching - Powerful pattern matching on algebraic data types
- Higher-order functions - First-class functions with lambda expressions
- Algebraic data types - Define custom types with sum and product types
Code example
Here’s a taste of Elara’s syntax:Get started
Installation
Install Elara and set up your development environment
Quickstart
Write and run your first Elara program in minutes
Language guide
Learn Elara’s syntax, type system, and core concepts
Examples
Explore real-world code examples and patterns
How the compiler works
The Elara compiler transforms your code through multiple passes:Lexing
Source code is converted into tokens, with layout rules transformed into braces and semicolons
Desugaring
Syntactic sugar is removed, converting multi-argument lambdas into nested single-argument lambdas
Community
Elara is an open-source project under active development. We welcome contributions and feedback!- Join our Discord server for discussions and support
- Check out the GitHub repository to contribute
- Follow development updates and design decisions in the community