Skip to main content
Grace's Inheritance
Journal of Object Technology
  • James Noble, Victoria University of Wellington
  • Andrew P. Black, Portland State University
  • Kim B. Bruce, Pomona College
  • Michael Homer, Victoria University of Wellington
  • Timothy Jones, Victoria University of Wellington
Document Type
Publication Date
  • Computer software -- Development,
  • Software engineering,
  • Object-oriented programs (Computer science) -- Design and construction
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.

Originally appeared in the Journal of Object Technology, published by AITO. May be found at

Persistent Identifier
Citation Information
James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones. Grace’s Inheritance. Licensed under Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0). In Journal of Object Technology, vol. 16, no. 2, 2017, pages 2:1–35. doi:10.5381/jot.2017.16.2.a2