e011: Once Upon a Type - a podcast by Chris Krycho

from 2016-03-08T08:00

:: ::

Type systems: strong vs. weak, dynamic vs. static, and degrees of expressivity.


Notes


Talking about type systems! A broad and wide-ranging discussion about type systems in general, with specific examples from languages like PHP, JavaScript, Python, C, C++, Java, C♯, Haskell, and Rust!



  • What is a type system?

  • What are the kinds of things we get out of type systems?

  • What are the tradeoffs with different type systems?

  • What is Rust’s type system like?

  • What is especially attractive about Rust’s type system?


A comment on the C integer/character string addition example: what’s actually happening there is that the character string is an array “under the covers,” and as such has an address. C silently switches to using the memory address, which is of course just an integer, when you try to add the two together. As I said on the show: the result is nonsense (unless you’re using this as a way of operating on memory addresses), but it’s compileable nonsense. In a stricter and stronger type system, memory addresses and normal numbers shouldn’t be addable!




Sponsors



  • Aleksey Pirogov

  • Chris Palmer

  • Derek Morr

  • Hamza Sheikh

  • Lachlan Collins

  • Leif Arne Storset

  • Luca Schmid

  • Micael Bergeron

  • Pascal

  • Ralph Giles (“rillian”)

  • Ralph “FriarTech” Loizzo

  • reddraggone9

  • Ryan Ollos

  • William Roe


Become a sponsor



Contact


Further episodes of New Rustacean

Further podcasts by Chris Krycho

Website of Chris Krycho