Freer Arrows and Why You Need Them in Haskell
Grant VanDomelen, Gan Shen, Lindsey Kuper, Yao Li

TL;DR
This paper introduces freer arrows in Haskell, a structure that combines expressiveness with static analysis capabilities, demonstrated through a choreographic programming case study.
Contribution
It proposes several variants of freer arrows and shows their practical usefulness in Haskell programming, addressing limitations of freer monads.
Findings
Freer arrows are more amenable to static analysis than freer monads.
Variants of freer arrows enhance expressiveness in Haskell.
Case study demonstrates practical benefits in choreographic programming.
Abstract
Freer monads are a useful structure commonly used in various domains due to their expressiveness. However, a known issue with freer monads is that they are not amenable to static analysis. This paper explores freer arrows, a relatively expressive structure that is amenable to static analysis. We propose several variants of freer arrows. We conduct a case study on choreographic programming to demonstrate the usefulness of freer arrows in Haskell.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems
