World Age in Julia: Optimizing Method Dispatch in the Presence of Eval
Wed 18 Nov 2020 05:40 - 06:00 at SPLASH-III - T-6B Chair(s): Sorav Bansal, Olivier Flückiger
Dynamic programming languages face semantic and performance challenges in
the presence of features, such as eval, that can inject new code into a
running program. The Julia programming language introduces the novel
concept of world age to insulate optimized code from one of the most
disruptive side-effects of eval: changes to the
definition of an existing function. This paper provides the first formal
semantics of world age in a core calculus named juliette, and shows how
world age enables compiler optimizations, such as inlining, in the presence
of eval. While Julia also provides programmers with the means to bypass
world age, we found that this mechanism is not used extensively: a static
analysis of over 4,000 registered Julia packages shows that only
4-9% of packages bypass world age.
This suggests that Julia's semantics aligns with programmer expectations.
Tue 17 NovDisplayed time zone: Central Time (US & Canada) change
17:00 - 18:20 | T-6BOOPSLA at SPLASH-III +12h Chair(s): Todd Millstein University of California at Los Angeles, Manu Sridharan University of California at Riverside | ||
17:00 20mTalk | DynamiTe: Dynamic Termination and Non-termination Proofs OOPSLA Ton Chanh Le Stevens Institute of Technology, Timos Antonopoulos Yale University, Parisa Fathololumi Stevens Institute of Technology, Eric Koskinen Stevens Institute of Technology, ThanhVu Nguyen University of Nebraska-Lincoln Link to publication DOI Media Attached | ||
17:20 20mTalk | Programming and Reasoning with Partial Observability OOPSLA Eric Atkinson Massachusetts Institute of Technology, Michael Carbin Massachusetts Institute of Technology Link to publication DOI Media Attached | ||
17:40 20mTalk | World Age in Julia: Optimizing Method Dispatch in the Presence of Eval OOPSLA Julia Belyakova Northeastern University, Benjamin Chung Northeastern University, Jack Gelinas Northeastern University, Jameson Nash Julia Computing, Ross Tate Cornell University, Jan Vitek Northeastern University / Czech Technical University Link to publication DOI Media Attached | ||
18:00 20mTalk | Featherweight Go OOPSLA Robert Griesemer Google, Raymond Hu University of Hertfordshire, Wen Kokke University of Edinburgh, Julien Lange Royal Holloway University of London, Ian Lance Taylor Google, Bernardo Toninho Nova University of Lisbon / NOVA-LINCS, Philip Wadler University of Edinburgh, Nobuko Yoshida Imperial College London Link to publication DOI Media Attached |
Wed 18 NovDisplayed time zone: Central Time (US & Canada) change
05:00 - 06:20 | T-6BOOPSLA at SPLASH-III Chair(s): Sorav Bansal IIT Delhi and CompilerAI Labs, Olivier Flückiger Northeastern University | ||
05:00 20mTalk | DynamiTe: Dynamic Termination and Non-termination Proofs OOPSLA Ton Chanh Le Stevens Institute of Technology, Timos Antonopoulos Yale University, Parisa Fathololumi Stevens Institute of Technology, Eric Koskinen Stevens Institute of Technology, ThanhVu Nguyen University of Nebraska-Lincoln Link to publication DOI Media Attached | ||
05:20 20mTalk | Programming and Reasoning with Partial Observability OOPSLA Eric Atkinson Massachusetts Institute of Technology, Michael Carbin Massachusetts Institute of Technology Link to publication DOI Media Attached | ||
05:40 20mTalk | World Age in Julia: Optimizing Method Dispatch in the Presence of Eval OOPSLA Julia Belyakova Northeastern University, Benjamin Chung Northeastern University, Jack Gelinas Northeastern University, Jameson Nash Julia Computing, Ross Tate Cornell University, Jan Vitek Northeastern University / Czech Technical University Link to publication DOI Media Attached | ||
06:00 20mTalk | Featherweight Go OOPSLA Robert Griesemer Google, Raymond Hu University of Hertfordshire, Wen Kokke University of Edinburgh, Julien Lange Royal Holloway University of London, Ian Lance Taylor Google, Bernardo Toninho Nova University of Lisbon / NOVA-LINCS, Philip Wadler University of Edinburgh, Nobuko Yoshida Imperial College London Link to publication DOI Media Attached |