The semantics of name resolution in Grace

More Info
expand_more

Abstract

Grace is a dynamic object oriented programming language
designed to aid programming education. We present a formal
model of and give an operational semantics for its object
model and name resolution algorithm. Our main contributions
are a systematic model of Grace’s name resolution using
scope graphs, relating linguistic features to other languages,
and an operationalization of this model in the form of an
operational semantics which is readable and executable. The
semantics are extensively tested against a reference Grace
implementation.