~/talk

Practical Observable Sharing

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

Solves two concrete problems: generate an EBNF and decide nullability from finally‑tagless applicative parsers, and simplify a logical‑circuit DSL and emit a schematic. Uses type-safe observable sharing implemented with GHC stable names or weak‑map emulations in JS, converts recursive values to a typed adjacency graph and back, and runs the reified circuits/parsers to show identical behavior. Notes practical caveats: relies on IO or monadFix plus laziness, needs invariants against compiler deduplication, and includes Haskell, PureScript and Scala implementations that mostly work.

AI-written summary · about

  1. 0:00Start
  2. 11:52Stable Names
  3. 18:42Adjacency List
  4. 32:58Source Code
  5. 35:21Implementation in Haskell
  6. 49:01Simple Parser
  7. 52:27Name Parsers
  8. 1:12:09Monad Fix
  9. 1:21:26Order of Computation
~/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.