Classboxes an experiment in modeling compositional abstractions using explicit contexts. - Lumpe, Markus
The development of flexible and reusable abstractions for software composition has suffered from the inherent problem that reusability and extensibility are hampered by the dependence on position and arity of parameters. In order to address this issue, we have defined λF, a substitution-free variant of the λ-calculus where names are replaced with first-class namespaces and parameter passing is modeled using explicit contexts. We have used λF to define a model for classboxes, a dynamically typed module system for object-oriented languages that provides support for controlling both the visibility and composition of class extensions. This model not only illustrates the expressive power and flexibility of λF as a suitable formal foundation for compositional abstractions, but also assists us in validating and extending the concept of classboxes in a language-neutral way.
Keywords: Software; Software Engineering; Software architectures; Data abstraction; Reusable software; Design tools and techniques; Programming languages; Language classifications; Object oriented languages; Design; Theory