[net.lang.mod2] Standard library

powell@decwrl.UUCP (11/13/83)

From: powell (Mike Powell)
Does anyone have any opinions for what ought (or ought not) to be included in
a standard set of library routines for Modula-2?  The system distributed by
Cambridge has a total of 80 definition files in its library.  I don't know how
many of these are for users and how many are just there to implement the rest
of the runtime library.

It seems there are (at least) two dangers in not having a consensus on what
should be in the library.  One is that programs will grow to depend on a large
number of modules that are neither portable nor implemented be everyone (e.g.,
consider the experience of Lisp systems).  Another is that programmers will not
know which things are fair game to depend on, use, or modify, and which are not
(e.g., consider the experience with Smalltalk).

For starters, I claim the following should always exist:

    Module	Functions
    storage	allocate and deallocate
    io		formatted read and write, unformatted read and write
		standard files for input and output
    math	sin, cos, exp, sqrt
    string	compare, assign, append for null-terminated strings
    parameters	get number and values of program parameters

Ignoring details for the moment, the questions are:
    Are there more things that should be added?
    Are any of the above inappropriate?

By the way, is anyone else out there actually using Modula-2 for substantial
(over 5000 lines) software development?  I'd be interested in hearing about
your experiences as well as what standard modules your system supports.

					Michael L. Powell
					Western Research Lab
					Digital Equipment Corporation
					Los Altos, California
					{ucbvax,decvax}!decwrl!powell