Skip to content

Instantly share code, notes, and snippets.

@7hoenix
Last active March 11, 2020 02:19
Show Gist options
  • Save 7hoenix/2d27cfa9d202ee4b351b30643f7fd028 to your computer and use it in GitHub Desktop.
Save 7hoenix/2d27cfa9d202ee4b351b30643f7fd028 to your computer and use it in GitHub Desktop.
Elm Learning Trail (2020-03-10). . . Gratefully Copied From 8th Light Internal

Shared by some nice humans over @ 8th Light

Elm

'A delightful language for reliable web apps' - A statically typed, pure functional language for building web user interfaces.

Level 1

You should be able to

  • Run an elm program in your browser
  • Understand how to start reading the compiler messages
  • Create small programs which can handle user interaction / input
  • Use elm test to run tests

Level 2

You should be able to

  • Understand, create and use some custom types (this is by far the most important and useful concept in Elm!)
  • Have a basic understanding of making Http requests and decoding JSON
  • Use commands (i.e. Http and Random) and subscriptions (Time) to handle effects in an elm program
  • Understand the difference between constructor functions (term level) and types (type level)

Level 3

You should be able to

  • Structure a small application
  • Understand how to use custom types to express and restrict possible application states

Level 4

You should be able to

  • Understand the basics of building a Single Page App in Elm
  • Understand how to carve out an Elm application into page modules
  • Understand the tradeoffs of doing this too early

Some Further Reading / Videos (highly recommended!)

Level 5

You should be able to

  • Build a complex web application in Elm
  • Appreciate the ease of building type safe layouts without CSS!
  • Use autogenerated types to build graphql queries

Advanced Types

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment