World age in Julia: Optimizing method dispatch in the presence of eval
The result's identifiers
Result code in IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F68407700%3A21240%2F20%3A00347255" target="_blank" >RIV/68407700:21240/20:00347255 - isvavai.cz</a>
Result on the web
<a href="https://doi.org/10.1145/3428275" target="_blank" >https://doi.org/10.1145/3428275</a>
DOI - Digital Object Identifier
<a href="http://dx.doi.org/10.1145/3428275" target="_blank" >10.1145/3428275</a>
Alternative languages
Result language
angličtina
Original language name
World age in Julia: Optimizing method dispatch in the presence of eval
Original language description
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. 2020 Owner/Author.
Czech name
—
Czech description
—
Classification
Type
J<sub>ost</sub> - Miscellaneous article in a specialist periodical
CEP classification
—
OECD FORD branch
10201 - Computer sciences, information science, bioinformathics (hardware development to be 2.2, social aspect to be 5.8)
Result continuities
Project
<a href="/en/project/EF15_003%2F0000421" target="_blank" >EF15_003/0000421: Big Code: Scalable Analysis of Massive Code Bases</a><br>
Continuities
P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)
Others
Publication year
2020
Confidentiality
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů
Data specific for result type
Name of the periodical
Proceedings of the ACM on Programming Languages (PACMPL)
ISSN
2475-1421
e-ISSN
—
Volume of the periodical
4
Issue of the periodical within the volume
OOPSLA
Country of publishing house
US - UNITED STATES
Number of pages
26
Pages from-to
1-26
UT code for WoS article
—
EID of the result in the Scopus database
2-s2.0-85097585217