• Open Access IconOpen Access
  • Cite Icon16
  • https://doi.org/10.1145/1640134.1640143Copy DOI Icon

Directing JavaScript with arrows

  • Oct 26, 2009
  • Yit Phang Khoo +3 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

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.

Similar Papers
  • Book Chapter
  • Citations1

Asynchronous progress

  • Jan 01, 2003
  • Ernie Cohen
  • Conference Article

Exploring the Reactive Extensions in JavaScript

  • Jan 01, 2015
  • Matthew Podwysocki
  • Conference Article
  • Citations30

Efficient reachability testing of asynchronous message-passing programs

  • Dec 02, 2002
  • Yu Lei +1
  • Conference Article
  • Citations12

Static deadlock detection for asynchronous C# programs

  • Jun 14, 2017
  • Anirudh Santhiar +1
  • Research Article
  • Citations2

Static deadlock detection for asynchronous C# programs

  • Jun 14, 2017
  • ACM SIGPLAN Notices
  • Anirudh Santhiar +1
  • Research Article

Using React and Redux in Web Application Development: Problems and Prospects

  • Jul 18, 2025
  • Digital Platform: Information Technologies in Sociocultural Sphere
  • Olha Tkachenko +1
  • Conference Article
  • Citations4

Assessing Quality and Effort of Applying Aspect State Machines for Robustness Testing: A Controlled Experiment

  • Mar 01, 2013
  • Shaukat Ali +2
  • PDF
  • Research Article
  • Citations2

Kvik: three-tier data exploration tools for flexible analysis of genomic data in epidemiological studies

  • Mar 30, 2015
  • F1000Research
  • Bjørn Fjukstad +4
  • Conference Article
  • Citations2

Reactive-based Complex Event Processing

  • Sep 23, 2019
  • Carlos Zimmerle +3
  • Conference Article

Discovering User-Defined Event Handlers in Presence of JavaScript Libraries

  • Dec 01, 2015
  • Shuai Wang +4
  • PDF
  • Research Article
  • Citations4

Achieving State Space Reduction in Generated Ajax Web Application State Machine

  • Jan 01, 2022
  • Intelligent Automation & Soft Computing
  • Nadeem Fakhar Malik +2
  • Research Article

ASPECTS OF THE APPLICATION OF INFORMATION AND COMMUNICATION TECHNOLOGIES USING THE EXAMPLE OF JAVASCRIPT SCRIPTS ON THE MOODLE PLATFORM

  • May 19, 2025
  • Scientific and Practical Journal "Materials of Scientific Conferences of the Petro Mohyla Black Sea National University"
  • Maksym Salyutin +1
  • Research Article
  • Citations11

If-transpiler: Inlining of hybrid flow-sensitive security monitor for JavaScript

  • Feb 13, 2018
  • Computers & Security
  • Bassam Sayed +2
  • Single Book
  • Citations2

The Essential Guide to Dreamweaver CS4 with CSS, Ajax, and PHP

  • Jan 01, 2009
  • David Powers
  • Book Chapter

Microprogramming

  • Jun 13, 2008
  • Wiley Encyclopedia of Computer Science and Engineering
  • Bruce W Bomar
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.