[net.lang.mod2] Summary: Pascal/Modula-2 help

tower@inmet.UUCP (08/22/84)

#N:inmet:16700003:000:12579
inmet!tower    Aug 20 13:15:00 1984

Here is the summary for my request on information on Modula-2.

It does not include the many reponses that appeared directly in
the topic "net.lang.mod2".

-len tower		UUCP:     {ihnp4,harpo}!inmet!tower
 Intermetrics, Inc.	INTERNET: ima!inmet!tower@CCA-UNIX.ARPA
 733 Concord Ave.
 Cambridge, MA  02138	(617) 661-1840
 U.S.A.

------------------------------------------------------------------------

From: ihnp4!decwrl!sandbox!powell
Subject: Modula-2 System

The DECWRL Modula-2 compiler is available to universities in the US and Canada
for a nominal fee ($100) subject to a non-disclosure agreement.  It runs on
4.2BSD.  It is written in Berkeley Pascal, uses YACC, and generates Unix-style
VAX assembly language.  I can't tell by your address whether you're at a
university or not.  If you qualify, then send me a US mail address, and I'll
send you some tech reports and copies of the license agreement.
					Michael L. Powell
					Digital Equipment Corporation
					Western Research Laboratory
					Los Altos, CA
					decwrl!powell

------------------------------------------------------------------------

From: ihnp4!sdcrdcf!sdcsvax!bob
Subject: Re:  Wanted: Modula-2 implementation+info

I suggest that you check SIGPLAN Notices from about a year ago onward;
there have been a number of articles on this subject.  Also try the
Journal of Pascal, Ada, & Modula-2, which often compares Pascal and
Modula-2 (both indirectly in Modula-2 how-to's, and directly in
comparative articles).  Finally, if you can wait a couple of weeks,
pick up the August 1984 BYTE, which will have 6 Modula-2 articles,
two of these from ETH.  (Another six Modula-2 articles will be
published over the next 6 to 8 months, according to Gregg Williams.)

The summary is:
  (1) Modula-2 corrects well-known syntax/semantic glitches (and closes
      a few holes) of Pascal.  E.g., semicolons are technically
      separators but can be used as terminators with no problems; case
      statement has else; full type coercion is supported.

  (2) Modula-2 provides separate compilation facilities (including
      version control).

  (3) Modula-2 does not require "compiler magic" to do system sneakies
      like memory addressing.  Neither is I/O specially privileged;
      it resides in modules which can be replaced.

  (4) A few other goodies, like coroutines, are standard.  Pascal
      defined passing procedures as parameters; Modula-2 really
      includes it because the syntax has been ironed out.

------------------------------------------------------------------------

"Pascal and Modula-2", the newsletter of the Pascal and Modula-2 User
Groups, is also a good source of information on Modula-2.

-len tower

------------------------------------------------------------------------

From: A.S.Sethi <cca!decvax!ucbvax!sethi@udel-ee.ARPA> <Sethi@.UUCP>
Subject: Re:  Wanted: Modula-2 implementation+info - (nf)

This is in response to your query about Modula-2. You can get compilers
for Modula-2 from the following sources:
1. Springer-Verlag New York Inc., P.O. Box 2485, Secaucus, NJ 07094 or
call toll free 1-800-526-7254. They sell compilers written by Volition
Systems and by Logitech for a variety of microcomputers, e.g. Apple
II/IIe/III, IBM PC, Sage II/IV etc. Prices range from $295 to $595.
I have no experience with these compilers.

2. Michael L. Powell , Digital Equipment Corporation , Western Research
Laboratory, 4410 El Camino Real, Los Altos, CA 94022. ARPANET Address:
powell@decwrl. UUCP mail address: decvax!decwrl!powell. He has a
compiler that runs on a VAX running under UNIX. However, this compiler
seems to be under beta-testing. We have obtained a copy from him but
have not yet succeeded in getting it running.I also believe it is only
available to educational institutions. However, Powell has a few
technical reports on Modula-2 in which he compares it with Pascal.

I myself have used both Pascal and Modula-2, and I am a strong
proponent of Modula-2. I believe it is  much superior to Pascal in
many ways, and I would not be surprised to see Modula-2 become more
popular after the availability of good compilers increases. It would
take me too long to compare the two languages in detail, and to point
out the good features of Modula-2, but if you have any specific
questions, I would be glad to discuss them with you.

I would be interested in getting a summary of the replies you receive.

A.S. Sethi
University of Delaware

------------------------------------------------------------------------

I received a bibliography in Unix refer format from:
decvax!philabs!mcvax!uva!dolf
He is in the process of updating it, and plans to post it to USENET
in a few weeks.

------------------------------------------------------------------------

From: ihnp4!ihnp1!whitten
Subject: Re: Wanted: Modula-2 implementation+info - (nf)

I saw a note on netnews about a company called Modula Corporation that
plans to release a Modula-2 interpreter in August, and I gave them a
call.  They sent me a one page description (no pictures, just typeset
text), and it follows this note.  Other than that, I know nothing about
the company.  I think that I will call them again around the end of
August to see if they have any more information.

				Tom Whitten
				ihnp4!ihnp1!whitten
-------------------------------------------------------------
At the end of August, Modula Corporation will release a $90 Modula-2 system
Modula-2 software development.  Modula corporation's Macintosh Modula-2
compiler runs under the Mac's own operating system and generates a compact,
enhanced M-code which is efficiently interpreted at runtime.

Toolbox Support:

Modula's Macintosh Modula-2 system allows access to the Mac's Toolbox
routines for menus, windows, graphics, sound, etc.  (Note that toolbox
routines run at full speed under the interpreter.)  And, in addition,
custom assembly routines may be linked to Modula-2 programs.

Speed:

