Grace's Inheritance


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.


James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones

Published in

The Journal of Object Technology (JOT), Volume 16, no. 2, 2017
Michael Homer — 2018