Although this paper can be summarized (the abstract is satisfyingly concise), many of its virtues lie in the details of its developing argument. In brief, the authors present the following argument: Programming is not purely a matter of specifying a process in a particular language; it also involves a text editor, a system command language, a symbolic debugger, and possibly a linkage editor and a version control facility (all of which, more likely than not, define widely differing linguistic constructs to invoke conceptually similar functions).
The authors concentrate on unifying three of the above languages: the command language, the programming language, and the symbolic debugging language. A close examination of three UNIX version 7 shell procedures demonstrates nicely that there is already a strong overlap in function between programming languages and command languages. Unifying these two is primarily seen as a matter of:
treating files as external variables,
treating programs as procedures,
treating procedures and types as objects to be manipulated by programs like any other data object, and
treating the command language concept of a file directory like the programming language concept of an evaluation environment.
The unification of debugging mode with programming/command modes involves discussion of (1) program events (modifying a variable, calling a procedure) that are significant for debugging purposes, and (2) manipulating the program state during debugging. A section arguing that event association and state recovery are themselves valuable concepts in programming (exception handling, backtracking) and command-level activity (version control, undo actions) rounds out the unification process and makes interesting, if debatable points. There is some weakness in the treatment of command/debugging mode unification, and one wonders how the debugging/editing mode unification is to proceed. A section on two existing programming environments that are presented as successfully monolingual--INTERLISP and SMALLTALK--and a section on implementation considerations (the design was not yet implemented at the time the paper was written) complete the discussion.
This is a paper rich in ideas that are carefully interrelated. Every reader with sufficient interest in the subject matter to stay the course will find some subtopic that cries out for further elaboration. These readers will also be able to think of an objection to the notion of monolingual environments that is not answered. The authors consider their criteria for the inclusion of a feature to be the main original contribution of their paper, and I agree; but the pleasure of following the ramifications of these criteria is a strong reason for recommending the paper.