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 (ftp://software.watson.ibm.com/pub/hermes).
E-mail: , Andy Lowry firstname.lastname@example.org.
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].