stage-2022/Bilibibio.bib

71 lines
4.8 KiB
BibTeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@article{fjdef,
author = {Igarashi, Atsushi and Pierce, Benjamin C. and Wadler, Philip},
title = {Featherweight Java: A Minimal Core Calculus for Java and GJ},
year = {2001},
issue_date = {May 2001},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {23},
number = {3},
issn = {0164-0925},
url = {https://doi.org/10.1145/503502.503505},
doi = {10.1145/503502.503505},
abstract = {Several recent studies have introduced lightweight versions of Java: reduced languages in which complex features like threads and reflection are dropped to enable rigorous arguments about key properties such as type safety. We carry this process a step further, omitting almost all features of the full language (including interfaces and even assignment) to obtain a small calculus, Featherweight Java, for which rigorous proofs are not only possible but easy. Featherweight Java bears a similar relation to Java as the lambda-calculus does to languages such as ML and Haskell. It offers a similar computational "feel," providing classes, methods, fields, inheritance, and dynamic typecasts with a semantics closely following Java's. A proof of type safety for Featherweight Java thus illustrates many of the interesting features of a safety proof for the full language, while remaining pleasingly compact. The minimal syntax, typing rules, and operational semantics of Featherweight Java make it a handy tool for studying the consequences of extensions and variations. As an illustration of its utility in this regard, we extend Featherweight Java with generic classes in the style of GJ (Bracha, Odersky, Stoutamire, and Wadler) and give a detailed proof of type safety. The extended system formalizes for the first time some of the key features of GJ.},
journal = {ACM Trans. Program. Lang. Syst.},
month = {may},
pages = {396450},
numpages = {55},
keywords = {generic classes, language design, language semantics, Java, Compilation}
}
@website{yingfei_2014,
title={Chapter 19: Case study: Featherweight java - github pages}, url={https://xiongyingfei.github.io/DPPL/2014/zhao_ch19.pdf},
journal={A quick tour of OCaml},
publisher={Peking University},
author={Yingfei, Xiong},
year={2014}
}
@book{picalcul_sangiorgi,
author = {Sangiorgi, Davide and Walker, David},
title = {PI-Calculus: A Theory of Mobile Processes},
year = {2001},
isbn = {0521781779},
publisher = {Cambridge University Press},
address = {USA},
abstract = {From the Publisher:Mobile systems, whose components communicate and change their structure, now pervade the informational world and the wider world of which it is a part. The science of mobile systems is as yet immature, however. This book presents the pi-calculus, a theory of mobile systems. The pi-calculus provides a conceptual framework for understanding mobility, and mathematical tools for expressing systems and reasoning about their behaviors. The book serves both as a reference for the theory and as an extended demonstration of how to use pi-calculus to describe systems and analyze their properties. It covers the basic theory of pi-calculus, typed pi-calculi, higher-order processes, the relationship between pi-calculus and lambda-calculus, and applications of pi-calculus to object-oriented design and programming. The book is written at the graduate level, assuming no prior acquaintance with the subject, and is intended for computer scientists interested in mobile systems.}
}
@article{liquori_fjInterfaces,
TITLE = {{Extending FeatherTrait Java with Interfaces}},
AUTHOR = {Liquori, Luigi and Spiwack, Arnaud},
URL = {https://hal.inria.fr/inria-00432540},
JOURNAL = {{Theoretical Computer Science}},
PUBLISHER = {{Elsevier}},
SERIES = {Theoretical Computer Science},
VOLUME = {30},
NUMBER = {1-3},
PAGES = {243--260},
YEAR = {2008},
MONTH = May,
DOI = {10.1016/j.tcs.2008.01.051},
KEYWORDS = {Object-oriented language design ; inheritance ; types},
PDF = {https://hal.inria.fr/inria-00432540/file/TCS-60.pdf},
HAL_ID = {inria-00432540},
HAL_VERSION = {v1},
}
@InProceedings{kuci_et_al:cocoTypecheck,
author = {Edlira Kuci and Sebastian Erdweg and Oliver Bracevac and Andi Bejleri and Mira Mezini},
title = {{A Co-contextual Type Checker for Featherweight Java }},
booktitle = {31st European Conference on Object-Oriented Programming (ECOOP 2017)},
pages = {18:1--18:26},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-035-4},
ISSN = {1868-8969},
year = {2017},
volume = {74},
editor = {Peter M{\"u}ller},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2017/7262},
URN = {urn:nbn:de:0030-drops-72628},
doi = {10.4230/LIPIcs.ECOOP.2017.18},
annote = {Keywords: type checking, co-contextual, constraints, class table, Featherweight Java}
}