## Link https://youtu.be/re96UgMk6GQ?si=Ya2lAqhdJBdYO8T1 ## Clips Bacchus being God (idk when) This was good but I forget what it was 10:50 Insight into what it's like being a programming language designer. 11:55 TBD 15:12 The shirt 17:09 Phil Wadler. Add a directory. He's one. 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. 24:00 25:30 Knew all their users by name to begin with 24:50 Certainly avoided standardization committees which is a two edged sword but it does make you nimble 24:50 How to build a big project: The plumbing and porcelain principle in the Haskell implementation 25:37 How laziness trapped them into purity and made them the extreme example of their category 36:00 What about IO? We just didn't have any. 32:40 TBD 33:38 Even Simon Peyton Jones agrees that the monad people are in comprehensible and says it directly 34:14 The real story of monadic IO 34:14 Monad is a terrible name 38:10 Relentlessly pursuing a single, even slightly unrealistic idea and sticking to it is one of the benefits of the old university system 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 40:04 Monads, Purity, and Typeclasses were all completely unexpected and not part of their original design. 43:10 Phil Wadler invented Typeclasses in a single email. 44:27 The trajectory of a new idea. First we didn't understand what Phil was talking about, then we became wildly enthusiastic. 47:42 Typeclasses kicked open the door to saying maybe we could do really interesting things with types 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 hears. 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." 50:40 Bad type systems and the region of abysmal pain 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. 53:30 Never got a PhD 57:52 The next 700 programming languages - All steeped in denotational semantics 58:24 I only did two years of maths. 58:30 Comparing Haskell to a fungus that grows beneath the ground. This analogy is the exactly the reason why Rust is named Rust. 1:00:18 1:00:55 Have you considered subverting the operating system and writing it in Haskell. Enthusiastic yes. 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. 1:02:50 The Haskell Curry story and how they named the language. Everyone suggested and everyone vetoed. 1:03:05