/
Step_1_1.hs
55 lines (51 loc) · 1.59 KB
/
Step_1_1.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
module Step_1_1 where
import Slides
page = slideDeck "Chapter 1: Intro"
[ titleSlide "Chapter 1"
[ "What's all this about Haskell?"
, "Getting your feet wet."
]
, pointSlide "Haskell"
"Haskell seems scary 'cause:"
[ "Oh noes! Where's my state?"
, "Hey, I don't want my program to be lazy!"
, "Yo, PHP doesn't need no templates or combinators..."
, "Uhm, I thought dynamic languages were better?"
, "MONADS!"
]
, pointSlide "Haskell"
"But these are cool tools:"
[ "Functional."
, "Lazy"
, "Higher order Functions"
, "Static Types"
, "...shhhh: monads."
]
, pointSlide "Haskell"
"This is what got us hooked:"
[ "It is a new way to thinking about programming"
, "It twists the brain in delightful ways."
, "It is very expressive, yet concise and clear"
, "It is beautiful."
]
, codeSlide "Some familiar things"
"Consider these unix shell commands:"
[ "cat foo | sort"
, ""
, "cat foo | rev | head"
]
, pointSlide "These are functional"
"What they do:"
[ "Take input"
, "Process the input."
, "Produce output as soon as they're able."
, "Don't modify any state."
, "In short, they are functional, pure, and lazy."
]
, pointSlide "Onward!"
"Now you're going to dive into actual coding."
[ "Be brave..."
, "Don't let the error messages throw you."
, "Just try it."
]
]