ACM Home Page
Please provide us with feedback. Feedback
Lightweight dependent classes
Full text PdfPdf (252 KB)
Source
Generative Programming And Component Engineering archive
Proceedings of the 7th international conference on Generative programming and component engineering table of contents
Nashville, TN, USA
SESSION: Technical papers 4 table of contents
Pages 113-124  
Year of Publication: 2008
ISBN:978-1-60558-267-2
Authors
Tetsuo Kamina  The University of Tokyo, Tokyo, Japan
Tetsuo Tamai  The University of Tokyo, Tokyo, Japan
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 53,   Citation Count: 0
Additional Information:

abstract   references   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/1449913.1449932
What is a DOI?

ABSTRACT

Extensive research efforts have been devoted to implement a group of type-safe mutually recursive classes; recently, proposals for separating each member of the group as a reusable and composable programming unit have also been presented. One problem of these proposals is verbosity of the source programs; we have to declare a recursive type parameter to parameterize each mutually recursive class within each class declaration, and we have to declare a fixed-point class with empty class body for each parameterized class. Therefore, even though the underlying type system is simple, programs written in these languages tend to be rather complex and hard to understand. In this paper, we propose a language with lightweight dependent classes that forms a simple type system built on top of generic Java. In this language, we can implement each member of type-safe mutually recursive classes in a separate source file without writing a lot of complex boilerplate code. To carefully investigate type soundness of our proposal, we develop X.FGJ, a simple extension of FGJ supporting lightweight dependent classes. This type system is proved to be sound.


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
2
3
4
 
5
Kim B. Bruce. Some challenging typing issues in object-oriented languages. Electronic Notes in Theoretical Computer Science, 82(8), 2003.
 
6
Kim B. Bruce, Adrian Fiech, and Leaf Peterson. Subtyping is not a good "match" for object-oriented languages. In ECOOP'97, volume 1241 of LNCS, pages 104--127, 1997.
 
7
Kim B. Bruce and J. Nathan Foster. LOOJ: Weaving LOOM into Java. In ECOOP'04, volume 3086 of LNCS, pages 389--413, 2004.
 
8
9
10
 
11
 
12
 
13
Erik Ernst. Higher-order hierarchies. In ECOOP'01, volume 2743 of LNCS, pages 303--326, 2003.
14
15
 
16
17
 
18
Atsushi Igarashi and Benjamin C. Pierce. Foundations for virtual types. Information and Computation, 175(1):34--49, 2003.
 
19
Paul Jolly, Sophia Drossopoulou, Christopher Anderson, and Klaus Ostermann. Simple dependent types: Concord. In ECOOP Workshop on Formal Techniques for Java-like Programs (FTfJP 2004), 2004.
20
21
22
23
 
24
Nathaniel Nystrom, Michael R. Clarkson, and Andrew C. Myers. Polyglot: An extensible compiler framework for Java. In Proceedings of 12th International Conference on Compiler Construction, volume 2622 of LNCS, pages 138--152, 2003.
25
 
26
Martin Odersky, Vincent Cremet, Christine Rockl, and Matthias Zenger. A nominal theory of objects with dependent types. In ECOOP'03, volume 2743 of LNCS, pages 201--224, 2003.
27
28
 
29
 
30
 
31
 
32
 
33

Collaborative Colleagues:
Tetsuo Kamina: colleagues
Tetsuo Tamai: colleagues