5: Type Systems
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