The Design of the E Programming Language - Richardson, Joel E; Carey, Michael J; Schuh, Daniel T (University of Wisconsin-Madison Department of Computer Sciences, 1989)
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.