Results 1 - 10
of
67
Semantic subtyping for objects and classes
, 2012
"... Abstract. We propose an integration of structural subtyping with boolean connectives and semantic subtyping to define a Java-like programming language that exploits the benefits of both techniques. Semantic subtyping is an approach to defining subtyping relation based on set-theoretic models, rather ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. We propose an integration of structural subtyping with boolean connectives and semantic subtyping to define a Java-like programming language that exploits the benefits of both techniques. Semantic subtyping is an approach to defining subtyping relation based on set-theoretic models
A Denotational Semantics of Inheritance
, 1989
"... This thesis develops a semantic model of inheritance and investigates its applications for the analysis and design of programming languages. Inheritance is a mechanism for incremental programming in the presence of self-reference. This interpretation of inheritance is formalized using traditional te ..."
Abstract
-
Cited by 146 (8 self)
- Add to MetaCart
techniques of fixed-point theory, resulting in a compositional model of inheritance that is directly applicable to object-oriented languages. Novel applications of inheritance revealed by the model are illustrated to show that inheritance has wider significance beyond object-oriented class inheritance
A Paradigmatic Object-Oriented Programming Language: Design, Static Typing and Semantics
- Journal of Functional Programming
, 1993
"... In order to illuminate the fundamental concepts involved in object-oriented programming languages, we describe the design of TOOPL, a paradigmatic, statically-typed, functional, object-oriented programming language which supports classes, objects, methods, hidden instance variables, subtypes, and in ..."
Abstract
-
Cited by 119 (9 self)
- Add to MetaCart
In order to illuminate the fundamental concepts involved in object-oriented programming languages, we describe the design of TOOPL, a paradigmatic, statically-typed, functional, object-oriented programming language which supports classes, objects, methods, hidden instance variables, subtypes
Class Refinement as Semantics of Correct Object Substitutability
- Formal Aspects of Computing
"... Subtype polymorphism, based on syntactic conformance of objects' methods and used for substituting subtype objects for supertype objects, is a characteristic feature of the object-oriented programming style. While certainly very useful, typechecking of syntactic conformance of subtype objects t ..."
Abstract
-
Cited by 17 (5 self)
- Add to MetaCart
to supertype objects is insufficient to guarantee correctness of object substitutability. In addition, the behaviour of subtype objects must be constrained to achieve correctness. In class-based systems classes specify the behaviour of the objects they instantiate. In this paper we define the class refinement
A Delegation-based Object Calculus with Subtyping
- In Proc. of FCT
, 1995
"... . This paper presents an untyped object calculus that reflects the capabilities of so-called delegation-based object-oriented languages. A type inference system allows static detection of errors, such as message not understood, while at the same time allowing the type of an inherited method to be sp ..."
Abstract
-
Cited by 77 (6 self)
- Add to MetaCart
it already has methods. An advantage of this approach is that we have full subtyping without restricting the "runtime " use of inheritance. Type soundness is proved using operational semantics and an analysis of typing derivations. 1 Introduction There are two basic forms of object
Subtyping Patterns for Active Objects
- UNIVERSITY OF MÜNSTER
, 2000
"... Subtyping relations for object-oriented formalisms describe relationships between super- and subclasses which satisfy the substitutability requirement imposed on types and their subtypes. For active objects with an associated behaviour description subtyping relations also have to guarantee substitut ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
substitutability with respect to the dynamic behaviour of classes. In this paper, we give subtyping patterns for integrated object-oriented formalisms, that is, with a description of a static as well as a dynamic part. The patterns can be used to obtain subtypes by construction without computing the semantics
Reengineering class hierarchies using concept analysis
- In ACM Trans. Programming Languages and Systems
, 1998
"... A new method is presented for analyzing and reengineering class hierarchies. In our approach, a class hierarchy is processed along with a set of applications that use it, and a fine-grained analysis of the access and subtype relationships between objects, variables and class members is performed. Th ..."
Abstract
-
Cited by 141 (6 self)
- Add to MetaCart
A new method is presented for analyzing and reengineering class hierarchies. In our approach, a class hierarchy is processed along with a set of applications that use it, and a fine-grained analysis of the access and subtype relationships between objects, variables and class members is performed
Subtyping of Context-Free Classes
, 1998
"... Object-oriented systems are usually not designed from scratch but constructed using frameworks or class libraries. This construction should lead to correct systems provided the reused classes are locally correct. Therefore, knowledge about the features that a certain class provides is often not en ..."
Abstract
- Add to MetaCart
Object-oriented systems are usually not designed from scratch but constructed using frameworks or class libraries. This construction should lead to correct systems provided the reused classes are locally correct. Therefore, knowledge about the features that a certain class provides is often
PolyTOIL: A type-safe polymorphic object-oriented language
, 1995
"... PolyTOIL is a new statically-typed polymorphic object-oriented programming language that is provably type-safe. By separating the de nitions of subtyping and inheritance, providing a name for the type of self, and carefully de ning the type-checking rules, we have obtained a language that is ve ..."
Abstract
-
Cited by 140 (10 self)
- Add to MetaCart
PolyTOIL is a new statically-typed polymorphic object-oriented programming language that is provably type-safe. By separating the de nitions of subtyping and inheritance, providing a name for the type of self, and carefully de ning the type-checking rules, we have obtained a language
Semantics and Types for Objects with First-Class Member Names
"... Objects in many programming languages are indexed by first-class strings, not just first-order names. We define λ ob S (“lambda sob”), an object calculus for such languages, and prove its untyped soundness using Coq. We then develop a type system for λ ob S that is built around string pattern types, ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Objects in many programming languages are indexed by first-class strings, not just first-order names. We define λ ob S (“lambda sob”), an object calculus for such languages, and prove its untyped soundness using Coq. We then develop a type system for λ ob S that is built around string pattern types
Results 1 - 10
of
67