a tractable syntactic method for proving the absence of certain program behaviours by classifying (program) phrases according to the kinds of values they compute
a tractable syntactic method for proving the absence of certain program behaviours by classifying (program) phrases according to the kinds of values they compute
defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact