Link day is here! Also, an exercise to add the ability to edit users. As for the links, you'll: figure out what to do; convince a friend to try Elm; discover that Evan handles 'blocking' problems with humor; port imperative loops; learn what not to say; and see lots about structuring large apps.


Idea Fight!

Rob Hoelz built an Elm application to help him compare ideas he had. He discusses an idea he calls partially ordered forests and it's a fun read.

[ from @hoelzro ]

10 reasons why you should give Elm a try

Thibaut Assus wrote up a great list of reasons you should give Elm a try. If you're trying to proselytize for Elm - you are, aren't you? - then this is a great article to pass around.

[ from @tibastral ]

Evan is hilarious

So I googled for the docs on Html.Events and ended up on an old package, and happened to notice a funny function name. Reading the actual code for this package is fantastic. Do it!

[ from @czaplic ]

Loops to Folds

Folkert de Vries wrote up a pretty fun post on translating imperative algorithms to a functional language. I had never heard of paramorphisms before. I still don't have a heuristic for why I want them, but it was a fun read none the less.

[ from @flokkievids ]

Evan pipes in on the word 'components'

Here's a reddit thread where Evan pipes in on his concerns with the use of the word components in discussions of Elm. Money quote: "overzealous naming and conceptualizing can very easily lead people to bad results."

[ HT @rtfeldman ]

The best thread on elm-discuss this week

OK that's kind of linkbaity of me, but bear with me. This thread begins as a discussion of how to structure large Elm apps, which of course comes up constantly (way more than it should). It devolves a bit in the middle, but there are a lot of juicy nuggets worth reading if you care about these things.


This week we built a basic CRUD application in an elm-mdl single-page-app atop our Phoenix API but we can't actually edit users yet. You should be able to add an edit page that lets you click on a user, edit them, and then push those changes back to the Phoenix API. When the user is updated successfully, it should redirect you to that user's show page. Next week I'll show you how I'd handle it. Thanks!