Papers describing Co-Types

Types and Co-Types in Timor [24]

http://www.jot.fm/issues/issue_2009_11/column4/ (reviewed guest paper)

Journal of Object Technology

Abstract:

A co-type is a type with instance methods and instance data which enhance the functionality of some other type (its "expanded" type). The instance methods of the co-type correspond approximately to constructors, class methods and binary methods of the expanded type in other class-based OO systems, and the instance data replaces class-based data. This unconventional approach was motivated by the need to reconcile OO concepts with the Timor aims of supporting both multiple implementations for a type and the use of qualifying types.

 

Covariantly Adjusting Co-Types in Timor [25]

http://www.jot.fm/issues/issue_2010_01/column4/

Journal of Object Technology

Abstract:

This paper extends the idea of co-types (described in a companion paper) to include the concept of adjustment hierarchies. An adjustment hierarchy provides a parallel hierarchy to a subtyping hierarchy of a type being expanded by the co-type. This has a number of advantages including the predefinition of co-types for subtypes of an expanded type, and allowing automatic covariant adjustment of parameters for makers, binary methods and instance methods, without creating problems for static type safety.