A survey of metaprogramming languages
Metaprogramming is the process of writing computer programs that treat programs as data,
enabling them to analyze or transform existing programs or generate new ones. While the …
enabling them to analyze or transform existing programs or generate new ones. While the …
Granularity in software product lines
Building software product lines (SPLs) with features is a challenging task. Many SPL
implementations support features with coarse granularity-eg, the ability to add and wrap …
implementations support features with coarse granularity-eg, the ability to add and wrap …
[PDF][PDF] Integrating compositional and annotative approaches for product line engineering
Software product lines can be implemented with many different approaches. However, there
are common underlying mechanisms which allow a classification into compositional and …
are common underlying mechanisms which allow a classification into compositional and …
First-class state change in plaid
Objects model the world, and state is fundamental to a faithful modeling. Engineers use state
machines to understand and reason about state transitions, but programming languages …
machines to understand and reason about state transitions, but programming languages …
[PDF][PDF] Visualizing Software Product Line Variabilities in Source Code.
Implementing software product lines is a challenging task. Depending on the
implementation technique the code that realizes a feature is often scattered across multiple …
implementation technique the code that realizes a feature is often scattered across multiple …
Integrating nominal and structural subty**
D Malayeri, J Aldrich - ECOOP 2008–Object-Oriented Programming: 22nd …, 2008 - Springer
Nominal and structural subty** each have their own strengths and weaknesses. Nominal
subty** allows programmers to explicitly express design intent, and, when types are …
subty** allows programmers to explicitly express design intent, and, when types are …
A new modular implementation for stateful traits
The term traits is overloaded in the literature. In this work we refer to traits as the stateless
model and implementation described in Schaerli et al. articles. Traits provide a flexible way …
model and implementation described in Schaerli et al. articles. Traits provide a flexible way …
Implementing software product lines using traits
A software product line (SPL) is a set of software systems with well-defined commonalities
and variabilities that are developed by managed reuse of common artifacts. In this paper, we …
and variabilities that are developed by managed reuse of common artifacts. In this paper, we …
Expressive and safe static reflection with MorphJ
SS Huang, Y Smaragdakis - ACM SIGPLAN Notices, 2008 - dl.acm.org
Recently, language extensions have been proposed for Java and C# to support pattern-
based reflective declaration. These extensions introduce a disciplined form of meta …
based reflective declaration. These extensions introduce a disciplined form of meta …
A unified and formal programming model for deltas and traits
This paper presents a unified model for two complementary approaches of code reuse:
Traits and Delta-Oriented Programming (DOP). Traits are used to modularly construct …
Traits and Delta-Oriented Programming (DOP). Traits are used to modularly construct …