Hermes

An experimental, very high level, integrated language and system from the IBM Watson Research Centre, produced in June 1990. It is designed for implementation of large systems and distributed applications, as well as for general-purpose programming. It is an imperative language, strongly typed and is a process-oriented successor to NIL.

Hermes hides distribution and heterogeneity from the programmer. The programmer sees a single abstract machine containing processes that communicate using calls or sends. The compiler, not the programmer, deals with the complexity of data structure layout, local and remote communication, and interaction with the operating system. As a result, Hermes programs are portable and easy to write. Because the programming paradigm is simple and high level, there are many opportunities for optimisation which are not present in languages which give the programmer more direct control over the machine.

Hermes features threads, relational tablesHermes is, typestate checking, capability-based access and dynamic configuration.

Version 0.8alpha patchlevel 01 runs on RS/6000, Sun-4, NeXT, IBM-RT/BSD4.3 and includes a bytecode compiler, a bytecode->C compiler and run-time support.

0.7alpha for Unix.

E-mail: <hermes-request@watson.ibm.com>, Andy Lowry <lowry@watson.ibm.com>.

Usenet newsgroup: news:comp.lang.hermes.

["Hermes: A Language for Distributed Computing". Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Prentice-Hall, Englewood Cliffs, NJ. 1991. ISBN: O-13-389537-8].