Technical Report Number
Class extensions allow for a modular addition of new behavior to an existing class hierarchy. However, the reliance on position-dependent parameters in mainstream programming languages has often a negative impact on the way new behavior can be specified. This observation has led us to explore the concept of forms, which are first-class extensible records that, in combination with a small set of purely asymmetric operators, provide a core language for an extensible, flexible, and robust software development approach. In this paper, we present a refinement of our recent work on a substitution-free lambda calculus with forms. More precisely, we develop the λF@-calculus in which names are replaced with shared forms and parameter passing is modeled using explicit contexts and show, how this calculus can be used to model open classes, a key mechanism for class extensions.