Declarative programming paradigms from logic programming and relational algebra to deep probabilistic programming gain their expressiveness from nondeterminism, but efficient evaluation of even theoretically tractable nondeterministic programs poses formidable engineering challenges, especially when the language is embedded as a domain-specific language in a general-purpose higher-order language like Python or Haskell. We aim to show that array broadcasting, an underappreciated semantic feature of modern embedded array programming systems like PyTorch and JAX, makes it possible to convert these systems into powerful, general and easy-to-use optimizing compiler toolchains for embedded nondeterministic DSLs.
Sun 22 AugDisplayed time zone: Seoul change
23:30 - 01:00
|First-class Names for Effect Handlers|
|Tensor Partial Evaluation|
Eli Bingham Broad Institute, Fritz Obermeyer Broad Institute of MIT and Harvard, Yerdos Ordabayev Brandeis University, Du Phan UIUCFile Attached
|Dynamic Scope + Laziness = Counterfactuals|
James Koppel Massachusetts Institute of Technology, USA, Armando Solar-Lezama Massachusetts Institute of Technology, Zenna Tavares Massachusetts Institute of Technology, Xin Zhang Peking UniversityFile Attached