Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Toon Verwaest

dblp:07/5922 · DBLP profile ↗
← Back
2ranked-venue papers
2as first author
0since 2021 · last 2011
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 2 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 100%

Topics — the 3 heaviest of 3, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › language design
language extension
0.112011
Flexible object layouts: enabling lightweight language extensions by intercepting slot access · OOPSLA 2011
Programming languages and type systems › metaprogramming
reflection
0.112011
Flexible object layouts: enabling lightweight language extensions by intercepting slot access · OOPSLA 2011
Programming languages and type systems › metaprogramming
behavioral reflection
0.112010
Pinocchio: bringing reflection to life with first-class interpreters · OOPSLA 2010
YearPublicationVenuePosition
2011 Flexible object layouts: enabling lightweight language extensions by intercepting slot access
abstract
Programming idioms, design patterns and application libraries often introduce cumbersome and repetitive boilerplate code to a software system. Language extensions and external DSLs (domain specific languages) are sometimes introduced to reduce the need for boilerplate code, but they also complicate the system by introducing the need for language dialects and inter-language mediation. To address this, we propose to extend the structural reflective model of the language with object layouts, layout scopes and slots. Based on the new reflective language model we can 1) provide behavioral hooks to object layouts that are triggered when the fields of an object are accessed and 2) simplify the implementation of state-related language extensions such as stateful traits. By doing this we show how many idiomatic use cases that normally require boilerplate code can be more effectively supported.
Toon Verwaest, Camillo Bruni, Mircea Lungu, Oscar Nierstrasz
OOPSLA1
2010 Pinocchio: bringing reflection to life with first-class interpreters
abstract
To support development tools like debuggers, runtime systems need to provide a meta-programming interface to alter their semantics and access internal data. Reflective capabilities are typically fixed by the Virtual Machine (VM). Unanticipated reflective features must either be simulated by complex program transformations, or they require the development of a specially tailored VM. We propose a novel approach to behavioral reflection that eliminates the barrier between applications and the VM by manipulating an explicit tower of first-class interpreters. Pinocchio is a proof-of-concept implementation of our approach which enables radical changes to the interpretation of programs by explicitly instantiating subclasses of the base interpreter. We illustrate the design of Pinocchio through non-trivial examples that extend runtime semantics to support debugging, parallel debugging, and back-in-time object-flow debugging. Although performance is not yet addressed, we also discuss numerous opportunities for optimization, which we believe will lead to a practical approach to behavioral reflection.
Toon Verwaest, Camillo Bruni, David Gurtner, Adrian Lienhard, Oscar Nierstrasz
OOPSLA1