Extended ML (EML) is a framework for the formal development of modular Standard ML (SML) software systems. Development commences with a speci cation of the behaviour required and proceeds via a sequence of partial solutions until a complete solution, an executable SML program, is obtained. All stages in this development process are expressed in the EML language, an extension of SML with axioms for describing properties of module components. This is an overview of the formal de nition of the EML language. To complement the full technical details presented elsewhere, it provides an informal explanation of the main ideas, gives the rationale for certain design decisions, and outlines some of the technical issues involved. EML is unusual in being built around a \real" programming language having a formally-de ned syntax and semantics. Interesting and complex problems arise both from the nature of this relationship and from interactions between the features of the language. This is an essentially revised and expanded version of KST94a], which was based on an earlier, draft version of KST94b].