Computer Sciences Dept.

The Design of the E Programming Language

Joel E Richardson, Michael J Carey and Daniel T Schuh

E is an extension of C++ designed for writing software systems to support persistent applications. Originally designed as a language for implementing database systems, E has evolved into a general persistent programming language. E was the first C++ extension to support transparent persistence, the first C++ implementation to support generic classes, and remains the only C++ extension to provide general-purpose iterators. In addition to its contributions to the C++ programming domain, work on E has made several contributions to the file of persistent languages in general, including several distinct implementations of persistence. This paper describes the main features of E and shows through examples how E addresses many of the problems that arise in building persistent systems.

Download this report (PDF)

Return to tech report index

Computer Science | UW Home