The Emerald Programming Language

This website documents the history of the Emerald programming language.

Emerald is a distributed, object-oriented programming language that was developed at the University of Washington starting in 1984. The goal of Emerald was to simplify the construction of distributed applications. This goal was reflected at every level of the system: its object structure, the programming language design, the compiler implementation, and the run-time support.

A short Emerald program (affectionately known as “Kilroy was here”) is shown on the right.

The paper describing Emerald which appears in the proceedings of Third ACN SIGPLAN History of Programming Language Conference. (pdf)
This is the authors' version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the third ACM SIGPLAN conference on History of programming languages 2007, San Diego, California, June 09 - 10, 2007, pp. 11-1–11-51.

const Kilroy ←  object Kilroy
    const origin ←  locate self
    const up ← origin.getActiveNodes
    for e in up
      	const there ← e.getTheNode
      	move self to there
    end for
    move self to origin
  end process
end Kilroy

Historical Documents

Hysterical Documents

Published Papers

Non published papers

Ph.D. Theses

Current (more-or-less) Emerald information

  • Emerald on Source Forge
  • Emerald at UBC