MultiJava: Design, implementation, and evaluation of a Java-compatible language supporting modular open classes and symmetric multiple dispatch
Saved in:
| Title: | MultiJava: Design, implementation, and evaluation of a Java-compatible language supporting modular open classes and symmetric multiple dispatch |
|---|---|
| Authors: | Clifton, Curtis |
| Contributors: | Computer Science |
| Source: | archive/lib.dr.iastate.edu/cs_techreports/304/tr01_10.pdf|||Fri Jan 14 23:28:43 UTC 2022 |
| Publication Year: | 2001 |
| Collection: | Digital Repository @ Iowa State University |
| Subject Terms: | Programming Languages and Compilers, Multimethods, generic functions, object-oriented programming languages, single dispatch, multiple dispatch, encapsulation, modularity, static typechecking, subtyping, inheritance, open objects, extensible classes, external methods, Java language, MultiJava language, separate compilation |
| Description: | This paper describes the design, implementation, and evaluation of MultiJava, a backward-compatible extension to The Java Programming Language� that supports open classes and symmetric multiple dispatch. An open class is one to which new methods can be added without editing the class directly. Multiple dispatch allows the method invoked by a message send to depend on the run-time types of any subset of the argument objects. MultiJava is the first full-scale programming language to support these features while retaining modular static typechecking and compilation. The paper defines the notions of modular editing, typechecking, and compilation, and describes two problems, the augmenting method problem and the binary method problem, that heretofore had not been solved in a modular way. We describe the architecture and key implementation details of our MultiJava compiler, mjc. mjc is open-source and is freely available for downloading. We present an evaluation of MultiJava that demonstrates the ease of extending code written in the language. We also provide empirical results for the performance of MultiJava versus the previous partial solutions to the augmenting method and binary method problems. These results demonstrate that MultiJava�s performance is comparable to that of the partial solutions, while the language provides full solutions to the problems. |
| Document Type: | article in journal/newspaper |
| File Description: | application/pdf |
| Language: | unknown |
| Relation: | archive/lib.dr.iastate.edu/cs_techreports/304/; 1303; 5498487; cs_techreports/304; https://dr.lib.iastate.edu/handle/20.500.12876/20133 |
| Availability: | https://dr.lib.iastate.edu/handle/20.500.12876/20133 https://hdl.handle.net/20.500.12876/20133 |
| Accession Number: | edsbas.AF7AAB46 |
| Database: | BASE |
| FullText | Text: Availability: 0 CustomLinks: – Url: https://dr.lib.iastate.edu/handle/20.500.12876/20133# Name: EDS - BASE (s4221598) Category: fullText Text: View record from BASE – Url: https://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=EBSCO&SrcAuth=EBSCO&DestApp=WOS&ServiceName=TransferToWoS&DestLinkType=GeneralSearchSummary&Func=Links&author=Clifton%20C 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: edsbas DbLabel: BASE An: edsbas.AF7AAB46 RelevancyScore: 759 AccessLevel: 3 PubType: Academic Journal PubTypeId: academicJournal PreciseRelevancyScore: 759.354309082031 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: MultiJava: Design, implementation, and evaluation of a Java-compatible language supporting modular open classes and symmetric multiple dispatch – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Clifton%2C+Curtis%22">Clifton, Curtis</searchLink> – Name: Author Label: Contributors Group: Au Data: Computer Science – Name: TitleSource Label: Source Group: Src Data: archive/lib.dr.iastate.edu/cs_techreports/304/tr01_10.pdf|||Fri Jan 14 23:28:43 UTC 2022 – Name: DatePubCY Label: Publication Year Group: Date Data: 2001 – Name: Subset Label: Collection Group: HoldingsInfo Data: Digital Repository @ Iowa State University – Name: Subject Label: Subject Terms Group: Su Data: <searchLink fieldCode="DE" term="%22Programming+Languages+and+Compilers%22">Programming Languages and Compilers</searchLink><br /><searchLink fieldCode="DE" term="%22Multimethods%22">Multimethods</searchLink><br /><searchLink fieldCode="DE" term="%22generic+functions%22">generic functions</searchLink><br /><searchLink fieldCode="DE" term="%22object-oriented+programming+languages%22">object-oriented programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22single+dispatch%22">single dispatch</searchLink><br /><searchLink fieldCode="DE" term="%22multiple+dispatch%22">multiple dispatch</searchLink><br /><searchLink fieldCode="DE" term="%22encapsulation%22">encapsulation</searchLink><br /><searchLink fieldCode="DE" term="%22modularity%22">modularity</searchLink><br /><searchLink fieldCode="DE" term="%22static+typechecking%22">static typechecking</searchLink><br /><searchLink fieldCode="DE" term="%22subtyping%22">subtyping</searchLink><br /><searchLink fieldCode="DE" term="%22inheritance%22">inheritance</searchLink><br /><searchLink fieldCode="DE" term="%22open+objects%22">open objects</searchLink><br /><searchLink fieldCode="DE" term="%22extensible+classes%22">extensible classes</searchLink><br /><searchLink fieldCode="DE" term="%22external+methods%22">external methods</searchLink><br /><searchLink fieldCode="DE" term="%22Java+language%22">Java language</searchLink><br /><searchLink fieldCode="DE" term="%22MultiJava+language%22">MultiJava language</searchLink><br /><searchLink fieldCode="DE" term="%22separate+compilation%22">separate compilation</searchLink> – Name: Abstract Label: Description Group: Ab Data: This paper describes the design, implementation, and evaluation of MultiJava, a backward-compatible extension to The Java Programming Language� that supports open classes and symmetric multiple dispatch. An open class is one to which new methods can be added without editing the class directly. Multiple dispatch allows the method invoked by a message send to depend on the run-time types of any subset of the argument objects. MultiJava is the first full-scale programming language to support these features while retaining modular static typechecking and compilation. The paper defines the notions of modular editing, typechecking, and compilation, and describes two problems, the augmenting method problem and the binary method problem, that heretofore had not been solved in a modular way. We describe the architecture and key implementation details of our MultiJava compiler, mjc. mjc is open-source and is freely available for downloading. We present an evaluation of MultiJava that demonstrates the ease of extending code written in the language. We also provide empirical results for the performance of MultiJava versus the previous partial solutions to the augmenting method and binary method problems. These results demonstrate that MultiJava�s performance is comparable to that of the partial solutions, while the language provides full solutions to the problems. – Name: TypeDocument Label: Document Type Group: TypDoc Data: article in journal/newspaper – Name: Format Label: File Description Group: SrcInfo Data: application/pdf – Name: Language Label: Language Group: Lang Data: unknown – Name: NoteTitleSource Label: Relation Group: SrcInfo Data: archive/lib.dr.iastate.edu/cs_techreports/304/; 1303; 5498487; cs_techreports/304; https://dr.lib.iastate.edu/handle/20.500.12876/20133 – Name: URL Label: Availability Group: URL Data: https://dr.lib.iastate.edu/handle/20.500.12876/20133<br />https://hdl.handle.net/20.500.12876/20133 – Name: AN Label: Accession Number Group: ID Data: edsbas.AF7AAB46 |
| PLink | https://erproxy.cvtisr.sk/sfx/access?url=https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.AF7AAB46 |
| RecordInfo | BibRecord: BibEntity: Languages: – Text: unknown Subjects: – SubjectFull: Programming Languages and Compilers Type: general – SubjectFull: Multimethods Type: general – SubjectFull: generic functions Type: general – SubjectFull: object-oriented programming languages Type: general – SubjectFull: single dispatch Type: general – SubjectFull: multiple dispatch Type: general – SubjectFull: encapsulation Type: general – SubjectFull: modularity Type: general – SubjectFull: static typechecking Type: general – SubjectFull: subtyping Type: general – SubjectFull: inheritance Type: general – SubjectFull: open objects Type: general – SubjectFull: extensible classes Type: general – SubjectFull: external methods Type: general – SubjectFull: Java language Type: general – SubjectFull: MultiJava language Type: general – SubjectFull: separate compilation Type: general Titles: – TitleFull: MultiJava: Design, implementation, and evaluation of a Java-compatible language supporting modular open classes and symmetric multiple dispatch Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Clifton, Curtis – PersonEntity: Name: NameFull: Computer Science IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 01 Type: published Y: 2001 Identifiers: – Type: issn-locals Value: edsbas Titles: – TitleFull: archive/lib.dr.iastate.edu/cs_techreports/304/tr01_10.pdf|||Fri Jan 14 23:28:43 UTC 2022 Type: main |
| ResultId | 1 |
Nájsť tento článok vo Web of Science