[SRC] Separate Compilation for Compositional Programming via Extensible Records
Many programming mechanisms proposed in the past support the ability to merge features from multiple independent units of code into a single unit. Typically, implementing the merging process employs source-to-source transformations or other mechanisms with limited support for separate compilation. This work presents a compiler for the CP language, which supports modular type checking and separate compilation. CP is capable of not only static merging of features, but also dynamic merging at runtime. We show how the features in CP can be compiled to languages supporting extensible records or similar mechanisms. Key to this compilation scheme is a mapping from types to record labels that are used to efficiently perform type-based lookups on merges. The concrete implementation of the CP compiler targets JavaScript, where records are modeled via JavaScript objects. We conduct an empirical evaluation through various benchmarks and evaluate the impact of several CP-specific compiler optimizations.
Poster (Yaozhu Sun.pdf) | 452KiB |
Tue 28 NovDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
13:30 - 15:00 | Student Research Competition PresentationsSRC & Posters at Room 106 & 107, IIS Chair(s): Hsiang-Shang ‘Josh’ Ko Institute of Information Science, Academia Sinica | ||
13:30 20mTalk | [SRC] Separate Compilation for Compositional Programming via Extensible Records SRC & Posters Yaozhu Sun University of Hong Kong File Attached | ||
13:50 20mTalk | [SRC] Multiple Screen States for Programming with Small Screens SRC & Posters Jin Ishikawa Oita University File Attached | ||
14:10 20mTalk | [SRC] Type-Safe Auto-Completion of Incomplete Polymorphic Programs SRC & Posters Yong Qi Foo National University of Singapore File Attached | ||
14:30 20mTalk | [SRC] Relational Hoare Logic for Comparing Nondeterministic Programs and Probabilistic Programs through a Categorical Framework SRC & Posters Kazuki Matsuoka Tokyo Institute of Technology File Attached |