~/talk

Constructing a DSL for Composable Reports in Haskell

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

Claims a practical solution: an type-safe DSL in Haskell that generates Excel via the xlsx library, arrived at in a few days and used in production. It models headers as trees, treats column indices as builder state so formulas use cell coordinates rather than hardcoded A1 refs, and composes templates with Monoid-style concatenation and a Writer + StateT builder (do-notation friendly). It supports subreports with scoped input types and exports working XLSX files; code is planned as chloric.

AI-written summary · about

  1. 0:00Intro
  2. 0:42Disclaimer
  3. 1:29Sample Report
  4. 2:27Building Excel Reports
  5. 3:38Trying to Build Excel Reports
  6. 5:26Why composable?
  7. 6:02Report Structure
  8. 6:37Can you spot a tree?
  9. 7:53Column Trees
  10. 8:10Report Tree
  11. 9:57Report Concatenation
  12. 11:31Basic Building Blocks
  13. 13:38Monoidal Report
  14. 15:24Supporting Formulas
  15. 17:59Report Builder Monad
  16. 20:05Report Builder Blocks
  17. 23:32Report Builder Example
  18. 25:13Sub-reports
  19. 29:29Passing Data In
  20. 31:17So what if we want to...
~/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.