Issue #14

Reading

Elm community is continuing to discuss the highly controversial post by Luke. While some (or many) people say this causes a lot of harm to the language and community, I personally think it doesn't. I still consider myself a beginner Elm programmer and more of a lurker here, but my thoughts on this topic are the following: it is a great and extremely friendly community of hackers who use the tech for their personal or commercial projects, small and large. It is very opinionated, and the majority of members understand the limitations of the language and are fine with that. If, however, we as a community want to make Elm more popular and accepted by the general public it is absolutely inevitable that there will be a lot of people who come here on false promises. There will be an influx of people complaining about everything. For example, take a look at this small discussion thread on Elm vs Svelte, the majority of comments here say that Elm is for fun and React/Svelte is for work. Unless you know the intricacies of the language, it's strong and weak points, it's hard to convince people to use it for work which will eventually make people frustrated and abandon it completely.

I think as a result of a lot of public negativity, there is now a lovely tiny project called ElmLove: a place to thank members of the community for their amazing work. This reminds of a very weird but extremely bonding habit we had with my team members: remote hugs. After every standup with my remote team, we hugged the camera of computer mimicking the real hugs. At first it felt weird, and everyone who saw me doing that had huge WTF face on them. But it's a great and fun way to connect with your team who are hundreds and thousands kilometer away from you. Try it.

All of the above doesn't stop me and many others from exploring Elm and building things with that. Christoph has released the last part of his PET stack series - building apps with Parcel, Elm, and Tailwind. Ryan Frazer is continuing to publish his "dissertation" (I cannot call it anything other than that due to how deep and insightful these post series are) on creating a calculator. And there's also more content on PatchGirl blog about building a REST client in functional programming languages. It explains everything from building the UI in Elm, to backend in Haskell, to now using NixOS for hosting.

Seiya Izumi has written a two part series (part one, and two) on the use of opaque types in forms. She gives an example of a username field which encapsulates the validation logic. Forms is a hard topic in Elm, at least for beginners and I did a special issue on that a while ago.

Here's Luca Mugnaini explaining how to create snackbars with zero CSS. The articles goes far and beyond just the implementation detail and gives a very detailed introduction into the language itself, the syntax, Elm UI package, and many other concepts. If you're new to the language then this is the perfect introduction.

Projects

Dillon Kearns, the man behind live coding sessions at Incremental Elm, has started a podcast. I think this is the best news this week and this month, heck, probably this whole year.

Dillon is one of the few people who produces lots of quality content that is easy to understand both as a beginner to Elm and also someone with experience. In the podcast announcement he explains the motivation for starting it: instead of talking to various community members about their projects and hear their stories, Dillon and Jeroen are going to focus on one specific topic in each episode and cover it deeply. Sort of like a university lecture.

There are 3 episodes already: Elm Review, Elm Pages, and Opaque types.

Announcing Elm Radio - a new podcast exploring Elm tools and techniques
Hello everyone! @jfmengels and I are ready to share something we’ve been working on with all of you! We’re officially announcing Elm Radio 🎉 We’ve published 3 episodes to kick things off, which you can listen to on Apple Podcasts, Spotify, or subscribe with your favorite podcast app. The format …

Also, Elm Town is out with their 50th episode.

With the passing of John Conway people are now making game of life in every possible language. Here's one in Elm.

Technically speaking, Game of Life is not really a game that you can play. You just set the initial rules and watch it evolve. There is a set of rules which produces so many unique and mesmerizing results:

  • Any live cell with two or three live neighbors survives.
  • Any dead cell with three live neighbors becomes a live cell.
  • All other live cells die in the next generation. Similarly, all other dead cells stay dead.

Videos

In this video Robert Walter is demoing his web editor and explaining how it works. The code is available on Github and it gives some interesting insights into the data structures one uses for storing state and data.

Demo of a projectional web editor and its implementation, written in Elm
Show Comments