Slide 1

Slide 1 text

Intro to Elm Jeremy Fairbank @elpapapollo / jfairbank

Slide 2

Slide 2 text

Software is broken. We are here to fix it. Say [email protected]

Slide 3

Slide 3 text

Functional and statically typed programming language for frontend development elm

Slide 4

Slide 4 text

Web and UI Focused

Slide 5

Slide 5 text

Compiles to JavaScript

Slide 6

Slide 6 text

No runtime exceptions in practice.

Slide 7

Slide 7 text

The 2nd argument to function `add` is causing a mismatch. 7| add 2 "3" ^^^ Function `add` is expecting the 2nd argument to be: Int But it is: String Compile time static type checks

Slide 8

Slide 8 text

Functional

Slide 9

Slide 9 text

Pure Data in Data out

Slide 10

Slide 10 text

Pure No side effects

Slide 11

Slide 11 text

Pure Predictable and Testable!

Slide 12

Slide 12 text

Immutable Data • Safety and consistency • Explicit flow of data • No subtle mutation bugs

Slide 13

Slide 13 text

No undefined is not a function

Slide 14

Slide 14 text

Fast

Slide 15

Slide 15 text

One framework. No fatigue. Update View Model Messages

Slide 16

Slide 16 text

model Update View

Slide 17

Slide 17 text

model Update View VDOM

Slide 18

Slide 18 text

model Update View

Slide 19

Slide 19 text

model Update View

Slide 20

Slide 20 text

model Update View

Slide 21

Slide 21 text

model Update View

Slide 22

Slide 22 text

model Update View

Slide 23

Slide 23 text

model Update View VDOM

Slide 24

Slide 24 text

✓ Easier to write code ✓ Easier to write tests ✓ Easier to refactor

Slide 25

Slide 25 text

Demo

Slide 26

Slide 26 text

Getting Started • elm-lang.org • elm-lang.org/examples • guide.elm-lang.org • www.elm-tutorial.org • builtwithelm.co • Slack • elmlang.herokuapp.com

Slide 27

Slide 27 text

Programming Elm: Build Safe and Maintainable Front-End Applications Follow @elpapapollo for future updates

Slide 28

Slide 28 text

Thanks! Jeremy Fairbank @elpapapollo / jfairbank Slides: bit.ly/elm-atl-js Demo: bit.ly/elm-atl-js-demo