~/talk

Overlapping and Undecidable and Incoherent, Oh My!

Talkat LambdaConf 2019 · 2019-06-05..06-07· [typescript]
links:none on file
slides:none on file

GHC’s typeclass extensions are listed and demonstrated with real code: 16 extensions (six class, ten instance) with concrete examples like the String vs [Char] instance resolved by calling Data.Text.pack, functional dependencies to disambiguate multi-parameter classes, and flexible instances/contexts that let nested types compile. Practical warnings include the recursion limit 200 for undecidable instances and the strong recommendation to avoid overlapping and incoherent instances, with alternatives (closed type families, extra class methods, auxiliary classes, runtime type checks) shown.

AI-written summary · about

  1. 0:00Intro
  2. 2:33Why Type Classes
  3. 3:25GHC
  4. 4:41User Guide
  5. 5:13MultiParameter Type Classes
  6. 6:07Example Class
  7. 7:28Flexible Context
  8. 9:10Constraint Class Methods
  9. 10:14Default Signature
  10. 11:32No parameter type classes
  11. 13:00Functional dependencies
  12. 14:59In practice
  13. 16:57Type synonym instances
  14. 17:58Flexible instances
  15. 18:12Inflexible contexts
  16. 18:57Instance resolution
  17. 19:41Patterson conditions
  18. 21:24Coverage condition
  19. 21:56Liberal coverage condition
  20. 22:53Undecidable instances
  21. 23:37Class synonyms
  22. 25:00Class synonyms in practice
  23. 26:43When to use
  24. 28:34Overlapping instances
  25. 30:57Incoherent instances
  26. 31:40Incoherent census
  27. 33:05Constraint searching rules
  28. 35:57Incoherence
  29. 39:39When to use overlapping
  30. 41:39Instant signatures
  31. 43:13Overlapping Labels
  32. 44:50Overloaded Lists
  33. 45:33Undecidable Super Classes
  34. 46:41Haskell 2010 Report
  35. 47:06Language Standard
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.