~/talk

Freer Arrows and Why You Need Them in Haskell

Talkat Haskell 2025 · 2025-10-16..10-17· [functional-programming]
links:none on file
name:Gan Shen
links:none on file
name:Yao Li
links:none on file
slides:none on file

Proposes freer arrows as a Haskell data structure (plus two variants: freer pre-arrow and freer choice arrow) that yields an Arrow instance and admits simple structural static analyses: counting events, summarizing events via a monoid, doing domain-specific rewrites and combining two sends between the same endpoints. Replaces freer monads in the hascore choreographic library, giving static endpoint projection and selective broadcasting (broadcasts only to participants used in a branch). Trade-offs: less expressive than monads (recursion/iteration unsupported without extra machinery) and pure-arr/ hom functions impede deeper analysis. Artifacts and paper DOI provided.

AI-written summary · about

  1. 0:00Freer arrows in Haskell
  2. 3:13Freer arrows matter
  3. 8:16Programming with freer arrows
  4. 11:01Static analysis with freer arrows
  5. 15:00Hascore case study
  6. 19:34Conclusion and future work
  7. 21:01Q&A
~/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.