~/talk

Actions as data, continued

Talkat Lambda World 2024 · 2024-10-02..10-04· [kotlin, reactive-programming]
slides:none on file

Kotlin coroutines convert user-friendly imperative DSLs (coin flips, loops, draw/discard) into an inspectable action ADT by marking primitives as suspend and extracting the runtime Continuation via suspendCoroutine. The implementation captures a small mutable state plus the continuation, produces nested action records for analysis/optimization, and resumes execution with startCoroutine. The prototype handles recursion-to-loop examples and conditional branching, it works, and the main cost is boilerplate that can be automated.

AI-written summary · about

  1. 0:00Functional programming joy
  2. 1:05Trading card games in code
  3. 3:57Card attacks with conditionals
  4. 8:55Optimizing card game programs
  5. 14:36Recursive loops in DSLs
  6. 15:40Style modeling with interfaces
  7. 19:56DSL capabilities for analysis
  8. 21:48Kotlin coroutines for continuations
  9. 25:41Continuations for DSL transformations
  10. 28:12Final versus initial DSL styles
  11. 35:37Summary
~/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.