[net.lang.mod2] Standards for libraries

dwa@sdcc3.UUCP (Don Anderson) (12/24/84)

[]
I am in the process of revising my graphics course to teach it with
Modula-2 as the programming language to be used. After allowing complete
anarchy this year, I decided that I needed to confine the class to a
single language so that I could read the source code. Only C, Modula and
Ada had the features that I wanted, and for reasons that are not
relevant here, I chose Modula. Presently, this means using the Powell
(DEC-WRL) compiler which comes with some very attractive but not
entirely standard support libraries. As I would like to have the
students write packages that they could use in other situations
(particularly in microcomputer environments) I'd like to make them use
calls which are as standard as possible. I wrote a version of InOut on
top of Powell's io module, and I am prepared to write whatever else is
considered "standard". My question to the net: are there *any*
standards which meet the criterion of portability from system to system?
I am not interested in knowing about this or that compiler's nifty
library (except possibly as a programming exercise for the students) - I
am interested in knowing what can be expected to exist for all
"standard" Modula-2 environments (and I am interested in knowing what
various people mean by "standard"). Presently, I am familiar only with
the Powell compiler and the Volition compiler, but I will be getting
some micros in so that we can test out some of the other compilers for
evaluation as teaching environments. 

-don anderson
-professor of mathematics 
& coordinator, academic computing, ucsd
 

g-frank@gumby.UUCP (12/27/84)

> My question to the net: are there *any*
> standards which meet the criterion of portability from system to system?
> I am not interested in knowing about this or that compiler's nifty
> library (except possibly as a programming exercise for the students) - I
> am interested in knowing what can be expected to exist for all
> "standard" Modula-2 environments (and I am interested in knowing what
> various people mean by "standard"). Presently, I am familiar only with
> the Powell compiler and the Volition compiler, but I will be getting
> some micros in so that we can test out some of the other compilers for
> evaluation as teaching environments. 
> 
> -don anderson

To my knowledge, there are only two standards you can go by:  the rather
incomplete descriptions given in Wirth's book, and the pretty exhaustive
(and exhausting) descriptions of the Medos-II I/O environment given in the
documentation for the Lilith minicomputer system.

Other than that, I think you're on your own.  Certainly the utility modules
as described in Wirth are somewhat less than adequate.  If you insist on
being "standard," you will do yourself as much good as you would insisting
on only using ISO Pascal.  My advice would be to pick the compiler with the
most flexible library and go for it.  I use the Logitech system on the IBM PC,
by the way, and it has one of the largest libraries, especially for string
handling.  I recommend it highly.

I hear rumors that a whole new I/O "standard" is on the way, since no one on
this side of the Atlantic has any patience for the bizarre Medos file interface.
Perhaps when that's drafted, they'll give a thought to the other stuff.  Until
then, Modula-II remains almost as portable as C.