Event Loops as First-Class Values: A Case Study in Pedagogic Language Design
The World model is an existing functional input-output mechanism for event-driven programming. It is used in numerous popular textbooks and curricular settings.
The World model conflates two different tasks–the definition of an event processor and its execution–into one. This conflation imposes a significant (even unacceptable) burden on student users in several educational settings where we have tried to use it, e.g., for teaching physics.
While it was tempting to pile on features to address these issues, we instead used the Scheme language design dictum of removing weaknesses that made them seem necessary. By separating the two tasks above, we arrived at a slightly different primitive, the reactor, as our basis. This only defines the event processor, and a variety of execution operators dictate how it runs.
The new design enables programmatic control over event-driven programs. This simplifies reflecting on program behavior, and eliminates many unnecessary curricular dependencies imposed by the old design. This work has been implemented in the Pyret programming language. The separation of concerns has enabled new curricula, such as the Bootstrap:Physics curriculum, to take flight. Thousands of students use this new mechanism every year. We believe that reducing impedance mismatches improves their educational experience.
Thu 4 AprDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:30
|Distributed Reactive Programming for Reactive Distributed Systems|
Florian Myter Vrije Universiteit Brussel, Belgium, Christophe Scholliers Universiteit Gent, Belgium, Wolfgang De Meuter Vrije Universiteit BrusselLink to publication DOI Pre-print
|Event Loops as First-Class Values: A Case Study in Pedagogic Language Design|
Joe Gibbs Politz University of California San Diego, United States, Benjamin Lerner Northeastern University, United States, Sorawee Porncharoenwase Brown University, United States, Shriram Krishnamurthi Brown University, United StatesLink to publication DOI Pre-print
|ParaSail: A Pointer-Free Pervasively-Parallel Language for Irregular Computations|
Tucker Taft AdaCore, United StatesLink to publication DOI Pre-print