License: Creative Commons Attribution 3.0 Germany license (CC BY 3.0 DE)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.1.1.4
URN: urn:nbn:de:0030-drops-55134
Go back to Dagstuhl Artifacts Series

Jones, Timothy ; Homer, Michael ; Noble, James

Brand Objects for Nominal Typing (Artifact)

4.pdf (0.3 MB)


In Brand Objects for Nominal Typing, we describe an implementation of a branding system for both runtime and static types. This artifact provides the extended form of Hopper, an interpreter for the Grace programming language, and extra modules which define both the dynamic objects and the modular static type checker. The extra modules extend the existing structural type checker in the provided version of Hopper, and are capable of statically checking code which interacts with statically determinable declarations of brand objects, including singleton brand constructors, brand sums, and dynamic variables which are known to contain some brand value at runtime. The dynamic brand objects extend this behaviour to the runtime, enforcing non-static contracts and allowing runtime type testing.

BibTeX - Entry

  author =	{Timothy Jones and Michael Homer and James Noble},
  title =	{{Brand Objects for Nominal Typing (Artifact)}},
  pages =	{4:1--4:2},
  journal =	{Dagstuhl Artifacts Series},
  ISSN =	{2509-8195},
  year =	{2015},
  volume =	{1},
  number =	{1},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{},
  URN =		{urn:nbn:de:0030-drops-55134},
  doi =		{10.4230/DARTS.1.1.4},
  annote =	{Keywords: brands, types, structural, nominal, Grace}

Keywords: brands, types, structural, nominal, Grace
Collection: DARTS, Volume 1, Issue 1
Related Scholarly Article:
Issue Date: 2015
Date of publication: 30.10.2015

DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI