Directing JavaScript with arrows

9 years 8 months ago
Directing JavaScript with arrows
JavaScript programmers make extensive use of event-driven programming to help build responsive web applications. However, standard approaches to sequencing events are messy, and often lead to code that is difficult to understand and maintain. We have found that arrows, a generalization of monads, are an elegant solution to this problem. Arrows allow us to easily write asynchronous programs in small, modular units of code, and flexibly compose them in many different ways, while nicely abstracting the details of asynchronous program composition. In this paper, we present Arrowlets, a new JavaScript library that offers arrows to the everyday JavaScript programmer. We show how to use Arrowlets to construct a variety of state machines, including state machines that branch and loop. We also demonstrate how Arrowlets separate computation from composition with examples such as a drag-and-drop handler and a bubblesort animation.
Yit Phang Khoo, Michael Hicks, Jeffrey S. Foster,
Added 17 Feb 2011
Updated 17 Feb 2011
Type Journal
Year 2009
Where DLS
Authors Yit Phang Khoo, Michael Hicks, Jeffrey S. Foster, Vibha Sazawal
Comments (0)