Benchmarks indicate that programs which make heavy use of graphics and 
procedure calls can run up to 75% of the speed of Pascal compiled to
native code because of the efficient use of Toolbox routines.  Although
we assume Apple will improve the performance of Macpascal, at the present
time, Modula-2 is nearly 20 times faster than MacPascal (incidentally,
Modula-2 provides much more program workspace).

User Interface:

The Modula-2 system runs under Mac's own operating system.  User programs
are invisibly interpreted so that the Mac's user interface is not disrupted.
Whenever your program is executed, the interpreter is automatically called
first.

Large Programs:

The compactness of the intermediate M-code means that large applications 
programs can fit into the Mac's limited memory (M-code is four to five times
as dense as 68000 native code).  The Modula-2 compiler running on the present
Macintosh configuration (128k bytes) allows more than 64k of program work-
space for code and data.  In addition, no software changes are needed to take 
advantage of the planned memory expansion.  A single level of overlaying
is also supported.

Lisa Too:

Modula's Modula-2 system will also run on the Lisa using the Mac operating
system (available from Apple Computer, Inc.).  Without modification,
Modula 2 allows use of the Lisa's larger memory and bigger screen.

What You Get:

The Modula-2 compiler is supplied with a basic set of I/O library modules,
all necessary hooks to Toolbox routines, and documentation explaining
how to use the compiler.  Functional descriptions of the Toolbox
routines are not supplied but are available from Apple Computer, Inc.
MacWrite can be used to write programs.  We will have more detailed
information (including licensing agreements for software developers) by
mid-August.

Orders accepted starting August 20, 1984, call or write:

	Macintosh Modula-2
	Modula Corporation
	950 North University Ave.
	Provo, UT 94604

	800-LILITH2	(outside Utah)
	801-377-3598	(inside Utah)

------------------------------------------------------------------------

Modula Corporation also had an Ad in the August 1984 BYTE on
page 62. They advertised implementations for the MacIntosh, Lisa,
Apple II, IBM-PC under MS-DOS 2.0. The also advertised a
Pascal to Modula-2 source converter, the Lilith workstation, and
Modula-2 Accelerator Cards for the IBM-PC's and Apple II.
Other implementations were promised, particluarly 68000 Unix Systems.

-len tower

------------------------------------------------------------------------

From: cca!decvax!tektronix!moiram <moiram@tektronix.UUCP>
Subject: Pasca/Modula-2

I've only skimmed the following book, but it might be helpful:

	The Programming Langugages
	Pascal, Modula, CHILL, Ada
	C.H. Smedema, P. Medema, M. Boasson
	Publisher: Prentice-Hall International

	ISBN 0-13-729756 4

>From the back of the book:

[This book] takes four modern languages and details their evolution and 
relation to one another.  Introduced in historical order, emphasis is 
put on the concepts of each language that are novel or different from the
language that precedes it.

Concise, informal and precise, the book looks at, with the help of many
examples, and compares the facilities provided by the four languages; it
does not teach the languages themselves.  New concepts are explained 
within the context of the relevant language.

The content of this book will interest various categories of readers,
including those who need a language for a specific purpose and want to
compare language capabilities;  programmers with a knowledge of older
high level languages who wish to extend and update that knowledge, and
computer science students wanting to see how theory can be put into 
practice where modern language design principles and programming 
concepts are concerned.

Hope this helps.

Moira Mallison
tektronix!moiram

------------------------------------------------------------------------

From: ihnp4!hpfcla!hpfclo!jacob
Subject: Modula-2 implementation info

We have a Modula-2 compiler running on a VAX-11/780 under VMS 3.x.  The
compiler was written at Universitaet Hamburg (please don't hold me to the
spelling).  We've encountered no bugs yet.  It generates regular VMS '*.OBJ'
files, so routines written in other languages can be called from a Modula-2
program, and vice versa (the previous version was compiler/interpreter, and
it could not do that).

A minor complaint is the error messages:  their content is not too bad, but
they are simply printed in listings as text, rather then through the VMS error
message handling utility.  This makes it a little harder to redirect them.

A major complaint is the implementation of concurrent processing:  they did
it through coroutines.  I sympathise with the need for a simplified
implementation on a small system like RT-11, but VMS provides the building
blocks for good time-sliced concurrency, with lots of synchronization and
interaction options.  We bypassed this problem by writing our own Concurrent
Process Management Package.

Jacob Gore
currently at HP Fort Collins Systems Div.
normally at Northwestern University Comp. Sci. Res. Lab
     (that's where the compiler is).
ihnp4!hpfcla!jacob
To: ihnp4!inmet!tower
Subject: Modula-2 implementation info

We have a Modula-2 compiler running on a VAX-11/780 under VMS 3.x.  The
compiler was written at Universitaet Hamburg (please don't hold me to the
spelling).  We've encountered no bugs yet.  It generates regular VMS '*.OBJ'
files, so routines written in other languages can be called from a Modula-2
program, and vice versa (the previous version was compiler/interpreter, and
it could not do that).

A minor complaint is the error messages:  their content is not too bad, but
they are simply printed in listings as text, rather then through the VMS error
message handling utility.  This makes it a little harder to redirect them.

A major complaint is the implementation of concurrent processing:  they did
it through coroutines.  I sympathise with the need for a simplified
implementation on a small system like RT-11, but VMS provides the building
blocks for good time-sliced concurrency, with lots of synchronization and
interaction options.  We bypassed this problem by writing our own Concurrent
Process Management Package.

Jacob Gore
currently at HP Fort Collins Systems Div.
normally at Northwestern University Comp. Sci. Res. Lab
     (that's where the compiler is).
ihnp4!hpfcla!jacob

------------------------------------------------------------------------

---------------------------- End of Summary ----------------------------