Mech - A Programming Language for Data Driven, Reactive Systems
Mech is a programming language and environment for developing data-driven, reactive systems like animations, games, IoT and robots. Mech is being developed to facilitate a nonprofit outreach program that teaches computational thinking to youths ages ten through eighteen, and for the administration of a course in programming language design taught to university-level sophomores and juniors. As a dataflow language, Mech provides programmers with abstractions to manipulate and transform streams of data. Mech is best suited for systems that rely on streams of asynchronous input from a variety of sources, such as a game where a stream of button presses defines player actions, or a robot that maintains balance through a stream of gyroscopic readings. Every time an incoming stream updates, Mech reacts by recomputing the dependent data transformations until a fixed-point is reached. The dynamic, reactive nature of Mech makes it suitable as a live-programming environment, where the write-compile-run development loop is minimized to the point where the programmer can edit their program as it is running. In this paper I introduce the design and implementation of the Mech platform through a series of live examples. This paper is written in a Markdown dialect called “Mechdown”, which extends the Markdown language with Mech-specific macros and allows Mech code to be embedded and executed within the document itself. We will demonstrate a simple clock, an interactive pong game, and an animation, as well as discuss several other applications of the language from robotics to operating systems.
Tue 22 OctDisplayed time zone: Beirut change
11:00 - 12:30 | |||
11:00 30mTalk | Mech - A Programming Language for Data Driven, Reactive Systems LIVE Corey Montella Lehigh University | ||
11:30 30mTalk | Context-Oriented Live Programming Environments with Mixed Reality System for IoT Education LIVE Ikuta Tanigawa Kyushu University, Harumi Watanabe Tokai University, Nobuhiro Ohe Tokai Univ., Mikiko Sato Tokai University, Nobuhiko Ogura Tokyo City University, Takeshi Ohkawa Tokai Univ., Kenji Hisazumi Kyushu University, Akira Fukuda Kyushu University | ||
12:00 30mTalk | An Exploratory Literature Study on Live-Tooling in the Game Industry LIVE Tom Beckmann Hasso Plattner Institute, Christian Flach Hasso Plattner Institute, University of Potsdam, Germany, Eva Krebs Hasso Plattner Institute, Stefan Ramson Hasso Plattner Institute, Germany, Patrick Rein Hasso Plattner Institute, Germany, Robert Hirschfeld Hasso-Plattner-Institut (HPI), Germany |