Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The arrow calculus
Lindley S., Wadler P., Yallop J. Journal of Functional Programming20 (1):51-69,2010.Type:Article
Date Reviewed: May 12 2011

Arrows, a generalization of monads, have gained quite a lot of traction in functional programming, since their introduction by Hughes. Over time, a better understanding of the core features of arrows has been developed. Even though the original presentation of arrows was already quite elegant, it nevertheless seemed that there could be an even smaller set of concepts sufficient to generate arrows.

The arrow calculus lays a strong claim to being the (small) set of concepts needed to understand arrows. This paper very carefully presents both classic arrows and the arrow calculus, as well as a bidirectional translation between them. The heart of the paper is the insightful analysis of the details of the arrow calculus and the properties of the translation. In particular, it shows some heretofore unnoticed redundancies in the definition of classic arrows.

The one topic that I found poorly explained was the benefit of having an equational correspondence, whereby translating from the arrow calculus into classic arrows and back is an identity on terms of the respective languages. Since this translation requires some beta reductions--as well as rewrites using the other laws--the advantages of this equational correspondence are unclear.

The presentation is quite pleasant, although primarily technical. The result is an important reference paper on arrows that simplifies earlier work. It will be mainly of interest to researchers who are already working on arrows.

Reviewer:  Jacques Carette Review #: CR139052 (1111-1185)
Bookmark and Share
  Featured Reviewer  
 
Meta (D.3.2 ... )
 
 
Functional Constructs (F.3.3 ... )
 
 
Lambda Calculus And Related Systems (F.4.1 ... )
 
 
General (F.3.0 )
 
 
General (F.4.0 )
 
 
General (D.3.0 )
 
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy