~/talk

Encoding Async Graphs with Dependent Types

slides:none on file

A small Scala library called impromptu encodes async task DAGs in types by using singleton intersection types to represent each node s dependency set and an implicit end token to guarantee a node s inputs are evaluated before its body runs. A contravariant dependency wrapper forces the compiler to infer greatest lower bounds (intersection types). Implementation uses lazy futures, prevents unsafe get calls at compile time, is about 30 lines of code and is Apache licensed on GitHub.

AI-written summary · about

  1. 0:00Start
  2. 6:19Chained futures (2)
  3. 15:23Type parameters
  4. 21:43Intersections of singleton types
  5. 32:23Contravariance to the rescue!
  6. 53:38Real world example
~/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.