Faith, Evolution, and Programming Languages: from Haskell to Java
summary
Claims that Java generics descend from Haskell type classes and that practical adoption demands concrete engineering: a polymorphic Pizza → Java translation, a formal minimal model called Featherweight Java, and an erasure mapping that implements generics on the existing JVM. Evolution takes time — roughly ten years to get generics into Java — and produces infelicities. Work also produces tools and prototypes (formal proofs, a Links successor for web apps, a blame calculus for mixing dynamic and static typing) and shows what actually works.
AI-written summary · about
chapters (8)
- 0:00Start
- 0:40How Programming Languages Evolve
- 3:14Natural Deduction
- 11:35Lambda Calculus
- 16:26The Curry Howard Isomorphism
- 19:40The Polymorphic Lambda Calculus
- 27:19Featherweight Java
- 44:23The State of Java with Generics
related talks
58mJava Sucks (So C# Didn't Have To)
51mThe Sincerest Form of Flattery
01h 02mHaskell for Java Programmers
56mJava Sucks (So C# Didn't Have To)
01h 20mGrowing the Java Language
59mMove Deliberately and Don’t Break Anything: Lessons from...Java
16mThe past, present and future of the Java type system
40mWhat Haskell taught us when we were not looking
