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): Olivier Flückiger, Sorav Bansal
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 Nov Times are displayed in time zone: Central Time (US & Canada) change
17:00 - 18:20: T-6BOOPSLA at SPLASH-III +12h Chair(s): Todd MillsteinUniversity of California at Los Angeles, Manu SridharanUniversity of California at Riverside | |||
17:00 - 17:20 Talk | DynamiTe: Dynamic Termination and Non-termination Proofs OOPSLA Ton Chanh LeStevens Institute of Technology, Timos AntonopoulosYale University, Parisa FathololumiStevens Institute of Technology, Eric KoskinenStevens Institute of Technology, ThanhVu NguyenUniversity of Nebraska-Lincoln Link to publication DOI Media Attached | ||
17:20 - 17:40 Talk | Programming and Reasoning with Partial Observability OOPSLA Eric AtkinsonMassachusetts Institute of Technology, Michael CarbinMassachusetts Institute of Technology Link to publication DOI Media Attached | ||
17:40 - 18:00 Talk | World Age in Julia: Optimizing Method Dispatch in the Presence of Eval OOPSLA Julia BelyakovaNortheastern University, Benjamin ChungNortheastern University, Jack GelinasNortheastern University, Jameson NashJulia Computing, Ross TateCornell University, Jan VitekNortheastern University / Czech Technical University Link to publication DOI Media Attached | ||
18:00 - 18:20 Talk | Featherweight Go OOPSLA Robert GriesemerGoogle, Raymond HuUniversity of Hertfordshire, Wen KokkeUniversity of Edinburgh, Julien LangeRoyal Holloway University of London, Ian Lance TaylorGoogle, Bernardo ToninhoNova University of Lisbon / NOVA-LINCS, Philip WadlerUniversity of Edinburgh, Nobuko YoshidaImperial College London Link to publication DOI Media Attached |
Wed 18 Nov Times are displayed in time zone: Central Time (US & Canada) change
05:00 - 06:20: T-6BOOPSLA at SPLASH-III Chair(s): Olivier FlückigerNortheastern University, Sorav BansalIIT Delhi | |||
05:00 - 05:20 Talk | DynamiTe: Dynamic Termination and Non-termination Proofs OOPSLA Ton Chanh LeStevens Institute of Technology, Timos AntonopoulosYale University, Parisa FathololumiStevens Institute of Technology, Eric KoskinenStevens Institute of Technology, ThanhVu NguyenUniversity of Nebraska-Lincoln Link to publication DOI Media Attached | ||
05:20 - 05:40 Talk | Programming and Reasoning with Partial Observability OOPSLA Eric AtkinsonMassachusetts Institute of Technology, Michael CarbinMassachusetts Institute of Technology Link to publication DOI Media Attached | ||
05:40 - 06:00 Talk | World Age in Julia: Optimizing Method Dispatch in the Presence of Eval OOPSLA Julia BelyakovaNortheastern University, Benjamin ChungNortheastern University, Jack GelinasNortheastern University, Jameson NashJulia Computing, Ross TateCornell University, Jan VitekNortheastern University / Czech Technical University Link to publication DOI Media Attached | ||
06:00 - 06:20 Talk | Featherweight Go OOPSLA Robert GriesemerGoogle, Raymond HuUniversity of Hertfordshire, Wen KokkeUniversity of Edinburgh, Julien LangeRoyal Holloway University of London, Ian Lance TaylorGoogle, Bernardo ToninhoNova University of Lisbon / NOVA-LINCS, Philip WadlerUniversity of Edinburgh, Nobuko YoshidaImperial College London Link to publication DOI Media Attached |