Optimal Language Design is Hard: A Case Study in ECMAScript (JavaScript) Standardization

dc.contributor.authorRiemer, Philipp
dc.contributor.authorNikulin, Yury
dc.contributor.authorClaymore, Ashley
dc.contributor.authorBarash, Mikhail
dc.contributor.organizationfi=sovellettu matematiikka|en=Applied mathematics|
dc.contributor.organization-code1.2.246.10.2458963.20.48078768388
dc.converis.publication-id498914057
dc.converis.urlhttps://research.utu.fi/converis/portal/Publication/498914057
dc.date.accessioned2025-08-28T02:16:07Z
dc.date.available2025-08-28T02:16:07Z
dc.description.abstract<p>In addition to requirements of a purely technical nature, the evolution of widely adopted programming languages is often governed by preferences of individual members---either persons or organizations---of the language maintenance team, who may associate issues with particular design aspects. For example, when adding a new primitive data type to a language, language designers may suggest alternative semantics for equality to existing data types, as well as explicitly specify issues they wish to avoid (such as inconsistent behavior among number-like types). The decision-making process can span over multiple years and can be highly unstructured, and in a dynamic and distributed language design team, the cumulated understanding of previously discussed design alternatives can thus be lost over time.</p><p>In this paper, we present a domain-specific language to specify a certain kind of language evolution proposals--- where the design space can be presented as a collection of interconnected individual design points. With each design point, one can associate a set of issues it could raise that should be avoided. From a DSL specification, an interactive web-based tool is generated that allows exploring the design space of a proposal.</p><p>Further assigning weights to issues, we formulate an optimization problem where the goal is to select alternatives for individual design points to minimize the total weight of occurring issues. We prove that this optimization problem is NP-hard. We reduce this problem to an integer linear programming problem and incorporate a solver into our interactive tool. We demonstrate the feasibility of our approach by using our DSL to specify the ECMAScript proposal Records & Tuples, and demonstrate that any design choice---as described in the proposal---will necessarily raise issues.</p>
dc.format.pagerange84
dc.format.pagerange97
dc.identifier.isbn979-8-4007-1884-7
dc.identifier.olddbid208831
dc.identifier.oldhandle10024/191858
dc.identifier.urihttps://www.utupub.fi/handle/11111/33148
dc.identifier.urlhttps://doi.org/10.1145/3732771.3742715
dc.identifier.urnURN:NBN:fi-fe2025082788116
dc.language.isoen
dc.okm.affiliatedauthorNikulin, Yury
dc.okm.discipline111 Mathematicsen_GB
dc.okm.discipline113 Computer and information sciencesen_GB
dc.okm.discipline111 Matematiikkafi_FI
dc.okm.discipline113 Tietojenkäsittely ja informaatiotieteetfi_FI
dc.okm.internationalcopublicationinternational co-publication
dc.okm.internationalityInternational publication
dc.okm.typeA4 Conference Article
dc.publisher.countryUnited Statesen_GB
dc.publisher.countryYhdysvallat (USA)fi_FI
dc.publisher.country-codeUS
dc.relation.conferenceInternational Conference on Software Language Engineering
dc.relation.doi10.1145/3732771.3742715
dc.source.identifierhttps://www.utupub.fi/handle/10024/191858
dc.titleOptimal Language Design is Hard: A Case Study in ECMAScript (JavaScript) Standardization
dc.title.bookSLE '25: Proceedings of the 18th ACM SIGPLAN International Conference on Software Language Engineering
dc.year.issued2025

Tiedostot

Näytetään 1 - 1 / 1
Ladataan...
Name:
3732771.3742715.pdf
Size:
3.04 MB
Format:
Adobe Portable Document Format