This Is Driving Me Loopy: Efficient Loops in Arrowized Functional Reactive Pr...
summary
Transforms ArrowLoop programs into variants with known execution order (introducing LoopD and LoopM) by applying Arrow and ArrowLoop laws (sliding, split) plus CCA product rules, implemented as GADT-to-GADT rewrites in the tool seven using simple pattern-match rules. The paper proves correctness and uses Hedgehog random testing; real benchmarks show 1.5x–1.9x speedups (chains, LoopD, LoopM, and separated R/PR patterns). Artifacts and DOI are provided.
AI-written summary · about
chapters (9)
- 0:00Introduction to FRP
- 1:48Implementing Yampa programs
- 3:22Adding feedback loops
- 6:04The challenge of execution
- 9:22Strict loop transformation
- 12:27Handling complex loop cases
- 16:03Implementation details
- 18:29Performance and conclusion
- 21:28Q&A session
related talks
30mFunctional programming in Kotlin: exploring Arrow
01h 06mDesigning Applications with Functional Programming Constructs
47mFunctional programming in Kotlin: exploring Arrow
40mArchitecting Typed FP Applications & Libraries in Kotlin with Arrow
48mKotlin & Functional Programming: pick the best, skip the rest
47mExtensibly Free Arrows
32mFreer Arrows and Why You Need Them in Haskell
44mFunctional Programming You Already Know
