Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JavaGI: Generalized Interfaces for Java
[go: Go Back, main page]

JavaGI: Generalized Interfaces for Java

Status
Online since 20 December 2006; Version finalized for ECOOP 25 April 2007

Author(s)
Stefan Wehr and Ralf Lämmel and Peter Thiemann

Abstract
JavaGI is an experimental language that extends Java 1.5 by generalizing the interface concept to incorporate the essential features of Haskell's type classes. In particular, generalized interfaces cater for retroactive and constrained interface implementations, binary methods, static methods in interfaces, default implementations for interface methods, interfaces over families of types, and existential quantification for interface-bounded types. As a result, many anticipatory uses of design patterns such as Adapter, Factory, and Visitor become obsolete; several extension and integration problems can be solved more easily. JavaGI's interface capabilities interact with subtyping (and subclassing) in interesting ways that go beyond type classes. JavaGI can be translated to Java 1.5. Its formal type system is derived from Featherweight GJ.

Bibtex entry
@inproceedings{JavaGI,
 author = "Stefan Wehr and Ralf L{\"a}mmel and Peter Thiemann",
 title = "{JavaGI: Generalized Interfaces for Java}",
 year = 2007,
 month = jul,
 note = {25 pages; To appear},
 booktitle = "ECOOP 2007, Proceedings",
 series = "LNCS",
 publisher = "Springer-Verlag"
}

Resources


maintained by Ralf Lämmel (Email: rlaemmel@gmail.com)