Results 1  10
of
21
Dynamic Rebinding for Marshalling and Update, with DestructTime λ
 IN PROC. ICFP
, 2003
"... Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example when a marshalled value is received from the network, containing identifiers that must be rebound to ..."
Abstract

Cited by 36 (15 self)
 Add to MetaCart
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example when a marshalled value is received from the network, containing identifiers that must be rebound to local resources. Typically it is provided only by adhoc mechanisms that lack clean semantics. In this
A Formal Language for Composition
, 2000
"... A composition language based on a formal semantic foundation will facilitate precise specification of glue abstractions and compositions, and will support reasoning about their behaviour. The semantic foundation, however, must address a set of requirements like encapsulation, objects as processes, c ..."
Abstract

Cited by 22 (8 self)
 Add to MetaCart
A composition language based on a formal semantic foundation will facilitate precise specification of glue abstractions and compositions, and will support reasoning about their behaviour. The semantic foundation, however, must address a set of requirements like encapsulation, objects as processes, components as abstractions, plug compatibility, a formal object model, and scalability. In this work, we propose the #Lcalculus, an extension of the #calculus, as a formal foundation for software composition, define a language in terms of it, and illustrate how this language can be used to plug components together. 1.1 Introduction One of the key challenges for programming language designers today is to provide the tools that will allow software engineers to develop robust, flexible, distributed applications from plugcompatible software components [NM95]. Current objectoriented programming languages typically provide an ad hoc collection of mechanisms for constructing and composing obje...
A Simply Typed Context Calculus with FirstClass Environments
, 2002
"... . We introduce a simply typed calculus " which has both contexts and environments as firstclass values. In ", holes in contexts are represented by ordinary variables of appropriate types and hole filling is represented by the functional application together with a new abstraction mechanism which t ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
. We introduce a simply typed calculus " which has both contexts and environments as firstclass values. In ", holes in contexts are represented by ordinary variables of appropriate types and hole filling is represented by the functional application together with a new abstraction mechanism which takes care of packing and unpacking of the term which is used to fill in the holes of the context. " is a conservative extension of the simply typed ficalculus, enjoys subject reduction property, is confluent and strongly normalizing. The traditional method of defining substitution does not work for our calculus. So, we also introduce a new method of defining substitution. Although we introduce the new definition of substitution out of necessity, the new definition turns out to be conceptually simpler than the traditional definition of substitution. 1 Introduction Informally speaking, a context (in calculus) is a term with some holes in it. For example, writing [ ] for a hole, y: [ ] is a...
A Typed Context Calculus
, 2001
"... This paper develops a typed calculus for contexts i.e., lambda terms with "holes". In addition to ordinary lambda terms, the calculus contains labeled holes, hole abstraction and context application for manipulating firstclass contexts. The primary operation for contexts is holefilling, which capt ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
This paper develops a typed calculus for contexts i.e., lambda terms with "holes". In addition to ordinary lambda terms, the calculus contains labeled holes, hole abstraction and context application for manipulating firstclass contexts. The primary operation for contexts is holefilling, which captures free variables. This operation conicts with substitution of the lambda calculus, and a straightforward mixture of the two results in an inconsistent system. We solve this problem by defining a type system that precisely specifies the variablecapturing nature of contexts and that keeps track of bound variable renaming. These mechanisms enable us to define a reduction system that properly integrates betareduction and holefilling. The resulting calculus is ChurchRosser and the type system has the subject reduction property. We believe that the context calculus will serve as a basis for developing a programming language with advanced features that call for manipulation of open terms.
Labelled Reductions, Runtime Errors, and Operational Subsumption
 of Lecture Notes in Computer Science
