@article{GracesInheritance-Noble2017,
    title = {Grace's Inheritance},
    journal = {The Journal of Object Technology},
    year = 2017,
    volume = "Volume 16, no. 2",
    doi = "10.5381/jot.2017.16.2.a2",
    url = "https://michael.homer.nz/Publications/JOT2017/GracesInheritance-Noble2017.pdf",
    author = {Noble, James and Black, Andrew P. and Bruce, Kim B. and Homer, Michael and Jones, Timothy},
    abstract = {
        This article is an apologia for the design of inheritance in the
        Grace educational programming language: it explains how the design of
        Grace’s inheritance draws from inheritance mechanisms in predecessor
        languages, and defends that design as the best of the available
        alternatives. For simplicity, Grace objects are generated from object
        constructors, like those of Emerald, Lua, and Javascript; for
        familiarity, the language also provides classes and inheritance, like
        Simula, Smalltalk and Java. The design question we address is whether
        or not object constructors can provide an inheritance semantics similar
        to classes.
    }
}
