GoRuCo 2014 - Know Your Types - Bringing Static Types to Dynamic Languages by Michael Bernstein
1,415 views · Published 15 July 2014 · 30:39 · Indexed 26 October 2026
Channel: Confreaks · 2014 · Science & Technology
After several years of being a professional programmer, I realized that I didn't really know what I was doing, and decided to teach myself Computer Science. After spending a year learning Computer Science from the ground up, I thought I was starting to understand things. Then I came across Haskell.
It fascinated and frustrated me, and I wanted to understand how types worked. I also began wondering - why doesn't Ruby have a modern type system? Do we need one? Do we want one? How would it work?
I ended up coming across three amazing pieces of writing that helped illuminate things for me:
"Types and Programming Languages" by Benjamin C. Pierce
"Propositions as Types" by Philip Wadler
"A Practical Optional Type System for Clojure" - Ambrose Bonnaire-Sergeant
After studying these works, I still can't write Haskell, but I do understand a lot more about what types are. In the course of my research, I also came across two fascinating projects - a static type checker for Ruby, and a type inferencer for Ruby, both experimental projects from the University of Maryland's Programming Languages lab (PLUM). These provocative projects helped me understand how static types could be integrated into dynamically typed languages. While they aren't practical implementations, they made me think. Which is what I'd like to make you do during this talk - think about types, how they could help us, and what we sacrifice by not having an expressive type system in Ruby.
Help us caption & translate this video!
http://amara.org/v/FGYw/
More from this channel
-
35:52
Code Design and the Science of Pleasure
-
5:40
Services Inception with Ruby by Dave McCrory
-
48:58
Ruby Software Continuously Delivered and Exhaustively Explained by Brian Guthrie, Srushti Ambekallu
-
40:58
Jruby Polyglot Heaven by Thomas E Enebo and Charles Oliver Nutter
-
42:17
Be a Minecraft modman with Purugin by Thomas E. Enebo
-
36:46
Your tests are lying to you by Chris Parsons
-
23:46
KidsRuby: Think Of The Children! by Ron Evans
-
52:05
Resources, For Real This Time (with Webmachine) by Sean Cribbs