Directing JavaScript with Arrows (Functional Pearl). Yit Phang Khoo, Michael Hicks, Jeffrey S. Foster, and Vibha Sazawal. Technical Report CS-TR-4923, University of Maryland, Department of Computer Science, August 2008. Extended version of ICFP 2008 poster.

JavaScript, being a single-threaded language, makes extensive use of event-driven programming to enable 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 particular, we show how to use arrows to construct a variety of state machines, such as autoscrollers and drag-and-drop handlers.

[ http ]

  AUTHOR = {Yit Phang Khoo and Michael Hicks and Jeffrey S. Foster and Vibha Sazawal},
  TITLE = {Directing JavaScript with Arrows (Functional Pearl)},
  INSTITUTION = {University of Maryland, Department of Computer Science},
  NUMBER = {CS-TR-4923},
  YEAR = 2008,
  NOTE = {Extended version of ICFP 2008 poster}

This file has been generated by bibtex2html 1.69