Skip to content

Instantly share code, notes, and snippets.

@zkessin
Last active August 16, 2016 08:47
Show Gist options
  • Save zkessin/1775358c8711a3441ce73f1f12841be7 to your computer and use it in GitHub Desktop.
Save zkessin/1775358c8711a3441ce73f1f12841be7 to your computer and use it in GitHub Desktop.
* Day One - Morning
** Why Elm
*** The Javascript Problem
**** Evolution of JS Libraries
***** jQuery
***** Backbone
***** ExtJS
***** Angular
***** React
**** Attempts to improve Javascript
***** JSLint
***** CoffeeScript
***** The Clojure Compiler
***** TypeScript / ClojureScript
***** Flow - https://flowtype.org/
** Intro To elm
*** The Elm Tools
**** elm-reactor
**** elm-make
***** Invoking Elm
****** Full screen
****** With Flags
****** in a div
****** Headless
**** elm-package
**** the elm project file
**** Structure of an Elm Project
**** elm-oracle
** Exercise 1 -- Elm reactor hello world
*** Elm Syntax
**** Creating a module
**** Importing functions and types
**** Types part 1
***** Simple Types
***** Union Types
***** Defining Types
***** Type inference
***** Records
****** Exercise 2 --
**** Defining Functions
***** type declarations on functions
***** Infix functions
**** if then else / case
***** If must have else
***** Case - all branches
***** Underscore and Debug Crash
***** Exercise 3 - IF and case
**** let / in
**** Maybe
***** Exercise - Dealing with Null
**** Debug.log and Debug.crash
**** Pipelines
* Day One - Afternoon
** Simple Architecture
*** The Model
*** The View
*** The Update Function
** Events
** Rendering Html & Css
* Day Two - Morning
** Elm Architecture in Depth
*** Side Effects
*** Init Data
**** Passing initial data to a program
*** Tasks
**** Creating side effects
**** Chaining tasks
*** Ajax
**** Encoding and decoding json
***** JSON Encoders and Decoders
***** The NoRedInk Tool
**** Using HTTP
**** Events
**** Result
* Day Two - Afternoon
*** Ports
**** Speaking to things outside of Elm
**** Example Google Analytics
*** Subscriptions
**** Tick
**** Window Resize
*** Nesting Components
**** First rule - DON'T
**** Mapping events
**** The 3 tuple return value
*** Navigation & Routing
**** Creating URL Updates
**** Handling URL Updates
* Day Three - Testing and Validation
** elm-test
*** Running elm-test in the browser
*** Running elm-test in phantomjs
*** Running elm-test in node.js
*** Building tests
*** Test suites
** elm-check
*** Setting up properties
*** Running properties in elm-check
*** Testing the update function
** TDD In Elm (Test and type driven development)
* Day Three Afternoon -- Code Workshop
** Where to learn more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment