~/talk

Effects as Capabilities

Talkat Scalar 2026 · 2026-03-26..03-27· [functional-programming, scala]
slides:none on file

A simple guess-the-number program becomes a capabilities demo: random, print and read effects are refactored into implicit parameters (context functions) and invoked via small helpers, while concrete handlers/prompt implementations provide a real JVM RNG, a test RNG, a dev/null printer and a composite TTY handler; tests run deterministically. The claim is that this keeps direct style code unchanged at the term level while tracking effects in types; trade-offs include eager conversion that blurs values vs computations and loss of referential transparency.

AI-written summary · about

  1. 0:00Introduction
  2. 1:05Capabilities and direct style
  3. 3:11Guess-a-number game
  4. 5:58Side effects critique
  5. 9:31Monads drawbacks
  6. 13:00Scala’s capabilities
  7. 15:06Random numbers capability
  8. 17:29Combinators and helpers
  9. 18:53Computations vs values
  10. 20:18Handlers and prompts
  11. 22:20Recap so far
  12. 23:00Print line capability
  13. 25:31Read input safety
  14. 26:54Composing capabilities
  15. 27:56Testing with handlers
  16. 28:38Summary
  17. 29:20Common questions and drawbacks
~/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.