## Link https://youtu.be/re96UgMk6GQ?si=Ya2lAqhdJBdYO8T1 ## Clips ### Insight into what it's like being a programming language designer start = 11:55 ### Excited that Haskell's even on the chart start = 15:12 ### The shirt start = 17:09 ### Phil Wadler start = 18:06 ### There was a release version of GHC that would report a type error and then delete your source file. People didn't even complain. start = 24:00 end = 25:30 ### Knew all their users by name to begin with start = 24:50 ### Certainly avoided standardization committees which is a two edged sword but it does make you nimble start = 24:50 ### How to build a big project: The plumbing and porcelain principle in the Haskell implementation start = 25:37 ### What about IO? We just didn't have any. start = 32:40 ### Even Simon Peyton Jones agrees that the monad people are incomprehensible and says it directly start = 34:14 ### The real story of monadic IO start = 34:14 ### Monad is a terrible name start = 38:10 ### Relentlessly pursuing a single, even slightly unrealistic idea and sticking to it is one of the benefits of the old university system start = 39:30 ### Laziness was the thing that initially brought us together, but I now think that the important thing is not laziness, but the fact that it prevented us from making those deals with the devil start = 40:04 ### Monads, Purity, and Typeclasses were all completely unexpected and not part of their original design. start = 43:10 ### Phil Wadler invented Typeclasses in a single email. start = 44:27 ### The trajectory of a new idea. First we didn't understand what Phil was talking about, then we became wildly enthusiastic. start = 47:42 ### Typeclasses kicked open the door to saying maybe we could do really interesting things with types start = 49:59 ### A type system apology: Is this just an exercise in self gratification? What we'd like is formal verification, but theorem provers are a bit like tactical nuclear weapons. You need to be quite clever to use them. When people first start to use theorem provers you don't hear from them for two years. They sort of go dark. And then they emerge, with all their pain receptors destroyed and say "It's the only way to live. I don't write programs anymore I just write Coq proofs." start = 50:40 ### Bad type systems and the region of abysmal pain start = 51:43 ### Simple Plan for World Domination: Static type systems are the world's most widely used formal verification mechanism by 3 or 4 orders of magnitude. Lots of professional programmers use static type systems every day. Their compilers run these theorem provers called type checkers every day every time their program is compiled. So if we could build on that success by making the type system more expressive so that it accepts more good programs and rejects more bad programs, that would be cool. But you have to do that without getting so weird and wacky that you lose your programmers. start = 53:30 ### Never got a PhD start = 57:52 ### The next 700 programming languages - All steeped in denotational semantics start = 58:24 ### I only did two years of maths. start = 58:30 ### Comparing Haskell to a fungus that grows beneath the ground. This analogy is the exactly the reason why Rust is named Rust. start = 1:00:18 end = 1:00:55 ### Have you considered subverting the operating system and writing it in Haskell. Enthusiastic yes. start = 1:02:00 ### Mumbles something about "We'd need Linear Types too as well probably" under his breath after talking about rewriting the kernel in a language like Haskell. Another VERY strong foreshadowing of Rust. start = 1:02:50 ### The Haskell Curry story and how they named the language. Everyone suggested and everyone vetoed. start = 1:03:05