License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2015.198
URN: urn:nbn:de:0030-drops-52314
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2015/5231/
Jones, Timothy ;
Homer, Michael ;
Noble, James
Brand Objects for Nominal Typing
Abstract
Combinations of structural and nominal object typing in systems such as Scala, Whiteoak, and Unity have focused on extending existing nominal, class-based systems with structural subtyping. The typical rules of nominal typing do not lend themselves to such an extension, resulting in major modifications. Adding object branding to an existing structural system integrates nominal and structural typing without excessively complicating the type system. We have implemented brand objects to explicitly type objects, using existing features of the structurally typed language Grace, along with a static type checker which treats the brands as nominal types. We demonstrate that the brands are useful in an existing implementation of Grace, and provide a formal model of the extension to the language.
BibTeX - Entry
@InProceedings{jones_et_al:LIPIcs:2015:5231,
author = {Timothy Jones and Michael Homer and James Noble},
title = {{Brand Objects for Nominal Typing}},
booktitle = {29th European Conference on Object-Oriented Programming (ECOOP 2015)},
pages = {198--221},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-939897-86-6},
ISSN = {1868-8969},
year = {2015},
volume = {37},
editor = {John Tang Boyland},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2015/5231},
URN = {urn:nbn:de:0030-drops-52314},
doi = {10.4230/LIPIcs.ECOOP.2015.198},
annote = {Keywords: brands, types, structural, nominal, Grace}
}
Keywords: |
|
brands, types, structural, nominal, Grace |
Collection: |
|
29th European Conference on Object-Oriented Programming (ECOOP 2015) |
Issue Date: |
|
2015 |
Date of publication: |
|
29.06.2015 |