TG5 Workshop (in-person meeting) co-located with the 104nd Meeting of TC39 (Tokyo, Japan, October 2024)
- Hosting institution: Computing Software Group, University of Tokyo, Japan
- Hosts: Prof. Shigeru Chiba (University of Tokyo), Yulia Startsev (Mozilla), Mikhail Barash (University of Bergen)
- Date: Friday 11th October 2024
- Time: 09:00 to 14:00 JST (Japan/Tokyo)
- Location: 1-1-1 Yayoi, Bunkyo-ku, Tokyo. The workshop is held at the lecture room Hilobby on the 6th floor of the I-REF building. When you come to the building, take an elevator to the 6th floor. The room will be in front of the elevator.
- Trivia: The University of Tokyo is the oldest and largest national university in Japan. The TG5 Workshop will be held on the main campus of the University of Tokyo, which is the oldest and largest national university in Japan. It is located in the city center of Tokyo and has good access to three subway stations. The campus is next to Ueno park, where there are many museums, hotels, and restaurants. The campus is a popular tourist spot in Tokyo and you can see the famous Red gate built in the Edo era as well as historically important university buildings.
| Time | Topic | Presenter(s) |
|---|---|---|
| 09:00 - 09:10 | Welcome to TG5 Workshop and the Computing Software Group | Shigeru Chiba, Yulia Startsev, Mikhail Barash |
| 09:10 - 09:40 | Keynote: Why Syntax Matters | Shigeru Chiba |
| 09:40 - 10:00 | Discussion on syntax and grammar models | Shigeru Chiba, Mikhail Barash |
| 10:00 - 10:45 | Bringing the WebAssembly Standard up to Speed with SpecTec | Dongjun Youn |
| 10:45 - 11:15 | coffee break | |
| 11:15 - 11:45 | Syntax Checking by Type System | Tomoki Nakamaru |
| 11:45 - 12:15 | Interactive Programming for Microcontrollers by Offloading Dynamic Incremental Compilation | Fumika Mochizuki |
| 12:15 - 13:00 | TC39 Keynote and Panel discussion | Aki Rose Braun, Michael Ficarra, Yulia Startsev, Jesse Alama, Oliver Medhurst, Ross Kirsling, Shane F. Carr |
| 13:00 - 14:00 | lunch and mingling |
We present SpecTec, a domain-specific language (DSL) and toolchain that facilitates both the Wasm specification and the generation of artifacts necessary to standardize new features. SpecTec serves as a single source of truth — from a SpecTec definition of the Wasm semantics, we can generate a typeset specification, including formal definitions and prose pseudocode descriptions, and a meta-level interpreter. Further backends for test generation and interactive theorem proving are planned. We evaluate SpecTec’s ability to represent the latest Wasm 2.0 and show that the generated meta-level interpreter passes 100% of the applicable official test suite. We show that SpecTec is highly effective at discovering and preventing errors by detecting historical errors in the specification that have been corrected and ten errors in five proposals ready for inclusion in the next version of Wasm. Our ultimate aim is that SpecTec should be adopted by the Wasm standards community and used to specify future versions of the standard.
Building a library with a fluent interface, a library that supports method chaining, is a promising way to implement our own language inside an object-oriented programming (OOP) language like JavaScript. In this talk, the presenter will introduce how we can utilize the type system of an OOP language to check the syntax of a method call chain (or a program expression) written with the fluent library.
Interactive Programming for Microcontrollers by Offloading Dynamic Incremental Compilation (Fumika Mochizuki)
This was a talk originally presented at MPLR 2024. In this talk we present our language named BlueScript. Like MicroPython, it is a language for IoT devices but with syntax borrowed from TypeScript. To enable both interactive execution and good execution performance on microcontrollers with a small amount of memory, BlueScript adopts dynamic incremental compilation and offloads it to a host PC. Furthermore, despite the syntactical similarity, the semantics of BlueScript is largely different from TypeScript and JavaScript so that compilation time will be short and compiled binary runs fast.
TC39 Keynote and Panel discussion (Aki Rose Braun, Michael Ficarra, Yulia Startsev, Jesse Alama, Oliver Medhurst)
This talk will introduce TC39, the committee responsible for the development and maintenance of the JavaScript language. The presentation will provide an overview of the committee's processes, detailing the various stages a new feature proposal undergoes, from its initial conception to its inclusion in the official language specification. We will discuss some of the proposals reviewed during the TC39 Plenary meeting held earlier during the week.
- The TC39 Process (A. Braun)
- Proposal Concurrency Control (slides) (M. Ficarra)
- Proposal Decimal (J. Alama)
- Compiling JS ahead-of-time (O. Medhurst)
- Proposal MessageFormat (S. F. Carr)