Abstract
dc:descriptionHow do you dynamically customize the programming language available in a context within an existing system, without changing the underlying system? This dissertation introduces a language design approach that addresses this problem. The basic idea is to structure programs as systems of multiple interacting levels of abstraction, where all of the primitive constructs used by higher levels are actually implemented as defined constructs by lower levels. This is accomplished by allowing lower levels to mediate the execution of higher levels. This structure is much like system-level virtualization, but much finer-grained. The approach builds on three existing programming language technologies: delimited continuations, dynamic scoping, and call-by-name nonstrict evaluation. The dissertation examines how to define a variety of different language constructs using this approach, including variable binding, control structures, and basic concurrency features. The approach is then applied to mediating execution of third-party Javascript code on web pages.
Degree
thesis:*- Name thesis:degree_name
- Ph.D.
- Level thesis:degree_level
- Dissertation
- Discipline thesis:degree_discipline
- Computer Science
- Grantor
- University of Illinois at Urbana-Champaign
- Year dc:date
- 2014
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Sundresh, Sameer
- Contributors dc:contributor
-
- Agha, Gul A.
Subjects
dc:subject × 1Identifiers
dc:identifier.*- Identifier
- (UMI)AAI3395508
- OAI identifier oai:identifier
- oai:www.ideals.illinois.edu:2142/72052