JavaGI: The Interaction of Type Classes with Interfaces and Inheritance.
Gespeichert in:
| Titel: | JavaGI: The Interaction of Type Classes with Interfaces and Inheritance. |
|---|---|
| Autoren: | Wehr, Stefan, Thiemann, Peter |
| Quelle: | ACM Transactions on Programming Languages & Systems; Jul2011, Vol. 33 Issue 4, p12:1-12:83, 83p |
| Schlagwörter: | JAVA programming language, COMPUTER interfaces, BINARY-coded decimal system, COMPILERS (Computer programs), CODE generators, COMPUTER software |
| Abstract: | The language JavaGI extends Java 1.5 conservatively by a generalized interface mechanism. The generalization subsumes retroactive and type-conditional interface implementations, binary methods, symmetric multiple dispatch, interfaces over families of types, and static interface methods. These features make certain coding patterns redundant, increase the expressiveness of the type system, and permit solutions to extension and integration problems with components in binary form, for which previously several unrelated extensions had been suggested. This article explains JavaGI and motivates its design. Moreover, it formalizes a core calculus for JavaGI and proves type soundness, decidability of typechecking, and determinacy of evaluation. The article also presents the implementation of a JavaGI compiler and an accompanying run-time system. The compiler, based on the Eclipse Compiler for Java, offers mostly modular static typechecking and fully modular code generation. It defers certain well-formedness checks until load time to increase flexibility and to enable full support for dynamic loading. Benchmarks show that the code generated by the compiler offers good performance. Several case studies demonstrate the practical utility of the language and its implementation. [ABSTRACT FROM AUTHOR] |
| Copyright of ACM Transactions on Programming Languages & Systems is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) | |
| Datenbank: | Complementary Index |
| FullText | Text: Availability: 0 CustomLinks: – Url: https://resolver.ebscohost.com/openurl?sid=EBSCO:edb&genre=article&issn=01640925&ISBN=&volume=33&issue=4&date=20110701&spage=12%3A1&pages=&title=ACM Transactions on Programming Languages & Systems&atitle=JavaGI%3A%20The%20Interaction%20of%20Type%20Classes%20with%20Interfaces%20and%20Inheritance.&aulast=Wehr%2C%20Stefan&id=DOI:10.1145/1985342.1985343 Name: Full Text Finder Category: fullText Text: Full Text Finder Icon: https://imageserver.ebscohost.com/branding/images/FTF.gif MouseOverText: Full Text Finder – Url: https://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=EBSCO&SrcAuth=EBSCO&DestApp=WOS&ServiceName=TransferToWoS&DestLinkType=GeneralSearchSummary&Func=Links&author=Wehr%20S Name: ISI Category: fullText Text: Nájsť tento článok vo Web of Science Icon: https://imagesrvr.epnet.com/ls/20docs.gif MouseOverText: Nájsť tento článok vo Web of Science |
|---|---|
| Header | DbId: edb DbLabel: Complementary Index An: 63992002 RelevancyScore: 834 AccessLevel: 6 PubType: Academic Journal PubTypeId: academicJournal PreciseRelevancyScore: 834.055297851563 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: JavaGI: The Interaction of Type Classes with Interfaces and Inheritance. – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Wehr%2C+Stefan%22">Wehr, Stefan</searchLink><br /><searchLink fieldCode="AR" term="%22Thiemann%2C+Peter%22">Thiemann, Peter</searchLink> – Name: TitleSource Label: Source Group: Src Data: ACM Transactions on Programming Languages & Systems; Jul2011, Vol. 33 Issue 4, p12:1-12:83, 83p – Name: Subject Label: Subject Terms Group: Su Data: <searchLink fieldCode="DE" term="%22JAVA+programming+language%22">JAVA programming language</searchLink><br /><searchLink fieldCode="DE" term="%22COMPUTER+interfaces%22">COMPUTER interfaces</searchLink><br /><searchLink fieldCode="DE" term="%22BINARY-coded+decimal+system%22">BINARY-coded decimal system</searchLink><br /><searchLink fieldCode="DE" term="%22COMPILERS+%28Computer+programs%29%22">COMPILERS (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22CODE+generators%22">CODE generators</searchLink><br /><searchLink fieldCode="DE" term="%22COMPUTER+software%22">COMPUTER software</searchLink> – Name: Abstract Label: Abstract Group: Ab Data: The language JavaGI extends Java 1.5 conservatively by a generalized interface mechanism. The generalization subsumes retroactive and type-conditional interface implementations, binary methods, symmetric multiple dispatch, interfaces over families of types, and static interface methods. These features make certain coding patterns redundant, increase the expressiveness of the type system, and permit solutions to extension and integration problems with components in binary form, for which previously several unrelated extensions had been suggested. This article explains JavaGI and motivates its design. Moreover, it formalizes a core calculus for JavaGI and proves type soundness, decidability of typechecking, and determinacy of evaluation. The article also presents the implementation of a JavaGI compiler and an accompanying run-time system. The compiler, based on the Eclipse Compiler for Java, offers mostly modular static typechecking and fully modular code generation. It defers certain well-formedness checks until load time to increase flexibility and to enable full support for dynamic loading. Benchmarks show that the code generated by the compiler offers good performance. Several case studies demonstrate the practical utility of the language and its implementation. [ABSTRACT FROM AUTHOR] – Name: Abstract Label: Group: Ab Data: <i>Copyright of ACM Transactions on Programming Languages & Systems is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.) |
| PLink | https://erproxy.cvtisr.sk/sfx/access?url=https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edb&AN=63992002 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1145/1985342.1985343 Languages: – Code: eng Text: English PhysicalDescription: Pagination: PageCount: 83 StartPage: 12:1 Subjects: – SubjectFull: JAVA programming language Type: general – SubjectFull: COMPUTER interfaces Type: general – SubjectFull: BINARY-coded decimal system Type: general – SubjectFull: COMPILERS (Computer programs) Type: general – SubjectFull: CODE generators Type: general – SubjectFull: COMPUTER software Type: general Titles: – TitleFull: JavaGI: The Interaction of Type Classes with Interfaces and Inheritance. Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Wehr, Stefan – PersonEntity: Name: NameFull: Thiemann, Peter IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 07 Text: Jul2011 Type: published Y: 2011 Identifiers: – Type: issn-print Value: 01640925 Numbering: – Type: volume Value: 33 – Type: issue Value: 4 Titles: – TitleFull: ACM Transactions on Programming Languages & Systems Type: main |
| ResultId | 1 |
Full Text Finder
Nájsť tento článok vo Web of Science