[029.5] Elm Weekly Drip #29 and Exercise: Add Projects Tab

Links covering: Elm 0.18 released, and upgrading made easy; type bombs; ML in Erlang; a more featureful input field; forms made easier. Then an exercise to add project cards.

Subscribe now

Elm Weekly Drip #29 and Exercise: Add Projects Tab [11.20.2016]

A rundown of what's happened this week in the Elm community, and an exercise to add a tab showing projects cards for the user.

We'll begin with links, covering: Elm 0.18 released, and upgrading made easy; type bombs; ML in Erlang; a more featureful input field; forms made easier.

Might as well get the biggest link out of the way first:

Elm 0.18 Was Released!!!

The Perfect Bug Report

Evan's announcement post focuses on the new Debugger and how it makes life super nice if you're trying to reproduce errors in your program. A few other notable changes:

  • Even better error messages! A few previously confusing cases have been identified and made nicer.
  • Less Syntax! This means that some things are going away. Specifically:
    • Primes are out. You can expect them to be replaced by underscores in some cases, and better naming in other cases.
    • List.range takes the place of interpolation, so no more [1..5]!
    • Backticks are out. Now, the goal is to make things easily chainable with pipe syntax. To that end, andThen and other commonly-backticked functions have had the order of their arguments swapped. In some cases, this involved renaming the functions as well, for readability.
  • Html.App is gone, with program and friends just moved to the Html module.
  • elm-lang/http had a few big ticket items (track progress, rate limit) added, and it's been made easier for newcomers to use.
  • elm-lang/navigation no longer has a Parser, so this will change how its programs work a decent bit. I'll cover it later.

[ h/t @czaplic ]


If you want to just trivially upgrade your elm app to 0.18, this tool is for you. It should basically take care of everything.

[ h/t @avh4 ]

Type Bombs in Elm

Kris Jenkins discusses a feature he thinks Elm should have, then points out that Elm totally has this feature by way of a hack presently. I use it moderately frequently, but if it didn't feel like a hack I might reach for it more often.

[ h/t @krisajenkins ]

MLFE: ML Landing in the Erlang World

Not at all related to Elm, but rather ML on the Erlang VM. As this is a longstanding goal of mine, I figured I'd take this soapbox to spread the interest. I'm not yet using this but it's good news that it's advancing.

[ h/t @unbalancedparen ]


Abadi Kurniawan provides us with a more interesting and featureful Html.input element.

[ h/t @abadikurniawan ]


Elm Simple Form has been renamed to Elm Form, and has support for dynamic lists of fields now as well.

[ h/t @etaque ]


This week we added a much more full-featured View.Users.Show module. We've implemented all but one of the tabs this week, so you won't be surprised to find out that we'll implement that next. It's the projects tab! For now, you can see it here:

users projects tab

We'll just use the projects from the projects model for now, so you'll want to do the same trick we used for API.fetchUsers for the projects on this route as well, for now. Good luck!