Elm is a delightful language for reliable webapps.
The Lamdera compiler extends the official Elm compiler with tooling that works for any regular Elm frontend project, as well as specific features for Elm projects on Lamdera: A delightful platform for full-stack Elm web apps.
The Lamdera compiler is a free, open-source and open-contribution un-fork of the Elm compiler.
The Lamdera platform is a paid service with a free tier to try, and is how we keep our work funded and sustainable.
New to Elm? Check out the Home Page, Try Online, or The Official Guide.
See Lamdera downloads for binary and nix installations (recommended). Or if you have node, npx lamdera
lets you try it out quickly.
To uninstall, simply delete the lamdera
binary.
The Lamdera compiler is an un-fork of the Elm compiler, with additional features and extensions.
The Lamdera compiler can be used to compile any existing Elm 0.19 project using the same commands as the official compiler.
The Lamdera compiler CLI has the following differences from the official Elm compiler:
elm/compiler | lamdera/compiler | Notes | |
---|---|---|---|
Elm 0.19 language | ✅ | ✅ | |
repl |
✅ | ✅ | |
init |
✅ | Initialises an Elm project setup for Lamdera | |
reactor |
✅ | Renamed to live , full stack, live/hot reload, with interactive UI source maps |
|
make |
✅ | ✅ ➕ | Adds:--optimize-legible non-obfuscated build--no-wire skips Lamdera Wire gen |
install |
✅ | ✅ ➕ | Adds lamdera/* packages |
diff bump publish |
✅ | ❌ Deactivated | All Lamdera projects use Elm packages from the Elm ecosystem, so continue to use elm for this. |
format |
❌ | ✅ | Embeds elm-format |
You should be able to use the lamdera
compiler on any Elm frontend project as-is.
Lamdera projects are just Elm projects with some additional packages, and a few specific files to set things up for type-safe Elm with a Frontend and a Backend. You can read more here if that interests you.
We love the Elm language – Lamdera would be impossible without it, and our entire platform is built on it.
We plan to continue to upgrade the Lamdera compiler and platform in line with future Elm releases, so Lamdera’s goal has been and continues to be one that looks towards staying forwards compatible. You can read about Lamdera’s proactive forwards-compatibility approach & techniques.
Given Evan has unwaveringly held to the core design ethos of Elm (immutable, inferred, pure), we believe future Elm releases will stay compatible with Lamdera.
lamdera init
lamdera live
See the Lamdera overview for more.
Looking for build instructions or interested in contributing? See extra/readme.md.
If you are stuck with Elm, ask around on the Elm slack channel. Folks are friendly and happy to help with questions!
For Lamdera compiler/platform discussion, see the Lamdera Discord.
You can support the development of the Lamdera compiler with sponsorship, by upgrading to a paid Lamdera plan, or by setting feature bounties (chat with us).