Records in Haskell Past, Present, and Future
summary
History of Haskell records, current hacks and concrete proposals: shows which GHC extensions solve what, demonstrates duplicate record fields quirks (type-directed resolution runs before typechecking), explains practical tools used: Template Haskell lenses, generic-lens, the has-field/getField approach and a dot-to-getField plugin (note: setField initially unsupported and plugin rewrites dots), surveys extensible-record libraries and their compiler limits, and outlines the Row Type proposal with an experimental plugin and a PureScript JSON decoder analog of about 300 lines as a working example.
AI-written summary · about
chapters (10)
- 0:00Start
- 3:24Field Label
- 4:49Name Spacing
- 6:40Type Class Resolution
- 14:10Template Haskell Lenses
- 17:01Generic Lenses
- 18:47Extensible Records
- 23:52Row Types
- 27:15Jason Decoding
- 36:06Difference between Road Type and Record
related talks
33mExperimental Patterns in ActiveRecord
34mRails 5 Features You Haven't Heard About
28mHarry Potter and the Legacy Codebase
33mSchemaless SQL The Best of Both Worlds
27mRediscovering ActiveRecord
57mFuture of Developer Acceleration with Rails
39mActiveRecord vs. Ecto: A Tale of Two ORMs
42mPowerful Rails Features You Might Not Know
