SLE 2021
Sun 17 - Tue 19 October 2021 Chicago, Illinois, United States
co-located with SPLASH 2021
Sun 17 Oct 2021 07:40 - 07:55 at Zurich C - GPCE/SLE Session 4 Chair(s): Mikhail Barash
Sun 17 Oct 2021 15:40 - 15:55 at Zurich C - GPCE/SLE Session 4 Chair(s): Eric Van Wyk

This paper proposes a concurrency model with thread abstractions and cooperative cancellation for JavaScript. JavaScript uses an event-driven model, where an active computation runs until it completes or blocks for an event while concurrent computations wait for events as callbacks. With the introduction of Promises, the control flow of callbacks can be written in a more direct style. However, the event-based model is still a source of confusion with regard to execution order, race conditions, and termination of computations.

Thread model is a familiar concept to programmers and can help reduce errors in developing JavaScript programs. This work is a library-based design, which uses an abstraction based on reader monad to pass a thread ID through a thread’s computation. A thread can be cancelled, paused, and resumed with its thread ID. This design allows hierarchical cancellation where a child thread is cancelled if its parent is cancelled. It also defines synchronization primitives to protect shared states. A formal semantics is included to give a precise definition of the proposed model.

Sun 17 Oct

Displayed time zone: Central Time (US & Canada) change

07:40 - 09:00
GPCE/SLE Session 4GPCE / SLE at Zurich C
Chair(s): Mikhail Barash University of Bergen
07:40
15m
Talk
A Concurrency Model for JavaScript with Cooperative CancellationVirtual
SLE
Tian Zhao University of Wisconsin-Milwaukee, Yonglun Li University of Wisconsin -- Milwaukee
07:55
15m
Talk
There Is More Than One Way to Zen Your PythonVirtual
SLE
Aamir Farooq Universiteit Twente, Vadim Zaytsev University of Twente, Netherlands
08:10
15m
Talk
Getting Grammars into Shape for Block-based EditorsVirtual
SLE
Mauricio Verano Merino Eindhoven University of Technology, Tom Beckmann Hasso Plattner Institute, Tijs van der Storm CWI; University of Groningen, Robert Hirschfeld Hasso Plattner Institute (HPI), University of Potsdam, Germany, Jurgen Vinju CWI; Eindhoven University of Technology
Pre-print
08:25
15m
Talk
Extracting The Power of Dependent TypesVirtual
GPCE
Artjoms Šinkarovs Heriot-Watt University, UK, Jesper Cockx TU Delft
08:40
20m
Live Q&A
Discussion, Questions, Answers
GPCE

15:40 - 17:00
GPCE/SLE Session 4SLE / GPCE at Zurich C -8h
Chair(s): Eric Van Wyk University of Minnesota, USA
15:40
15m
Talk
A Concurrency Model for JavaScript with Cooperative CancellationVirtual
SLE
Tian Zhao University of Wisconsin-Milwaukee, Yonglun Li University of Wisconsin -- Milwaukee
15:55
15m
Talk
There Is More Than One Way to Zen Your PythonVirtual
SLE
Aamir Farooq Universiteit Twente, Vadim Zaytsev University of Twente, Netherlands
16:10
15m
Talk
Getting Grammars into Shape for Block-based EditorsVirtual
SLE
Mauricio Verano Merino Eindhoven University of Technology, Tom Beckmann Hasso Plattner Institute, Tijs van der Storm CWI; University of Groningen, Robert Hirschfeld Hasso Plattner Institute (HPI), University of Potsdam, Germany, Jurgen Vinju CWI; Eindhoven University of Technology
Pre-print
16:25
15m
Talk
Extracting The Power of Dependent TypesVirtual
GPCE
Artjoms Šinkarovs Heriot-Watt University, UK, Jesper Cockx TU Delft
16:40
20m
Live Q&A
Discussion, Questions, Answers
GPCE