Write a Blog >>
SPLASH 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
Mon 21 Oct 2019 11:00 - 11:30 at Room 3B - Language design and implementation Chair(s): Tetsuo Kamina

Concurrency control is difficult in JavaScript programs, where event race due to asynchronous computation is a major source of errors. While methods such as promises, cancellation tokens, and reactive programming each offer its own advantages in addressing this problem, none offers a complete solution.

In this work, we present an integrated solution for concurrency control of JavaScript using a library, arrowjs, which is based on the abstraction of arrows. Arrowjs uses continuation passing style to chain callbacks and it implicitly generates progress objects to manage concurrency. Arrowjs can implement a form of push-based reactive programming, where event streams are arrow loops communicating through shared memory. Arrowjs thus provides interoperability between thread-like callback chains and event streams with a uniform concurrency control mechanism.

Mon 21 Oct

rebls-2019-papers
11:00 - 12:30: REBLS - Language design and implementation at Room 3B
Chair(s): Tetsuo KaminaOita University
rebls-2019-papers11:00 - 11:30
Talk
Tian ZhaoUniversity of Wisconsin-Milwaukee, Adam BergerUniversity of Wisconsin -- Milwaukee, Yonglun LiUniversity of Wisconsin -- Milwaukee
rebls-2019-papers11:30 - 12:00
Talk
Yoshitaka SakuraiTokyo Institute of Technology, Takuo WatanabeTokyo Institute of Technology
DOI
rebls-2019-papers12:00 - 12:30
Talk
David RichterTechnische Universität Darmstadt, Ragnar MogkTechnische Universität Darmstadt
File Attached