, 1997
"... Introduction Consider the "nameswitching" function F def = x:fl 1 = x:l 2 ; l 2 = x:l 1 g in a  calculus with records. Most type systems would reject program (Ffl 1 = 3g):l 2 because the type of F is fl 1 : X; l 2 : Y g ! fl 2 : Y; l 1 : Xg and fl 1 : X; l 2 : Y g cannot be unified with fl 1 ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Introduction Consider the "nameswitching" function F def = x:fl 1 = x:l 2 ; l 2 = x:l 1 g in a  calculus with records. Most type systems would reject program (Ffl 1 = 3g):l 2 because the type of F is fl 1 : X; l 2 : Y g ! fl 2 : Y; l 1 : Xg and fl 1 : X; l 2 : Y g cannot be unified with fl 1 : Intg, the type of the record argument. However this program reduces to 3 without error. This shows that the common notion of "erroneous" terms, as implemented in most typed languages, is sometimes
A Study on Mobile Language Systems
, 1999
"... The mobile form of distributed computation, called mobile computation, is investigated from the viewpoints of computational model, programming language and implementation. The emphasis of this thesis compared with the related work is on analyzing existing mobile language systems from a rather implem ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
The mobile form of distributed computation, called mobile computation, is investigated from the viewpoints of computational model, programming language and implementation. The emphasis of this thesis compared with the related work is on analyzing existing mobile language systems from a rather implementational point of view. The contribution of this thesis is threefold. (1) We present a computational model in which dynamic transference of code, data and execution state can be represented. Several mobility mechanisms in existing mobile language systems are analyzed in the model. (2) Based on the analysis, a programming language for mobile computation is designed. The distinctive feature of the language is the facility to control the transparency of migration. (3) An implementation of the mobile programming language is presented. The language is implemented as an extension of the Java language. The implementation is so portable that the program runs on any standard Java inte...
Operational Subsumption, an Ideal Model of Subtyping
, 1998
"... In a previous paper we have defined a semantic preorder called operational subsumption, which compares terms according to their error generation behaviour. Here we apply this abstract framework to a concrete language, namely the AbadiCardelli object calculus. Unlike most semantic studies of objects ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
In a previous paper we have defined a semantic preorder called operational subsumption, which compares terms according to their error generation behaviour. Here we apply this abstract framework to a concrete language, namely the AbadiCardelli object calculus. Unlike most semantic studies of objects, which deal with typed equalities and therefore require explicitly typed languages, we start here from a untyped world. Type inference is introduced in a second step, together with an ideal model of types and subtyping. We show how this approach flexibly accommodates for several variants, and finally propose a novel semantic interpretation of structural subtyping as embeddingprojection pairs. 1 Introduction In a previous paper [10] we have defined a semantic preorder called operational subsumption, which compares terms according to their error generation behaviour. Together with the technical device of labeled reductions, used as a syntactic characterization of finite approximations, thi...
Contextual Model Type Theory
, 2005
"... this paper we investigate the consequences of relativizing these concepts to explicitly specified contexts. We obtain contextual modal logic and its typetheoretic analogue. Contextual modal type theory provides an elegant, uniform foundation for understanding metavariables and explicit substitutio ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
this paper we investigate the consequences of relativizing these concepts to explicitly specified contexts. We obtain contextual modal logic and its typetheoretic analogue. Contextual modal type theory provides an elegant, uniform foundation for understanding metavariables and explicit substitutions. We sketch some applications in functional programming and logical frameworks
Dynamic rebinding for marshalling and update, via redextime and destructtime reduction
, 2008
"... ..."
Formbased Software Composition
 Proceedings of ESEC ’03 Workshop on Specification and Verification of ComponentBased Systems (SAVCBS ’03
, 2003
"... The development of flexible and reusable abstractions for software composition has su#ered from the inherent problem that reusability and extensibility are limited due to positiondependent parameters. To tackle this problem, we have defined forms, immutable extensible records, that allow for the sp ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
The development of flexible and reusable abstractions for software composition has su#ered from the inherent problem that reusability and extensibility are limited due to positiondependent parameters. To tackle this problem, we have defined forms, immutable extensible records, that allow for the specification of compositional abstractions in a languageneutral and robust way. In this paper, we present a theory of forms and show how forms can be used to represent components based on software artifacts developed for the .NET framework.