User loginNavigation |
archivesThe Arrow CalculusThe arrow calculus by Sam Lindley, Philip Wadler, & Jeremy Yalloop We introduce the arrow calculus, a metalanguage for manipulating Hughes's arrows with close relations both to Moggi's metalanguage for monads and to Paterson's arrow notation. Arrows are classically defined by extending lambda calculus with three constructs satisfying nine (somewhat idiosyncratic) laws; in contrast, the arrow calculus adds four constructs satisfying five laws (which fit two well-known patterns). The five laws were previously known to be sound; we show that they are also complete, and hence that the five laws may replace the nine. I stumbled across this paper while trying to dig a little deeper into Haskell type classes and noticed that no one had mentioned it before. I'm still a novice with the lambda calculus and denotational semantics, but I can appreciate the simplification the paper achieves. It could make correctly implementing the arrow class more intuitive, but do theoretical reductions like this tend to help the compiler do a better job too? |
Browse archivesActive forum topics |
Recent comments
1 week 11 hours ago
1 week 15 hours ago
1 week 15 hours ago
23 weeks 1 day ago
27 weeks 3 days ago
29 weeks 23 hours ago
29 weeks 23 hours ago
31 weeks 5 days ago
36 weeks 3 days ago
36 weeks 3 days ago