[net.lang.mod2] Modula-2 for UNIX 4.2

andy@lasspvax.UUCP (Andy Pfiffer) (09/24/85)

In article <39@unc.unc.UUCP> howell@unc.UUCP (William Howell) writes:
>We are currently looking for Modula-2 compilers that run on VAX
>UNIX 4.2 systems. 
> ...
>I have heard a 'rumor' that DEC has released a Modula-2 compiler
>for use with their ULTRIX operating system, at least in Europe.
>Supposedly developed at DEC-West laboratories.  Can anyone confirm
>this or give me any information on it?
>

I (before I graduated) was the senior systems programmer at the Instructional
Computing Center at SUNY-Oswego.  We had a Modula-2 compiler from DEC's
Western Reasearch Lab that ran on our BSD 4.2 11/750.  It produced FAST
code (second only to a heavily recursive application written in C), but
the compiler was a real system hog.  The first pass internally generated a
parse-tree of the application module and the definition files of all included
modules.  The second pass performed expression and type checking as well
as generate a p-code file.  The p-code file was then passed to
a translator that would make VAX assembler from the p-code.  The translator
routinely allocated more than 1 Meg of memory for even very small
modules.  Needless to say, in an academic environment with sometimes as many
as 20 compiles going on, we quickly taxed the abilities of our 750.

It had a few bugs that were more of an annoyance than anything else. They
were all in the code generating segments of the compiler (things like:

	RETURN (1)

were parsed A-OK, but somewhere a register was never deallocated causing a
cryptic message from the p-code translator.  We got around it by this
ridiculousness:

	x := 1;
	RETURN (x)

)
We never found a bug that we couldn't get around.

The compiler itself was very well designed.  The professors at Oswego
wanted listing files with time stamps.  In a day or two, I had obliged
them.  I consider it a compliment to the author(s) that I could get 
in there and make modifications and extensions so easily.  I did get
a little bleary eyed looking at 17,000 lines of Pascal code though. :^)

From a Unix users point of view, I thought it was fabulous.  I was never
more prolific than when I wrote in Modula-2, particularly this compiler.
You could relax the type checking (slightly) and make keywords case
insensitive -- it made it a "programmer's" instead of a "standard" modula.
Last semesters Data Structures in Oswego class was taught using it.
If 75+ students don't put it through its paces, I don't know what will.

Among other things, I wrote interfaces to curses, all standard system calls,
and most of the other 4.2 libraries.  I wrote 3D graphics package for VT241's.
I had even designed a Lisp library for it, but ran out of time (I *did*
want to graduate, you know).  Basically, if we couldn't do it in Modula
on our system, then we just didn't know how to do it.

Alas, I now work at Cornell and I miss my Modula.  If people can wait
a few days, I can have someone dig out a tape with the address and
order form.  Listed on all the sources as author is:

	Michael Powell
	{decvax, ucbvax}!decwrl!powell

I have no idea if he is still there, or if they still sell it.
It (at the time) was an unsupported DEC product, so it may have
become vaporware by now.  As I understand it, they used the compiler
internally at their Lab and sold a few copies (at least to Oswego).

A near-fanatic,
Andy Pfiffer
-- 
=========================================================
USENET:	{decvax,ihnp4,cmcl2,vax135}!cornell!devvax!andy
ARPA:	andy%devvax@Cornell.arpa
MAIL:	Theory Center/265 Olin Hall   "What do you mean
	Cornell University             I watch too much
	Ithaca, NY  14853              TV?"
PHONE:	(607) 256-8686
=========================================================