swMATH ID: 23217
Software Authors: Clarke, D., Drossopoulou, S., Noble, J., Wrigstad, T.
Description: Tribe: a simple virtual class calculus. Beginning with BETA, a range of programming language mechanisms such as virtual classes (class-valued attributes of objects) 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 field 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 object’s family, which offers family polymorphism without the need to drag around family arguments. Languages based on Tribe will be both simpler and more expressive than existing designs, while having a simpler type system, serving as a useful basis for future language designs.
Homepage: https://dl.acm.org/citation.cfm?doid=1218563.1218578
Related Software: Waldmeister; Mace4; Prover9; HMap; Dotty; GitHub; MixML; 1ML; Scala; Featherweight Java; BETA; Jiazzi; Classbox/J; CaesarJ; FeatureC++; AspectC++; AspectJ
Referenced in: 4 Publications

Referencing Publications by Year