Hermes
Hermes este un limbaj pentru programarea distribuită care a fost dezvoltată la IBM de la Thomas J.
Watson Research Center din 1986 până în 1992, cu un compilator open-source și un sistem de timp de rulare.
Caracteristicile principale ale lui Hermes includ: sprijinul limbaj al proceselor și comunicarea interprocesului.
Verificarea timpului compilează că operațiunile folosesc date inițializate.
Agregate de date independente de reprezentare numite tabele.
Lipsa de indicatoare.
Au utilizat analiza tipului de tip pentru a verifica erorile de tranziții variabile, pentru a exclude unele tranziții semantic non -semnificative de la o stare la alta (adică pornind de la o valoare, unele secvențe de operații pe o variabilă sunt nonsensibile), dintre care citind o nelinitializată Variabila este un caz special.
În acest rol al verificării timpului de compilare a inițializării datelor este similară cu analiza de atribuire definită realizată de Java, Cyclone și C#.
Hermes și predecesorul său, NIL (limbajul de implementare a rețelei), au fost primele limbaje de programare care susțin această formă de verificare a inițializării.
Typestate a fost de fapt utilizat mai pe scară largă, pentru a genera operațiuni de „ștergere” inserate de compilator.