Learn IO...
Before you learn the IO Monad...
Before you learn Monads
21 / 77
Slide 22
Slide 22 text
22 / 77
Slide 23
Slide 23 text
One Problem at a Time
23 / 77
Slide 24
Slide 24 text
Game 2: Wanderer
24 / 77
Slide 25
Slide 25 text
How to Read a Haskell
25 / 77
Slide 26
Slide 26 text
How to Read a Haskell
26 / 77
Slide 27
Slide 27 text
How to Read a Haskell
vs. Python
27 / 77
Slide 28
Slide 28 text
How to Read a Haskell
vs. Java
28 / 77
Slide 29
Slide 29 text
Laziness is Magic
29 / 77
Slide 30
Slide 30 text
Laziness is Magic
30 / 77
Slide 31
Slide 31 text
Laziness is Magic
vs.
31 / 77
Slide 32
Slide 32 text
Ask for Help
32 / 77
Slide 33
Slide 33 text
Game 3: Robot Finds Kitten
33 / 77
Slide 34
Slide 34 text
Isolate IO and Randomness
34 / 77
Slide 35
Slide 35 text
Isolate IO and Randomness
35 / 77
Slide 36
Slide 36 text
Isolate IO and Randomness
vs.
36 / 77
Slide 37
Slide 37 text
Doctest
37 / 77
Slide 38
Slide 38 text
Doctest
38 / 77
Slide 39
Slide 39 text
Doctest
39 / 77
Slide 40
Slide 40 text
Doctest
40 / 77
Slide 41
Slide 41 text
Doctest
41 / 77
Slide 42
Slide 42 text
Continuous Feedback
42 / 77
Slide 43
Slide 43 text
Game 4: The Orc and The Pie
43 / 77
Slide 44
Slide 44 text
Retrospectives
44 / 77
Slide 45
Slide 45 text
Retrospectives
"design suffering from having everything
in the world tied together"
45 / 77
Slide 46
Slide 46 text
Retrospectives
"design suffering from having everything
in the world tied together"
"my functions are nice and decomposed,
but my data types are a big mess"
46 / 77
Slide 47
Slide 47 text
Modules
47 / 77
Slide 48
Slide 48 text
Modules
48 / 77
Slide 49
Slide 49 text
Modules
49 / 77
Slide 50
Slide 50 text
Record Types
50 / 77
Slide 51
Slide 51 text
Record Types
51 / 77
Slide 52
Slide 52 text
Record Types
52 / 77
Slide 53
Slide 53 text
Record Types
53 / 77
Slide 54
Slide 54 text
Functions
54 / 77
Slide 55
Slide 55 text
Functions
55 / 77
Slide 56
Slide 56 text
Functions
56 / 77
Slide 57
Slide 57 text
Functions
57 / 77
Slide 58
Slide 58 text
Functions
58 / 77
Slide 59
Slide 59 text
Functions
59 / 77
Slide 60
Slide 60 text
Typeclasses
60 / 77
Slide 61
Slide 61 text
Typeclasses
61 / 77
Slide 62
Slide 62 text
Typeclasses
Compare Java:
62 / 77
Slide 63
Slide 63 text
Stop and Reflect
63 / 77
Slide 64
Slide 64 text
Conclusion
64 / 77
Slide 65
Slide 65 text
Places to Find Help
65 / 77
Slide 66
Slide 66 text
Places to Find Help
Learn You A Haskell
66 / 77
Slide 67
Slide 67 text
Places to Find Help
Learn You A Haskell
Hoogle
67 / 77
Slide 68
Slide 68 text
Places to Find Help
Learn You A Haskell
Hoogle
HaskellWiki
68 / 77
Slide 69
Slide 69 text
Places to Find Help
Learn You A Haskell
Hoogle
HaskellWiki
Haskell Now / #NotHaskell
69 / 77
Slide 70
Slide 70 text
Advice to Remember
70 / 77
Slide 71
Slide 71 text
Advice to Remember
Work Tiny
71 / 77
Slide 72
Slide 72 text
Advice to Remember
Work Tiny
One Problem at a Time
72 / 77
Slide 73
Slide 73 text
Advice to Remember
Work Tiny
One Problem at a Time
Ask for Help
73 / 77
Slide 74
Slide 74 text
Advice to Remember
Work Tiny
One Problem at a Time
Ask for Help
Continuous Feedback
74 / 77
Slide 75
Slide 75 text
Advice to Remember
Work Tiny
One Problem at a Time
Ask for Help
Continuous Feedback
Stop and Reflect
75 / 77