Talk:Definite assignment analysis

Although not quite the same as definite assignment analysis (see and ), an early precedent is the "typestate" analysis done by the Hermes programming language. Quoting from the introduction of :

Hermes is a language for distributed programming that was developed at the IBM T. J. Watson Research Center from 1986 through 1992. Hermes' most interesting features include:
 * 1) language support of processes and interprocess communication.
 * 2) Compile-time verification that operations use initialized data.
 * 3) Representation independent data aggregates called tables.
 * 4) Lack of pointers.

To the best of our knowledge, complete compile-time checking of data initialization is unique to Hermes and its predecessor, NIL; the other features have appeared in other languages.

--David-Sarah Hopwood ⚥ (talk) 23:24, 27 August 2009 (UTC)