Elm Icon


A delightful language for reliable webapps.
5 Stories
All Topics

Rust github.com

Look ma, no Electron!

A desktop Kanban board app built with Elm and Rust. How do they do it sans Electron? it uses native WebView (WebKit for Linux/macOS, and MSHTML on Windows) For more details see here. I'd love to see how this app performs in terms of memory use when compared to an Electron-based version. How big are the wins? Is the trade-off worth it? Sounds like great fodder for blog post...


Elm teamgaslight.com

Elm, Elixir, and Phoenix: Reflecting on a functional full-stack project

Zack Kayser built a Texas Hold ‘Em app with the EEP (?) stack and wrote up his findings. He calls Elm and Elixir "a match made in Functional Heaven", but the endeavor wasn't without its challenges: I personally struggled with 1) how to organize my code, especially with larger modules, 2) figuring out how to make the UI more interactive, and 3) sharing code across modules. There's a lot to learn from Zack's experience. Both the Elm front-end and Phoenix back-end are open source. ✊


Thoughtbot Icon Thoughtbot

The mechanics of Maybe

Joël Quenneville: Our world is full of uncertainty. This uncertainty bleeds into our programs. A common way of dealing with this is null/nil. Unfortunately, this leads to even more uncertainty because this design means any value in our system could be null unless we’ve explicitly checked it’s presence. Imagine how many developer-hours are wasted globally each year dealing with null/nil. The number would probably astound us. The major advantage of guard clauses is to suss out invalid inputs (often nils) at the perimeter of your program/module/function, so the rest of your code doesn't have to concern itself with these uncertainties. But Maybe there's another way... In Elm, all values are guaranteed to be present except for those wrapped in a Maybe. This is a critical distinction. You can now be confident in most of your code and the compiler will force you to make presence-checks in places where values are optional. Click through to learn the mechanics of it all.

0:00 / 0:00