~/talk

Variables in Haskell

Talkat LambdaConf 2017 · 2017-05-25..05-27· [haskell, concurrency]
slides:none on file

Survey of concrete mutable options: IORef/STRef for scoped mutation (runST types prevent escape), MVar semantics for take/read based synchronization and simple semaphores, TVar/STM atomically for optimistic transactional updates, and monotonic LVar-style structures plus monad-par/IVar for futures and deterministic dataflow. Examples include an ST-based graph traversal that runs much faster than the pure rebuild, a forkIO + MVar summation that coordinates threads, a working chat built on STM, and the unsafePerformIO global‑var hack warned against.

AI-written summary · about

  1. 0:00Introduction
  2. 1:09Why variables in Haskell
  3. 3:01Variable Landscape
  4. 4:11Models of Computation
  5. 4:53St Mona
  6. 6:24Simple example
  7. 7:42Multiple references
  8. 8:47Hash tables
  9. 10:14Graph traversal
  10. 11:18Typical traversal algorithm
  11. 11:59Pure traversal algorithm
  12. 19:04IRFs
  13. 19:57Global Variable
  14. 20:47Inline
  15. 23:18Hidden Parallelism
  16. 24:02Spawn
  17. 25:19Parallel
  18. 25:52Runtime
  19. 27:11Data Flow
  20. 28:24Ivers
  21. 29:10Precondition
  22. 31:25St and Part
  23. 32:33Coyote
  24. 33:39Thread Delay
  25. 34:20Communication
  26. 35:32Mbar
  27. 37:35Warranty
  28. 37:54Real Threat
  29. 39:33Fork IO
  30. 40:13Code
  31. 41:53Channels
  32. 44:08Atomically
  33. 44:35New Variables
  34. 45:56Random
  35. 47:35Conclusion
  36. 50:26Exception Landscape
~/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.