Beginning with Beta, a range of programming language mechanisms have been developed to allow inheritance in the presence of mutually dependent classes. This paper presents Tribe, a type system which generalises and simplifies other formalisms of such mechanisms, by treating issues which are inessential for soundness, such as the precise details of dispatch and path initialisation, as orthogonal to the core formalism. Tribe can support path types dependent simultaneously on both classes and objects, which is useful for writing library code, and ubiquitous access to an objects family (= owner), which offers family polymorphism without the need to drag around family arguments. Languages based on Tribe will be both simpler and more expressive t...
Much recent work in the design of object-oriented programming languages has been focusing on identif...
Since Luca Cardelli wrote a seminal paper [3] on the semantics of inheritance in 1984, program-ming ...
AbstractWe present FJig, a simple calculus where basic building blocks are classes in the style of F...
Beginning with BETA, a range of programming language mechanisms such as virtual classes (class-value...
Type abstraction in object-oriented languages embody two techniques, each with its own strenghts and...
Classes are often too small units of modularization. In a lot of cases, a cohesive piece of function...
The theory of classification in object oriented languages are discussed. The differences between cla...
Designing data types in isolation is fundamentally different from designing them for integration int...
Virtual classes are class-valued attributes of objects.Like virtual methods, virtual classes are def...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
Inheritance together with virtual functions in C++ provides programmers much polymorphism, an import...
We present FJig, a simple calculus where basic building blocks are classes in the style of Featherwe...
Inheritance is a useful mechanism for factoring and reusing code. However, it has limitations for b...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
Many dynamically-typed languages (including JavaScript, Ruby, Python or Racket) support first-class ...
Much recent work in the design of object-oriented programming languages has been focusing on identif...
Since Luca Cardelli wrote a seminal paper [3] on the semantics of inheritance in 1984, program-ming ...
AbstractWe present FJig, a simple calculus where basic building blocks are classes in the style of F...
Beginning with BETA, a range of programming language mechanisms such as virtual classes (class-value...
Type abstraction in object-oriented languages embody two techniques, each with its own strenghts and...
Classes are often too small units of modularization. In a lot of cases, a cohesive piece of function...
The theory of classification in object oriented languages are discussed. The differences between cla...
Designing data types in isolation is fundamentally different from designing them for integration int...
Virtual classes are class-valued attributes of objects.Like virtual methods, virtual classes are def...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
Inheritance together with virtual functions in C++ provides programmers much polymorphism, an import...
We present FJig, a simple calculus where basic building blocks are classes in the style of Featherwe...
Inheritance is a useful mechanism for factoring and reusing code. However, it has limitations for b...
Family polymorphism has been proposed for object-oriented languages as a solution to supporting reus...
Many dynamically-typed languages (including JavaScript, Ruby, Python or Racket) support first-class ...
Much recent work in the design of object-oriented programming languages has been focusing on identif...
Since Luca Cardelli wrote a seminal paper [3] on the semantics of inheritance in 1984, program-ming ...
AbstractWe present FJig, a simple calculus where basic building blocks are classes in the style of F...