An introduction to Erlang, with an angle for Rubyists.
Talk given at Christchurch Ruby in New Zealand on 20 June, 2013.
Title page: Lavanderia (Sturdy)
Body: Avenir (Black)
Code: Monaco (Regular)
Feel free to use the slides for anything you need. Please contact me if you would like the original Keynote files.
38. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
39. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
40. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
41. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
42. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
43. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
44. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
45. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
46. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
47. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
48. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
49. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
50. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
51. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
52. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
53. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
X ok X is ok
{X,Y,abc} {12,ok,abc}
X is 12,
Y is ok
{X,Y} {33,44,"word"} FAILS
{X,Y,X} {{abc,12},42,{abc, 12}}
X is {abc,12},
Y is 42
{X,Y,X} {nifty,42,true} FAILS
Thursday, 27 June 13
61. N = 12.
List = [43, 10, 11, 8, 50].
Smaller = [X || X <- List, X < N].
Bigger = [X || X <- List, X > N].
Thursday, 27 June 13
62. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
63. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
64. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
65. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
66. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
67. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
68. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
69. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
70. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
71. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
72. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
73. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13
74. QUIZ!
HOW DO THESE PATTERNS MATCH?
PATTERN TERM RESULT
[H|T] [a, b, c, d]
H is a
T is [b,c,d]
[{name,Who}|T]
[{name,joe},
{name,mike}]
Name is joe,
Y is {name,mike}
[H|T] [a]
H is a
T is []
[H|T] [] FAILS
Thursday, 27 June 13