Previous work on type-theoretic foundations for object-oriented programming languages has mostly focussed on applying or extending functional type theory to functional “objects. ” This approach, while benefitting from a vast body of existing literature, has the disadvantage of dealing with state change either in a roundabout way or not at all, and completely sidestepping issues of concurrency. In particular, dynamic issues of non-uniform service availability and conformance to protocols are not addressed by functional types. We propose a new type framework that characterizes objects as regular (finite state) processes that provide guarantees of service along public channels. We also propose an original notion of subtyping for regular types ...
A key idea in object-oriented programming is that objects encapsulate state and interact with each o...
AbstractWe propose a process algebra, the Algebra of Behavioural Types, as a language for typing con...
Session types allow high-level specifications of structured patterns of communication, such as clien...
Previous work on type-theoretic foundations for object-oriented programming languages has mostly foc...
Static typing and subtyping are useful for the support of incremental refinement and reuse in object...
Currently popular notions of types, such as signature compatibility, fail to express essential prope...
Concurrent objects can offer services non-uniformly, according to synchronisation constraints, that ...
We thank Jonathan Aldrich and Luis Caires for helpful discussions. Gay was partially supported by th...
AbstractIn current class-based Object-Oriented Programming Languages (OOPLs), object types include o...
. Static typing and subtyping are useful concepts in objectoriented programming languages. Unfortuna...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
. An object's type is usually regarded as a contract between the object and each of its users. ...
We define a small class-based object-oriented language in which the availability of methods depends ...
We define a small class-based object-oriented language in which the availability of methods depends ...
Earlier work explored the introduction of session types into object oriented languages. Following th...
A key idea in object-oriented programming is that objects encapsulate state and interact with each o...
AbstractWe propose a process algebra, the Algebra of Behavioural Types, as a language for typing con...
Session types allow high-level specifications of structured patterns of communication, such as clien...
Previous work on type-theoretic foundations for object-oriented programming languages has mostly foc...
Static typing and subtyping are useful for the support of incremental refinement and reuse in object...
Currently popular notions of types, such as signature compatibility, fail to express essential prope...
Concurrent objects can offer services non-uniformly, according to synchronisation constraints, that ...
We thank Jonathan Aldrich and Luis Caires for helpful discussions. Gay was partially supported by th...
AbstractIn current class-based Object-Oriented Programming Languages (OOPLs), object types include o...
. Static typing and subtyping are useful concepts in objectoriented programming languages. Unfortuna...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
. An object's type is usually regarded as a contract between the object and each of its users. ...
We define a small class-based object-oriented language in which the availability of methods depends ...
We define a small class-based object-oriented language in which the availability of methods depends ...
Earlier work explored the introduction of session types into object oriented languages. Following th...
A key idea in object-oriented programming is that objects encapsulate state and interact with each o...
AbstractWe propose a process algebra, the Algebra of Behavioural Types, as a language for typing con...
Session types allow high-level specifications of structured patterns of communication, such as clien...