Software Composition

Volume 3628 of the series Lecture Notes in Computer Science pp 83-98

A Lambda Calculus with Forms

  • Markus LumpeAffiliated withDepartment of Computer Science, Iowa State University

* Final gross prices may vary according to local VAT.

Get Access


The need to use position-dependent parameters often hampers the definition of flexible, extensible, and reusable abstractions for software composition. This observation has led us to explore the concept of forms, which are first-class extensible records and that, in combination with a small set of purely asymmetric operators, provide a core language to address this issue. One interesting application of forms is the definition of contractual specifications to ensure that a component can be safely combined with other components or deployed in a new context. In fact, contractual specifications explicitly and formally state what a component offers without entering into the details of how. In this paper, we develop a formal form-based framework for the definition of contractual specifications. More precisely, we study a substitution-free variant of the lambda-calculus, called \(\lambda{\mathcal F}\), where names are replaced with forms and parameter passing is modeled using explicit contexts and show how the \(\lambda{\mathcal F}\)-calculus can be used to define syntactic contractual specifications.