25 days to ClojuTRE 2019! ClojuTRE kicks off with trainings on conference mornings. This time, we talked to Richard T. Feldman, who's both speaking on Thursday, and giving training on building Web apps in the Elm language. Richard told us a few things about his background in Elm, his training at ClojuTRE, and some interesting activities in the Elm community.
Toni Vanhala: How did you get started using the Elm language?
Richard Feldman: I got into Elm in 2014, a few months after I got into React.
I saw a blog post ("Blazing Fast HTML in Elm") about how Elm was a functional language with a Virtual DOM that outperformed React, thanks to adopting the immutability-based approach David Nolen used for the original Om.
TV: What is your favourite feature of Elm?
RF: Can I say the community? I've never met a kinder group of programmers this big. Elm Slack is such a friendly place!
On the technical side, I'd have to say the compiler's ergonomics. Before Elm, my experiences with type-checkers was mostly negative. I felt they got in my way, and whatever benefits they offered weren't worth the cost. I walked away from them and was happier for it.
Elm's compiler really changed my perspective. I didn't realize a compiler could feel like an ally rather than an adversary. It's still not a feeling I've gotten from any other compiler - I think Elm's compiler is something every programmer deserves to experience at least once.
TV: I have to use another language instead of Elm at work. Do you think your training at ClojuTRE will be useful to me?
Elm has the largest ecosystem of purely functional frontend packages in the world.
This means that once you know Elm, if you want to do (for example) something functional in TypeScript, you now have an extensive ecosystem of examples to draw on.
Even if you aren't using Elm at work, you can benefit from having access to the purely functional solutions the Elm ecosystem offers to a wide range of problems.
TV: Which projects should people keep an eye on?
elm-ui for sure.
It's a popular layout and styling system that you can use instead of CSS. It compiles to CSS behind the scenes, but you use it like a plain old normal Elm package. You don't need to know any CSS to use it, because it has its own layout and styling system that was designed from scratch to be really delightful to use.
The excitement level in the
#elm-ui channel on Elm Slack is usually unmatched outside the
#beginners channel. People absolutely love it!
TV: How can people find you online?
rtfeldman on Twitter and on Elm Slack. Happy to answer Elm questions in either place!