ken@rochester.UUCP (Ipse dixit) (12/08/85)
References:
This digest is being posted here on an experimental basis. If the
volume and quality keeps up I shall be posting about once every 10
days.
Ken
--
Info-Modula-2 Digest Saturday, 7 Dec 1985 Volume 1 : Issue 1
Today's Topics:
Implementation queries
Administrivia
Standards
Call for papers
------------------------------------------------------------
Date: Wed 27 Nov 85 14:59:18-EST
From: Ralph W. Hyre Jr. <Ralph.Hyre@C.CS.CMU.EDU>
Subject: Query: Modula-2 implementations for Apple ][?
To: info-modula-2
I am looking for implementations that run under ProDOS, PCPI CP/M 2.2
(for PCPI Applicard or StarCard), Pascal 1.1, and DOS 3.3 in order
of preference. Tasking support is essential.
A public domain compiler written in Pascal would also be acceptable.
I'd also be happy with a Native Code generator that will convert M-code
or P-code into 6502 or Z-80 assembly code.
At this point I'm looking for anything I can get my hands on...
I'm aware of Volition's Modula-2 for Apple Pascal, but expect this
will be hard to get since Volition bit the dust. (Chapter 11)
I'm also aware of Borland's Modula-2, but it hasn't been released yet.
Any help would be appreciated.
- Ralph
- -------
------------------------------
Date: 27 November 85 11:56-PST
From: BEBO%SLACVM.BITNET@WISCVM.ARPA
Subject: M2 on VM/CMS
To: INFO-MODULA-2
Date: 27 November 1985, 11:55:32 PST
From: Bebo White (415) 854-3300 x2907 BEBO at SLACVM
To: INFO-MODULA-2 at ROCHESTER.ARPA
Subject: M2 on VM/CMS
Does anyone know of any existing or planned versions of M2 for
IBM VM/CMS?
Thanks
------------------------------
Date: Wed, 27 Nov 85 13:32:29 pst
From: Charles Neveu <neveu@lll-crg.ARPA>
Subject: Coroutines in ITC modula-2
To: info-modula-2
Does anyone have any experience with coroutining in Interface Technologies
Corporation's Modula-2 system? I'm trying to implement the Buffer and P
Processes modules from Wirth's 'Programming in modula-2', but it keeps
crashing the system. I can write simple coroutines (i.e., two procedures
which transfer control back and forth), but for some reason the buffers
and processes stuff crashes.
The main program sets up two procedures, Reader and Writer, and calls
StartProcess(Writer,n). StartProcess executes through NewProcess ok, but
never gets past the Transfer statement (the first statement in 'Writer'
is never executed). Also, it does something different every time. Sometimes
alt-ctrl-del will reboot the system; usually, the keyboard is just locked
out. Sometimes I get a stack overflow error; usually not.
I've run out of ideas. Is this a compiler bug? Is there something I
should be doing that I'm not? I'll send the code to anyone who is interested.
Thanks in advance,
Charles Neveu
neveu@lll-crg
------------------------------
Date: 27 Nov 85 21:36:02 EST (Wed)
From: The Heliopolist <ken@ur-seneca.local>
Subject: Various things
To: info-modula-2
Administrivia:
Thank you for the overwhelming response. It got to the point where my
friend was surprised to hear me say "Oh good, no mail!" upon logging
on.
Messages are archived to <MAIL.ARCHIVES>MODULA-2-ARCHIV.TXT at
SIMTEL20.ARPA. Old mail is saved to MODULA-2.ARCHIV.ymmdd (we don't
have any yet so you have to help us generate enough mail to have old
mail). SIMTEL20 supports the ANONYMOUS account via ftp using any
non-null password.
About addresses: if you find a piece of mail bounced back to you due to
a bad address in the list, forward it to me. I want to keep the list as
clean as possible. Also, if your address is going to change or
disappear, I (and others in the list) would be grateful if you could
let me know.
Introducing myself:
I'm a gratudate student at the U of Rochester, CS Dept. My first
contact with Modula-2 was back in 1981. At that time we had a compiler
running on a PDP-11/34 in Sydney U Computing Centre. This was a direct
descendant of the first ETH compiler. Modula-2 has always impressed me
as a language with a high power to size ratio. Although Modula-2 was
designed primarily for systems programming, many of Pascal's
deficiencies have been fixed, and Modula-2 is often used for
pedagogical purposes.
References:
Modula-2 is currently defined by "Programming in Modula-2, 3rd
edition", Wirth, Springer Verlag 1985. Note that some revisions have
been made to the language since the 2nd edition.
Survey:
To get this group going, it would be nice to get some answers to that
commonly asked question, "What is out there?". Those of you with
compilers may like to fill in this questionaire. The questions are not
exhaustive, feel free to add any points I may have missed. You can
either reply to me and I will summarize, or to the group if you feel
the information is of general interest.
1. Name of compiler.
2. Machine and operating system compiler runs on.
3. Type of compiler (compiler/interpreter, native code, cross-compiler,
etc).
4. Organization maintaining or marketing compiler.
5. Availability (educational license, commercial license, purchase,
etc).
6. Performance (speed of compilation, speed of code compared with other
compilers for the same machine and OS).
7. Other accompanying tools (e.g. syntax directed editors, debuggers,
etc).
8. Other comments you might want to add.
Ken
- --
USnail: Dept. of Computer Science, U of Rochester, Rochester 14627.
UUCP: ..!{allegra,decvax,seismo}!rochester!ken ARPA: ken@rochester.arpa
Phone: (716) 275-2569 (office), (716) 244-7185 (home) Voice: Ken!
------------------------------
Date: Sat, 30 Nov 85 11:45:49 pst
From: Tim Gonsalves <tag@su-shasta.arpa>
Subject: Wirth ed3 := ed2 + ?
To: info-modula-2
Does there exist a list of changes from editon 2 to edition 3 of Wirth's
Modula-2 book? Would some care to list them here?
Thanks in advance,
Tim Gonsalves
tag@Shasta.Arpa, ..Glacier!Shasta!tag
------------------------------
Date: Sat, 30 Nov 85 17:40:00 PST
From: sun!orb!nagler@ucbvax.berkeley.edu (Rob Nagler)
Subject: Re: M2 on VM/CMS & M2 book
To: info-modula-2
There is a VM/CMS M2 compiler offered by (it might even be finished by now)
Savvy Computer, Inc.
2 Edgecliff Road
Upper Montclair, NJ 07043
There may be others, you should contact Modus for more information.
Re: 2nd/3rd Ed. differences.
You probably want to check with Modula Assured Quality Software for
a list of papers some of which include Wirth's changes (not a verbatim
list, but at least the points).
MAQS
6521 Raymond Street
Oakland, CA 94609
(Ask about BSI & Modus Documents)
Re: M2 queries in general
I hate to post duplicate messages, but it seems that many of the
people on this list do not know about Modus (M2 Users' Group).
The organization is fairly active and always welcomes new membership.
So here is a repeat of a message that was sent to INFO-PASCAL and
net.lang.mod. Note that the word "implementors" doesn't mean that
only implementors are allowed, there are many users as well (I didn't
write the letter, just sent it).
- --------------------------
To all Modula-2 implementors:
The Modula-2 Users' Association (MODUS) is 3 month old forum for
people who are interested in promoting Modula-2. Many of the members
of the Modula-2 Standards Committee are active participants in MODUS.
Niklaus Wirth is a charter member.
As a MODUS user you will receive a quarterly newsletter. The group is
new, so a regular meeting schedule has not been established. The next
meeting is being planned for Paris.
If you want to find out more about MODUS, send a note to:
Modula-2 Users' Association
PO Box 51778
Palo Alto, CA 94303
- ----------------------------
Addendum:
The last meeting in Menlo Park was very interesting and had about 100
members participating. There was also a survey taken of implementations
and the results are available from Modus.
I apologize for the repeat, but maybe some of the net traffic will be
reduced by P-mail to Modus.
Rob
------------------------------
Date: Sat, 30 Nov 85 19:37:53 pst
From: calmasd!rjh@SDCSVAX.ARPA (Bob Hofkin)
Subject: Re: Query: Modula-2 implementations for Apple ][?
To: Ralph.Hyre@c.cs.cmu.edu
I understand that somebody else is buying the rights to Volition's Modula-2
compilers. The new distributor will probably set very reasonable prices,
too, so try to hang on for about a month.
If you have one of the Apple CP/M cards, you can probably get a Z-80
Modula-2; a couple were written up in _Computer Language_ last month.
- --bob
------------------------------
Date: 2 Dec 1985 0954-PST (Monday)
From: violetta@decwrl.DEC.COM (Violetta Cavalli-Sforza)
Subject: Re: Wirth ed3 := ed2 + ?
To: Tim Gonsalves <tag@su-shasta.ARPA>
I think that all the differences (or at leas a good part of them) are
evident in the syntax appendix in Edition 3, where they are marked with
a special symbol. I did a quick scan through the text once and basically
couldn't find any other differences.
------------------------------
Date: Mon, 2 Dec 85 19:49:02 est
From: Edoardo Biagioni <seismo!mcnc!unc!biagioni>
Subject: Re: New mailing list for Modula-2
To: rochester!ken
I would like to join the Modula-2 mailing list. I would like
to actively participate by posing the following question:
There have been rumors (mainly in this newsgroup)
about an ANSI-Standard version of Modula-2.
- Does anybody know any more than rumors?
- Who is doing the work?
- Is a standard library being defined?
- What does the work involve? How does it
handle such weak points as export lists,
CAP, TRUNC and the like?
I'll be glad to expand on the "weak points" issue if sufficient
interest develops. Thanks in advance for any answers.
Ed Biagioni
decvax!mcnc!unc!biagioni
seismo!mcnc!unc!biagioni
------------------------------
Date: Tue, 3 Dec 85 10:00:34 pst
From: Vincent Broman <broman%bugs@nosc.ARPA>
Subject: biagioni's q on stds
To: info-modula-2
hi.
dick karpinski distributes info on the british standards institute's work
on modula-2. i append part of his comments from the usenet/net.lang.mod2 .
- ------------------------------------------
Date: Thu, 17 Oct 85 16:33:01 PDT
From: sdcsvax!ucbvax!ucsf-cgl.ARPA!ucsfcca.UCSF!dick (Dick Karpinski)
Cc: ucsfcca.UCSF!./m2.bsi@ucsf-cgl.ARPA
I am the US distributer [for BSI docs] and have now
three editions of the "Problems with the Modula-2 Report" paper....
Those three are $5 each. My rule is to break even on the
distribution. For now that means about 10 cents per page. I'll offer
some arrangement for getting notice of new docs and for getting all
docs as they arrive in my hands. As far as I know, only BSI is working
on Modula-2 standards. Wirth hates to work on standards....
Dick Karpinski Manager of Unix Services, UCSF Computer Center
UUCP: ...!ucbvax!ucsfcgl!cca.ucsf!dick (415) 666-4529 (12-7)
BITNET: dick@ucsfcca Compuserve: 70215,1277 Telemail: RKarpinski
USPS: U-76 UCSF, San Francisco, CA 94143
- ------------------------------------------
i think most urgent of all is creation of portable io (& etc) libraries.
interesting is an article in the j of pascal, ada, & modula-2,
v4 #2 (mar/apr 85) by craig et al. "design of a modula2 standard library".
they say that volition systems, logitec, and diser were working on std io
but nothing came to fruition. the article presents and motivates
preliminary standard definition modules for io, directory access,
number formatting, string ops, machine constants, memory allocation,
and coroutines. their attempt is better than the hash that wirth presents
in his book, but still needs a lot more thought. i'm working on some
criticisms, but won't make my own suggestions until i see the docs from the bsi
.
some problems i see in creating a modula2 io library are:
1. how to make use of strong typing to detect inconsistent use of the io calls
at compile time, when we cannot define a base type (file of MYTYPE) associated
with our file variables.
2. how to recognize the record-oriented structure of io on some systems
(e.g. vms) without handicapping the flexibility of other systems (e.g. unix)
with no record structure required or even definable.
3. how to supply calls with and without useful default parameter values,
without inundating the user with 1000 alternative procedure-names.
here i miss ada's function overloading and parameter defaulting.
4. how to declare and initialize the std input and output streams
in an os-independent way.
there is a lot to hammer out before we get good std libraries, but doing it
will be critical to the widespread acceptance of modula2.
Vincent Broman MILNET: broman@nosc
Analysis Branch, code 632 UUCP: {ihnp4,decvax,akgua,dcdwest,
Naval Ocean Systems Center allegra,ucbvax}!sdcsvax!noscvax!broman
San Diego, CA 92152 Phone: (619) 225-2365
------------------------------
Date: Tue, 3 Dec 85 10:21:43 pst
From: Vincent Manis <manis%ubc.csnet@CSNET-RELAY.ARPA>
Subject: Modula-2 for the 370
To: info-modula-2
A recent message to stated the [semi-]existence of a Modula-2
compiler for CMS. The company was named as Savvy Computer, Inc.,
of Upper Montclair, NJ. A call to Directory Assistance in New
Jersey indicates no listing for this company. Can either the
original message poster or somebody else please give me a
phone number where I can contact Savvy?
------------------------------
Date: Tue 3 Dec 85 12:07:11-PST
From: Richard Pattis <PATTIS@WASHINGTON.ARPA>
Subject: Rumor of Modula on IBM Mainframes
To: info-modula-2
I heard a rumor today that a group at Purdue is working on an IBM mainframe
version of a Modula compiler. The rumor came from a publisher, who was unable
to supply any technical details.
Rich
- -------
------------------------------
Date: Thu, 5 Dec 85 09:18:27 PST
From: sun!orb!nagler@ucbvax.berkeley.edu (Rob Nagler)
Subject: Re: Standard M2
To: info-modula-2
As far as I know, there is no ANSI standard group (ad hoc or otherwise)
which is working on M2. However, the British Standards Institute is
sponsoring a Working Group on M2. They have been active for well over
a year. The chairperson is Susan Eisenbach from Imperial College and
some members are: Roger Needham, Randy Bush, Roger Henry, and Brian
Wichman (plus 15-20 others of similar prominence).
Libraries. The Ad Hoc Working Group on M2 developed a library (actually
it is not really being endorsed by the group as a whole). This group is not
affiliated with BSI, but there are members on both. The AHW was
formed by industrial folks looking for a standard library instead of
the hackery that Wirth has published. The library has
been published in Modus News and was a subject of hot debate at the
last Modus meeting. Several other people (myself included) have developed
alternative proposals (which are of course far superior). The BSI is
taking submissions from the general public as well as comments on the
existing versions. You can get copies of some of these libraries via
MAQS.
Weak points. The BSI group is diverse, but is trying to move quickly.
They are not spending time on redesigning the language, just clarifying
the inconsistencies. Thus, all of your questions and much more are being
discussed (in disgusting detail). MAQS offers some papers that were produced
by members or discussed by the group. To clarify the standard document,
they are also looking at alternative methods of description. There
will be three definitions: formal language spec, english spec, and an
implementation (not efficient, but correct!). If anyone has read the ISO
standard, you will appreciate this effort. They are moving at the speed of
normal standards committee's, hence "don't hold your breath". They
have some prolific writers, so most of this is documented.
Ad Hoc Standards. Hayes Microcomputer Products Inc. sponsored the
development of an M2 Validation Suite. My former company did the work
and it is now sitting around collecting dust until the lawyers can get
their act together on how they can distribute it (personally, someone
should point these guys to a tape drive and show them how to mount tapes
and let 'em rip, but who am I to say). Obviously when a Validation
Suite is developed, one has to make decisions about the bits and come
up with a de facto standard. We were tracking Wirth's changes as they
came about. We were also in contact with The Professor about issues
of clarification and got his opinions (although we didn't always follow
them). Overall, I think it is a pretty good representation of a possible
standard and thus the BSI is trying to get it from Hayes. As a result,
no one else is developing an MVS, because there is already one in existence.
However, the one in existence is unavailable. Catch-22, no?
Rob
------------------------------
Date: Thu, 5 Dec 85 10:12:45 PST
From: sun!orb!nagler@ucbvax.berkeley.edu (Rob Nagler)
Subject: Re: biagioni's q on stds
To: broman%bugs@nosc.arpa
Sorry, I didn't read your letter first, but I had a large queue and
I just answer them one at a time. Anyway, a few comments about your
problems with the standards.
1. I am not sure static strong typing will help when considering files.
First, the only static type checking that is "lost" is during calls to
the file module e.g.
BinaryIO.ReadBlock( file, myRec, result );
As we see here, myRec is no longer checked and "file" can be of any
type. Thus, you are correct in assuming that static checking will
help. However, if file and myRec are of different types, it is more
than likely that the values assigned to myRec will be incorrect and
sooner rather than later will cause and assertion botch (e.g. range
error). Clearly, what one would like is a check on all the values
assigned to the fields of myRec. Ada does not do this, because it
is too inefficient (nor does Pascal for that matter). I am of the
opinion that the program must protect itself, if it reads data
from the outside world (e.g files, the user, etc) and that no efficient
implementation of dynamic checking could ever accomplish the level
of protection that most programs require. Thus, the small loss
from lack of static checking is just noise in comparison with the
huge loss that communication with the outside world causes.
2. I believe that with any standard there must be compromise. My version
of a std uses the Ada approach when it comes to blocking, etc. Let the
program pass a random string (with "" as the default) which can describe
the file's creation/open options. This allows the program to specify
anything that the particular implementation allows (similar to the fortrash
FILE statement). Obviously, this is not perfect, but it is sufficient
and is effiecient in the default case. I have been involved with
implementations of M2 libraries on three systems and have looked at others.
I believe we can cover the bases sufficiently without sacrificing too
much on those systems which do not have complicated record management systems
(a la UNIX).
Text is another issue. I contend that we have to have a non-data driven
model of text IO (all the biggies have it, Ada, Pascal, ...) and I believe
that we may have to place restrictions so that the normal case is optimized
(which has been done in my lib as well as others). It is very difficult
to define reasonable portable semantics for example in the case of read/write
text files. Thus, I believe we can't allow that mode of operation. The
list goes on.
3. Aha, overloading is the root of all evils. I thought you wanted protection?
What happens when I do the following in Ada:
Text_IO.Put( someEnum );
when I really meant to do the following:
Text_IO.Put( someString );
No protection whatsoever. I don't mind typing (in my M2 lib):
SimpleIO.WriteString( someEnum );
and having the compiler can catch my error.
4. I am not sure why you need to initialize the std{in,out,err} in
an OS independent way. It should be handled by the module which
exports these objects in its initialization body, hence in its
implementation dependent code. After doing 5 implementations on
3 systems (I was a consultant, we get paid for doing things over and
over again), I didn't find this to be a problem at all.
Lastly, I agree wholeheartedly with the statement:
there is a lot to hammer out before we get good std libraries,
but doing it will be critical to the widespread acceptance
of modula2.
Rob
------------------------------
Date: Thu, 5 Dec 85 15:49:12 CST
From: kalsow@crys.wisc.edu (Bill Kalsow)
Subject: A Call for papers
To: info-modula-2
I received this note a while ago and thought that any aspiring authors
might be interested.
- --------------------
>From cook%virginia.csnet@CSNET-RELAY.ARPA Fri Sep 20 23:08:54 1985
Received: from wisc-crys.arpa by cheddar; Fri, 20 Sep 85 23:08:45 cdt
Message-Id: <8509210408.AA16808@wisc-crys.arpa>
Received: from CSNET-RELAY.ARPA by wisc-crys.arpa; Fri, 20 Sep 85 23:08:39 cdt
Received: from virginia by csnet-relay.csnet id ad00293; 21 Sep 85 0:05 EDT
Received: by uvacs.UUCP (4.12/5.1.UVA)
id AA17998; Fri, 20 Sep 85 09:48:53 edt
Date: Fri, 20 Sep 85 09:48:53 edt
From: "Robert P. Cook" <cook%virginia.csnet@CSNET-RELAY.ARPA>
Posted-Date: Fri, 20 Sep 85 09:48:53 edt
To: raphael.wisconsin@csnet-relay.arpa
Status: R
.po 1.0i
.ps 20
.ce
CALL FOR PAPERS
.ce 5
Special Issue of IEEE Software
on
Modula-2
.pp
The deadline for manuscripts is March 1, 1986.
The issue is scheduled for publication in September 1986.
Topics of interest include, but are not limited to, the following:
.nf
.in 10
Extensions to Modula-2
Modula-2 Programming Environments
Modula-2 Compilers, Debuggers, Editors
Research Projects Built Using Modula-2
Modula-2 Oriented Operating Systems
Distributed Computing Using Modula-2
Architectures to Support Modula-2
.in 0
.fi
.pp
Send completed papers or inquiries to Prof. Robert Cook at the
following address:
.nf
.ps 16
Robert P. Cook
Dept. of Computer Science
Thornton Hall
University of Virginia
Charlottesville, VA 22901 USA
(804) 924-1022
.fi
- --------------------
Bill Kalsow (kalsow@crys.wisc.edu)
------------------------------
End of Info-Modula-2 Digest
***************************
--
UUCP: ..!{allegra,decvax,seismo}!rochester!ken ARPA: ken@rochester.arpa
USnail: Dept. of Comp. Sci., U. of Rochester, NY 14627. Voice: Ken!