DLS 2020
as the organisers put it
The 16th Dynamic Languages Symposium (DLS) at SPLASH 2020 is the premier forum for researchers and practitioners to share research and experience on all aspects on dynamic languages. See the call for papers for more information. Keynote Croquet: A Unique Collaboration Architecture Dr. Vanessa Freudenberg Chief Architect, Croquet Corp The next generation of our connected world calls for a low-latency, low-bandwidth, low-development-effort platform for synchronized interactions. The platform must also enforce privacy from the ground up, in particular in anticipation of an always-on Augmente ...
who it's for
Python developers, language implementers, JIT compiler engineers, runtime engineers, tooling engineers, parallel and GPU programmers, WebAssembly developers, distributed systems engineers
topics
Ruby type annotation inference; PMU-based sampling for JIT; Python structural pattern matching; framework-aware stack tailoring; MyPy versus PyType comparison; delayed NumPy execution and kernel fusion; cost model for Python CPU vs GPU JIT; Wasm/k delimited continuations; meta-tracing and method JIT hybridization; client-side TeaTime kernel and reflector architecture
| title | author | length |
|---|---|---|
| Sound, Heuristic Type Annotation Inference for Ruby | Milod Kazerounian, Brianna M. Ren, Jeffrey S. Foster | 15m |
InferDL automatically generates Ruby type annotations by combining constraint solving with checked heuristic guesses: heuristics propose nominal or precise… | ||
| Sampling Optimized Code for Type Feedback | Olivier Flückiger, Andreas Wälchli, Sebastián Krynski, Jan Vitek | 17m |
Prototype integrates sampling into the Ř JIT to recover type feedback lost in optimized tiers and triggers recompiles when samples contradict… | ||
| Dynamic Pattern Matching with Python | Tobias Kohn, Guido van Rossum, Gary Brandt Bucher II, Ivan Levkivskyi | 16m |
Claims a concrete design and prototype to add structural pattern matching to Python via a match statement with multiple case clauses, treating patterns as… | ||
| Framework-Aware Debugging with Stack Tailoring | Matteo Marra, Guillermo Polito, Elisa Gonzalez Boix | 16m |
Sarto is a library that instruments call stacks and exposes six concrete operations so frameworks can hide, inject, or join frames. It implements stack cutting… | ||
| Python 3 Types in the Wild: A Tale of Two Type Systems | Ingkarat Rak-amnouykit, Daniel McCrevan, Ana Milanova, Martin Hirzel, Julian Dolby | 13m |
Paper compares MyPy and PyType by running both on ~70,000 GitHub repos and finds 2,678 annotated repos, of which 318 pass MyPy. MyPy treats unannotated… | ||
| DelayRepay: Delayed Execution for Kernel Fusion in Python | John Magnus Morton, Kuba Kaszyk, Lu Li, Jiawen Sun, Christophe Dubach, Michel Steuwer, Murray Cole, Michael F. P. O'Boyle | 16m |
DelayRepay is a drop-in NumPy replacement that defers NumPy operations to build a delayed execution graph, fuses those nodes into single CUDA kernels via CuPy… | ||
| Pricing Python Parallelism: A Dynamic Language Cost Model for Heterogeneous Platforms | Dejice Jacob, Phil Trinder, Jeremy Singer | 16m |
An analytical cost model (ACM) for ALPyNA decides whether to JIT code for CPU (Numba) or GPU by modeling loop-dependence partitions (D-sequential, D-parallel… | ||
| Wasm/k: Delimited Continuations for WebAssembly | Donald Pinckney, Arjun Guha, Yuriy Brun | 17m |
Adds Wasm/k, a small WebAssembly extension that implements delimited continuations with five new ops (control, restore, continuation_copy, continuation_delete… | ||
| Amalgamating Different JIT Compilations in a Meta-tracing JIT Compiler Framework | Yusuke Izawa, Hidehiko Masuhara | 15m |
Prototype BacCaml is an RPython-like meta-tracing framework reimplemented in MinCaml and OCaml that implements Method JIT by Tracing and a runtime called Stack… | ||
| Croquet. A Unique Collaboration Architecture | Vanessa Freudenberg | 40m |
Croquet claims synchronized, bit‑identical multiuser state by running the client-side TeaTime kernel on every device while a tiny reflector timestamps events… | ||
| nothing matches | ||