alpha 0.1.0

eco: Elm Compiler Optimized, built in Elm.

Self-hosted. Native output. No Haskell knowledge required.

Main.elm
module Main exposing (main)
 
import Eco.Console
import Platform
 
main : Program () {} ()
main =
  Platform.worker
    { init = \_ -> ( Eco.Console.log "Hello World!" {}, Cmd.none )
    , update = \_ model -> ( model, Cmd.none )
    , subscriptions = \_ -> Sub.none
    }

How it works

1
Write Elm

Write standard Elm code using the types and patterns you already know and love.

2
Compile with eco

eco analyses, optimises, and compiles your code through MLIR and LLVM to high performance native.

3
Ship anywhere

Deploy native binaries, or web apps, all from a single codebase.

eco vs. the official Elm compiler

Feature
Elm Compiler
eco
Written in
Haskell
Elm, C++ ✓
Output targets
JavaScript only
Native, JavaScript ✓
Build dependency
GHC required
Self-hosted ✓
Community contributions
Requires Haskell knowledge
Elm devs welcome ✓

Join the community

eco is open source and community-driven. Contributors, testers, and feedback are all welcome.

Contribute on GitHub

Browse issues, submit PRs, or fork the project. The compiler is written in Elm, so no Haskell is required.

View Repository →
Ready to compile Elm to native?
Install in one command. Start building immediately.