Loading...
Ramsey - Radical Computer Science #6
Full Audio:
https://drive.google.com/file/d/0B032dop_WshkV1o3NmViSmNGQzg/view?usp=sharing
“When we’re building programming tools, we’re building human experiences.”
Run C# on Mac OS X:
http://www.mono-project.com/docs/about-mono/languages/csharp/
Mariko Kosaka -
How to Be a Compiler
https://twitter.com/kosamari?lang=en
Design by Numbers
Eventually became Processing
Design by Numbers book
Mariko’s
“SVG
by Numbers” -
https://kosamari.github.io/sbn/
Logo Interpreter -
http://calormen.com/jslogo/
Mindstorms, by Seymour Papert. Seminal text on teaching computer programming to kids.
Baku’s compiler -
https://github.com/baku89/ramsey-mal
rl.on
“read line” - have a lot of conveniences built in for people using terminal
“We’re building our REPL(
read-evaluate-print-loop
).”
A lot of languages don’t have a REPL: C++
more dynamic languages have REPLs, more static langs don’t
“We’re imbuing meaning on what the user has done.”
“That decision happens in the
‘read’
phase.”
This class: parse symbols and lists, and evaluation.
“The roommate getting a bagel” metaphor
If Bryan’s going to the deli and asks if you want a bagel and you say
‘yeah’…
Bryan gets to the deli but there’s three kinds of bagels…
So Bryan comes home and sets your house on fire.
Building parsers is the same thing^^^^
Error messages are man-made.
The
“silent
error”:
Bryan comes home.
“Where’s
my bagel?”, you say.
“You
are already have your bagel.” or
“You
hate bagels.”, says Bryan.
Adding the ability to read strings to your parser.
Important Javascript(?) syntax:
Please turn on JavaScript to use Paper in all of its awesomeness. ^_^
This class: parse symbols and lists, and evaluation.