Most people recognize that standardization is beneficial for both customer and manufacturer, but it seems as if that argument doesn’t carry any weight in the computer industry. The microcomputer has brought some de facto standards to the marketplace. . . . This paper will focus on two areas where standardization hasn’t yet penetrated. One is the method for drawing graphics on different devices, and the other is low-level facilities in high-level languages. Standards are emerging however. Virtual Device Interface (VDI) and Modula-2 are good examples of how low-level facilities should be implemented in high-level languages. The two subjects are united by constructing a Modula-2 procedure which will do the basic call to VDI.
--Author’s Preface
This reviewer warmed immediately to an author able to write the opening sentence above. On reading the paper I was not disappointed, and my only quibble is with the use of the term “standard function.” As yet there is no Modula-2 standard, though one is under development. Whatever usage is common in Modula-2 literature, I would have preferred “built-in function” or “intrinsic function” to avoid ambiguity.
That, however, is minor. The paper will obviously interest anyone wishing to implement graphics functionality in Modula-2, but it should be required reading for any programmers or language implementors who dismiss the benefits of standardization, or who believe that language standards should allow low-level matters to be “implementation dependent.” It is also a good, small-scale illustration of the virtues of the module concept in language design. As such, it is worth looking at for those used to more primitive languages, for example, those who have resisted the introduction of modules into FORTRAN 8x.
The author’s own conclusion sums the paper up well:
It has been shown, by example, that Modula-2 standard functions are of great practical value and give the programmer a uniform high-level way of doing things that otherwise would often have been programmed in assembler.