ACM Home Page
Please provide us with feedback. Feedback
Tribe: a simple virtual class calculus
Full text PdfPdf (278 KB)
Source Aspect-oriented software development; Vol. 208 archive
Proceedings of the 6th international conference on Aspect-oriented software development table of contents
Vancouver, British Columbia, Canada
SESSION: Programming language semantics table of contents
Pages: 121 - 134  
Year of Publication: 2007
ISBN:1-59593-615-7
Authors
Dave Clarke  CWI, Amsterdam, The Netherlands
Sophia Drossopoulou  Imperial College London, UK
James Noble  Victoria University of Wellington, Wellington, NZ
Tobias Wrigstad  Stockholm University, Sweden
Sponsors
AOSA : Aspect-Oriented Software Association
: Google
IBMR : IBM Research
: Eclipse Foundation
: AOSD-Europe: European Network of Excellence on Aspect-Oriented Software Development
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 40,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1218563.1218578
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Ivica Aracic, Vaidas Gasiunas, Mira Mezini, and Klaus Ostermann. An overview of Caesar J. Transactions on Aspect-Oriented Software Development, LNCS, 3880:135--173, February 2006.
 
2
David Aspinall and Martin Hofmann. Dependent types. Chapter in {26}.
 
3
 
4
 
5
David Clarke. Nested classes, nested objects, and ownership. Invited talk at FOOL/WOOD, January 2006.
 
6
David Clarke, Sophia Drossopoulou, James Noble, and Tobias Wrigstad. Tribe: More types for virtual classes, available from http://slurp.doc.ic.ac.uk/pubs.html#tribe, December 2005.
 
7
David Clarke and Tobias Wrigstad. External uniqueness is unique enough. In Proceedings of the 17th European Conference on Object-Oriented Programming (ECOOP), Darmstadt, Germany, 2003.
 
8
Vincent Cremet, François Garillot, Sergueï Lenglet, and Martin Odersky. A core calculus for Scala type checking. In Rastislav Kralovic and Pawel Urzyezyn, editors, Mathematical Foundations of Computer Science 2006, 31st International Symposium, MFCS 2006, Stará Lesná, Slovakia, August 28-September 1, 2006, Proceedings, volume 4162 of Lecture Notes in Computer Science, pages 1--23. Springer, 2006.
 
9
Robert DeLine and Manuel Fähndrich. The Fugue protocol checker: Is your software baroque? Technical Report MSR-TR-2004-07, Microsoft Research, 2003.
 
10
Erik Ernst. gBeta---A Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritiance. PhD thesis, University of Aarhus, Denmark, 1999.
 
11
12
 
13
Martin Odersky et al. An overview of the Scala programming language. Technical Report IC/2004/64, EPFL Lausanne, Switzerland, 2004.
14
 
15
Types Forum. Completeness of subtype judgments. Discussions April 25 and onwards, 2006. http://lists.seas.upenn.edu/pipermail/types-list.
 
16
 
17
Atsushi Igarashi, Chieri Saito, and Mirko Viroli. Lightweight family polymorphism. In Proceedings of the 3rd Asian Symposium on Programming Languages and Systems (APLAS'05), volume 3780 of LNCS, Tsukuba, Japan, 2005.
 
18
Paul Jolly, Sophia Drossopoulou, Christopher Anderson, and Klaus Ostermann. Simple dependent types: Concord. In 6th ECOOP Workshop on Formal Techniques for Java-like Languages, June 2004.
 
19
Kitt. Wikipedia Article. http://en.wikipedia.org/wiki/KITT.
20
 
21
22
23
24
 
25
Martin Odersky, Vincent Cremet, Christine Röckl, and Matthias Zenger. A nominal theory of objects with dependent types. In Luca Cardelli, editor, ECOOP 2003 - Object-Oriented Programming, 17th European Conference, Darmstadt, Germany, July 21--25, 2003, Proceedings, volume 2743 of Lecture Notes in Computer Science, pages 201--224. Springer, 2003.
 
26
 
27
Nathanael Schärli, Stéphane Ducasse, Oscar Nierstrasz, and Andrew P. Black. Traits: Composable units of behaviour. In Luca Cardelli, editor, ECOOP 2003 - Object-Oriented Programming: 17th European Conference, volume 2473 of Lecture Notes In Computer Science, pages 248--274. Springer-Verlag, July 2003.
 
28
 
29
 
30
Tobias Wrigstad. Ownership-Based Alias Management. PhD thesis, Department of Computer and Systems Science, Royal Institute of Technology, Kista, Stockholm, May 2006.


Collaborative Colleagues:
Dave Clarke: colleagues
Sophia Drossopoulou: colleagues
James Noble: colleagues
Tobias Wrigstad: colleagues