Code Podcast artwork

5: Type Systems

Code Podcast

English - February 14, 2017 16:04 - 50 minutes - 57.2 MB - ★★★★★ - 2 ratings
Technology Homepage Download Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed


Your favorite features of Type Systems in one episode! Interfaces, Generics, ADT, Type Classes and Dependent Types. We'll talk about what they are and how they shape the way we work.

Code Podcast Forum: https://discuss.codepodcast.com/t/episode-5-type-systems/22

Episode produced by:
Andrey Salomatin https://twitter.com/flpvsk
Michael Beschastnov [email protected]

Guests (in order of appearance):
Joseph Abrahamson https://twitter.com/sdbo
Radoslav Kirov https://twitter.com/radokirov
Erlend Hamberg https://twitter.com/ehamberg
Edwin Brady https://twitter.com/edwinbrady

Special thanks to our reviewers, this time:
Adriano Melo https://twitter.com/AdrianoMelo
Roman Liutikov https://twitter.com/roman01la

If you'd like to help us make the podcast better *and* get episodes earlier, consider becoming a reviewer: https://gist.github.com/filipovskii/f12685bc74a425ba651c736fb5e3e5ae

## Links: Basics

Benjamin C. Pierce "Types and Programming Languages" https://www.cis.upenn.edu/~bcpierce/tapl/
A draft of the book available for free: http://ropas.snu.ac.kr/~kwang/520/pierce_book.pdf

Rob Nederpelt and Herman Geuvers "Type Theory and formal proof" http://www.win.tue.nl/~wsinrpn/book_type_theory.htm

Robert Harper "Practical Foundations for Programming Languages" https://www.cs.cmu.edu/~rwh/pfpl.html

Interview with Jesper Louis Andersen about Erlang, Haskell, OCaml, Go, Idris, the JVM, software and protocol design — PART I https://notamonadtutorial.com/interview-with-jesper-louis-andersen-about-erlang-haskell-ocaml-go-idris-the-jvm-software-and-b0de06440fbd#.rawqi9bvp

Paper by Xavier Leroy "Manifest Types, Modules, and Separate Compilation" (1994) http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.3950

Paper by Conor McBride and Ross Paterson "FUNCTIONAL PEARL: Applicative programming with effects" http://strictlypositive.org/IdiomLite.pdf

## Links: Idris

Edwin Brady "Type-Driven Development with Idris" http://tinyurl.com/typedd

## Links: TypeScript

http://www.typescriptlang.org/

## Links: Haskell

Christopher Allen and Julie Moronuki "Haskell Programming from First Principles" http://haskellbook.com/

Learn you some Haskell http://learnyouahaskell.com/

## Links: Scala

Paul Chiusano and Rúnar Bjarnason "Functional Programming in Scala" https://www.manning.com/books/functional-programming-in-scala

##Links: OCaml

Yaron Minsky, Anil Madhavapeddy, Jason Hickey "Real World Ocaml" https://realworldocaml.org

A chapter from "Real World Ocaml" about Objects https://realworldocaml.org/v1/en/html/objects.html

OCaml Documentation http://caml.inria.fr/pub/docs/manual-ocaml/

Effective ML (video) https://blogs.janestreet.com/effective-ml-video/

## Links: Discussions

What exactly makes the Haskell type system so revered (vs say, Java)? http://softwareengineering.stackexchange.com/questions/279316/what-exactly-makes-the-haskell-type-system-so-revered-vs-say-java

What is a Functor? http://stackoverflow.com/questions/2030863/in-functional-programming-what-is-a-functor#2031421

ADTs vs Inheritance http://stackoverflow.com/questions/3271974/why-adts-are-good-and-inheritance-is-bad

Existential vs Universal Typess http://stackoverflow.com/questions/14299638/existential-vs-universally-quantified-types-in-haskell#14299983

Subclassing vs Subtyping http://www.cs.princeton.edu/courses/archive/fall98/cs441/mainus/node12.html

Why Haskell has no subtyping https://www.reddit.com/r/haskell/comments/423o0c/why_no_subtypingsubtype_polymorphism/

Haskell vs Java type systems http://softwareengineering.stackexchange.com/questions/279316/what-exactly-makes-the-haskell-type-system-so-revered-vs-say-java

## Music
Mid-Air! @mid_air

Twitter Mentions