Media Summary: This more introductory video walks through Haskell's kind system, giving a little motivation for why Haskell has kinds at all, and ... I walk through the four different strategies GHC uses to implement `deriving` when declaring a new datatype. Previous video ... I walk through the principles written down as part of a proposal to update GHC's
Rae Scopedtypevariables And Its Quirks - Detailed Analysis & Overview
This more introductory video walks through Haskell's kind system, giving a little motivation for why Haskell has kinds at all, and ... I walk through the four different strategies GHC uses to implement `deriving` when declaring a new datatype. Previous video ... I walk through the principles written down as part of a proposal to update GHC's This video walks through what a type-checker plugin does and demonstrates a very basic one. Toward the beginning of the video, ... I explain Haskell's `Coercible` feature, and why we sometimes need role annotations to keep our code working correctly. I introduce the new ImpredicativeTypes extension and show a way to use it to make indexing into binary trees convenient. Code at ...
I explore two examples of types that have more complex kinds: a generalization of Functor that allows fmap to be constrained (so ... I explain the infrequently-written but often-implied -XMonoLocalBinds extension and how it prevents let-generalization. We explore the difference in evaluation behavior between datatypes, strict datatypes, and newtypes, which initially came as a ... Recent work within GHC has opened up questions about which constraints should be generalized (that is, included in an inferred ... An introduction to a new video series by Tweager Richard Eisenberg, where he will blather on about Haskell, share some ... Check out my sponsor Brilliant, free for 30 days (and get 20% off an annual premium subscription!) by using this link: ...
Once again Greg and Andrew connect to talk about little efficiency gains in R. Sign up to be notified when our book about data ... This week's entry in the series on length-indexed vectors is about existentials, and how we need them in order to define functions ... Spurred on by I discuss how GHC currently is pretty arbitrary in when it decides to ... This is the third installment in a series about exploring type-level programming through length-indexed vectors. This one covers ...