Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 236 lines (181 sloc) 5.917 kB
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
1 \documentclass[12pt]{beamer}
2 \usepackage{beamerthemeHannover, graphicx, clrscode, amsmath, amssymb, multicol}
d04f34b @leto Add some meat to my parrot talk
authored
3 \usepackage{color, verbatim}
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
4 \setbeamercolor{sidebar}{use=structure,bg=gray!60!green}
5 \title{ A Visual Introduction To Parrot Virtual Machine }
d04f34b @leto Add some meat to my parrot talk
authored
6 \author[@dukeleto]{Jonathan "Duke" Leto \\ Community Manager \\ Parrot Virtual Machine \\ http://parrot.org }
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
7 \date{}
8
9 \begin{document}
10
11 \frame{
12 \titlepage
13 \begin{center}
8d3bd9f @leto Update snapshot of parrot talk
authored
14 \includegraphics[scale=0.5]{parrot_logo}
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
15 \end{center}
16 }
17
18 \frame{
d04f34b @leto Add some meat to my parrot talk
authored
19 \frametitle{ What is Parrot, really? }
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
20
d04f34b @leto Add some meat to my parrot talk
authored
21 Parrot is many things:
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
22
23 \begin{itemize}
d04f34b @leto Add some meat to my parrot talk
authored
24 \item A culture
25 \item A collection of languages
26 \item A virtual machine to run said languages
27 \item A set of tools to write new languages
f0318b4 @leto more visual intro to parrot slides
authored
28 \item A playground for compiler + language research
d04f34b @leto Add some meat to my parrot talk
authored
29 \item A second cousin to Perl 6
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
30 \end{itemize}
d04f34b @leto Add some meat to my parrot talk
authored
31
32 Parrot is what you want it to be.
33 }
34
35 \frame{
f0318b4 @leto more visual intro to parrot slides
authored
36 \frametitle{ Parrot Culture }
37 \begin{center}
38 \includegraphics[scale=0.5]{rube-goldberg}
39 \end{center}
40 }
41
42 \frame{
43 \frametitle{ The Parrot Onion (NOW) }
44
45 \begin{center}
46 \includegraphics[scale=0.7]{parrot_onion}
47 \end{center}
48 }
49
50 \frame{
51 \frametitle{ The Future Parrot Onion }
52
53 \begin{center}
54 \includegraphics[scale=0.7]{parrot_onion_future}
55 \end{center}
d04f34b @leto Add some meat to my parrot talk
authored
56
57 }
58
59 \frame{
60 \frametitle{ PMC is for Cookie ... }
61 PMC = Parrot Magic Cookie a.k.a. Objects \\
f0318b4 @leto more visual intro to parrot slides
authored
62 Serious people prefer to call them PolyMorphic Containers, but not me
d04f34b @leto Add some meat to my parrot talk
authored
63
64 \begin{center}
65 \includegraphics[scale=0.4]{parrot_cookie}
66 \end{center}
67 }
68
69 \frame{
70 \frametitle{ PMC is for Cookie ... }
71
f0318b4 @leto more visual intro to parrot slides
authored
72 Meta-recipe:
d04f34b @leto Add some meat to my parrot talk
authored
73 \begin{center}
74 \begin{itemize}
75 \item \_ cups of \_ flour
76 \item \_ \_ eggs
77 \item \_ cups of \_ chocolate chips
78 \item \_ cups of \_ sugar
79 \item \_ sticks of \_ butter
80 \item \_ spoons of \_ butter
81 \end{itemize}
82 \end{center}
83
84 }
85
86 \frame{
87 \frametitle{ PMC is for Cookie ... }
88
8d3bd9f @leto Update snapshot of parrot talk
authored
89 Some people like really sweet, dark chocolate chip, peanut butter cookies.
d04f34b @leto Add some meat to my parrot talk
authored
90
91 \begin{center}
92 \begin{itemize}
93 \item \underline{2} cups of \underline{white} flour
94 \item \underline{2 organic} eggs
95 \item \underline{1} cup of \underline{dark} chocolate chips
96 \item \underline{3} cups of \underline{cane} sugar
97 \item \underline{2} sticks of \underline{unsalted} butter
98 \item \underline{3} spoons of \underline{peanut} butter
99 \end{itemize}
100 \end{center}
101
102 }
103
104 \frame{
105 \frametitle{ PMC is for Cookie ... }
106
107 OH NOES! Some people are allergic to peanut butter, dislike processed flour
f0318b4 @leto more visual intro to parrot slides
authored
108 and prefer milk chocolate! Also, almond butter is a delicious replacement
8d3bd9f @leto Update snapshot of parrot talk
authored
109 for peanut butter.
d04f34b @leto Add some meat to my parrot talk
authored
110
111 \begin{center}
112 \begin{itemize}
113 \item \underline{2} cups of {\color{red} \underline{wheat}} flour
114 \item \underline{2 organic} eggs
115 \item \underline{1} cup of {\color{red} \underline{milk}} chocolate chips
116 \item \underline{3} cups of \underline{cane} sugar
117 \item \underline{2} sticks of \underline{unsalted} butter
118 \item \underline{3} spoons of {\color{red} \underline{almond}} butter
119 \end{itemize}
120 \end{center}
121
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
122 }
d04f34b @leto Add some meat to my parrot talk
authored
123
8d3bd9f @leto Update snapshot of parrot talk
authored
124 \frame{
125 \frametitle{ The meta-recipe is actually a VTABLE! }
126
127 VTABLE = virtual tables \\
128
129 Examples of actual VTABLEs:\\
130 \begin{center}
131 \begin{itemize}
132 \item get\_integer - get integer representation of PMC
133 \item set\_integer - set integer representation of PMC
134 \item get\_number - get numeric/float representation
135 \item set\_number - set numeric/float representation
136 \item elements - get the number of elements
137 \end{itemize}
138 \end{center}
139
140 Just like no recipe uses every ingredient in your fridge, each PMCs does not implement every VTABLE.
141 }
142
143 \frame{
f0318b4 @leto more visual intro to parrot slides
authored
144 \frametitle{ Register-based }
145
146 No stacks! Like Lua VM and Dalvik VM
147
148 \begin{center}
149 \includegraphics[scale=1.0]{stacks}
150 \end{center}
151
152 Different set of optimizations than stack-based VMs
153 }
154
155 \frame{
8d3bd9f @leto Update snapshot of parrot talk
authored
156 \frametitle{ Continuation Passing Style }
157
f0318b4 @leto more visual intro to parrot slides
authored
158 Keep passing it along...
8d3bd9f @leto Update snapshot of parrot talk
authored
159
160 \begin{center}
161 \includegraphics[scale=0.2]{cps}
162 \end{center}
163 }
d04f34b @leto Add some meat to my parrot talk
authored
164
f0318b4 @leto more visual intro to parrot slides
authored
165
166 \frame{
167 \frametitle{ Deprecation Policy }
168
169 We give our APIs a bath every three months...
170
171 \begin{center}
172 \includegraphics[scale=0.2]{parrot_bath}
173 \end{center}
174 }
175
176 \frame{
177 \frametitle{ Deprecation Policy }
178
179 api.yaml
180
181 \begin{center}
182 \includegraphics[scale=0.3]{api_yaml}
183 \end{center}
184
185 tools/dev/show\_deprecated.nqp \\
186 tools/dev/resolve\_deprecated.nqp \\
187 tools/dev/show\_experimental.nqp \\
188 tools/dev/dedeprecator.nqp \\
189 }
190
191 \frame{
192 \frametitle{ Parrot Compiler Toolkit (PCT) }
193
194 We give you the dough, you cook it...
195
196 \begin{center}
197 \includegraphics[scale=0.4]{cookie_dough.jpg}
198 \end{center}
199 }
200
201 \frame{
202 \frametitle{ Parrot Compiler Toolkit (PCT) }
203
204 Web Interface Coming Real Soon Now
205 \begin{itemize}
206 \item tools/dev/mk\_language\_shell.pl - PIR build system
207 \item tools/dev/create\_language.pl - Perl 5 build system \\
208 \end{itemize}
209 }
210
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
211 \frame{
212 \frametitle{ Resources }
213 \begin{center}
214 \begin{itemize}
d04f34b @leto Add some meat to my parrot talk
authored
215 \item http://docs.parrot.org
f0318b4 @leto more visual intro to parrot slides
authored
216 \item \#parrot on irc.parrot.org
217 \item parrot-dev and parrot-users mailing lists
2774283 @leto add links to the parrot github org and trac
authored
218 \item https://trac.parrot.org
219 \item https://github.com/parrot
f0318b4 @leto more visual intro to parrot slides
authored
220 \item https://github.com/Benabik/cish
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
221 \end{itemize}
222 \end{center}
223 }
224
225 \frame{
226 \frametitle{ Thanks! }
f0318b4 @leto more visual intro to parrot slides
authored
227 \begin{center}
228 \includegraphics[scale=0.4]{thanks.jpg}
229 \end{center}
230
231 Slides at https://github.com/leto/presentations
2ac85e9 @leto Create a skeleton for my Visual Intro to Parrot talk
authored
232
233 }
234
235 \end{document}
Something went wrong with that request. Please try again.