Subscribe now

Elm Weekly Drip #18 and Exercise: Use More elm-mdl [08.14.2016]

Link time. This week: drive a browser with Elm; find a function by its type signature; write friendlier code; stalk a developer; Curry-Howard.

elm-webdriver is a library for controlling the browser using Elm and Selenium. [ from @jose_zap ]

elm-search is like Hoogle for Elm. Search for functions by their types. A good example: List (Generator a) -> Generator a. [ from @klaftertief ]

Writing Friendly Elm Code is a nice article on what it means to write code that's nice for other engineers. [ from @t_kelly9 ]

Evan's GitHub activity is a good way to keep up with what might be coming. Or a way to stalk him. Either way.

The Curry-Howard Correspondence - If you enjoyed Philip Wadler's Propositions as Types talk, this is a more in-depth discussion of the basis of it. It's the fundamental reason I prefer FP these days.


This week we implemented a variety of elm-mdl components, seeing Layout, List, Card, Menu, and Textfield. The text field in the chat interface is a little sad looking, as it doesn't use a Material component, and the content of the messages is a bit lackluster as well.

For this week's exercise:

  • Switch the user input box to use Material.Textfield.
  • Make the layout's header look more appropriate. Here's the example of how the elm-mdl demo does it.
  • Implement the message box as a list of messages.
  • Add badges to connected channels showing the count of unread messages.
  • Bonus:
    • Bring in evancz/elm-markdown and render the text of the messages using it, for richer messaging.
    • Make the chat card have a specified height so that it isn't growing as new messages come in.