MultiJava: design, implementation, and evaluation of a Java-compatible language supporting modular open classes and symmetric multiple dispatch

dc.contributor.author Clifton, Curtis
dc.contributor.department Computer Science
dc.date 2020-11-22T06:43:11.000
dc.date.accessioned 2021-02-26T09:04:01Z
dc.date.available 2021-02-26T09:04:01Z
dc.date.copyright Mon Jan 01 00:00:00 UTC 2001
dc.date.issued 2001-01-01
dc.description.abstract <p>This paper describes the design, implementation, and evaluation of MultiJava, a backward-compatible extension to The Java Programming Language[Superscript TM] 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.</p>
dc.format.mimetype application/pdf
dc.identifier archive/lib.dr.iastate.edu/rtd/21138/
dc.identifier.articleid 22137
dc.identifier.contextkey 20252253
dc.identifier.doi https://doi.org/10.31274/rtd-20201118-102
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath rtd/21138
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/98505
dc.language.iso en
dc.source.bitstream archive/lib.dr.iastate.edu/rtd/21138/Clifton_ISU_2001_C55.pdf|||Fri Jan 14 22:35:04 UTC 2022
dc.subject.keywords Computer science
dc.title MultiJava: design, implementation, and evaluation of a Java-compatible language supporting modular open classes and symmetric multiple dispatch
dc.type article
dc.type.genre thesis
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
thesis.degree.discipline Computer Science
thesis.degree.level thesis
thesis.degree.name Master of Science
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Clifton_ISU_2001_C55.pdf
Size:
2.33 MB
Format:
Adobe Portable Document Format
Description: