======================================================================= 1 ===
Date:    Mon, 3 Aug 1992 03:26:13 GMT
From:    herring@osiris.cso.uiuc.edu (Charles Herring)
Subject: FTP site for M3

Where can I get a copy of Modula3. Thanks.


======================================================================= 2 ===
Date:    Mon, 3 Aug 92 17:28:46 GMT
From:    muller@src.dec.com (Eric Muller)
Subject: Modula-3 FAQ

Archive-name: Modula-3-faq
Last-modified: Jun  6 1992


			MODULA-3 FAQ
			============


What is Modula-3 ?

   The goal of Modula-3 is to be as simple and safe as it can be while
   meeting the needs of modern systems programmers.  Instead of
   exploring new features, we studied the features of the Modula
   family of languages that have proven themselves in practice and
   tried to simplify them into a harmonious language.  We found that
   most of the successful features were aimed at one of two main
   goals: greater robustness, and a simpler, more systematic type
   system.

   Modula-3 descends from Mesa, Modula-2, Cedar, and Modula-2+.  It
   also resembles its cousins Object Pascal, Oberon, and Euclid.

   Modula-3 retains one of Modula-2's most successful features, the
   provision for explicit interfaces between modules.  It adds objects
   and classes, exception handling, garbage collection, lightweight
   processes (or threads), and the isolation of unsafe features.


Is Modula-3 a superset of Modula-2 ?

   No; valid Modula-2 programs are not valid Modula-3 programs.


Where can I get a description of Modula-3 ? 
   
   The definition of Modula-3 is contained in:

	System Programming with Modula-3
	Edited by Greg Nelson
	Prentice Hall Series in Innovative Technology
	ISBN 0-13-590464-1
	L.C. QA76.66.S87 1991

   also known as SPwM3.

   Sam Harbison has written a book about Modula3:

	Modula-3
	Samuel P. Harbison
	Prentice Hall, 1992
	ISBN 0-13-596396-6

   as well as an overview article, "Modula-3", in Byte, Vol. 15,
   Number 12, October 1990, p 385.


Where can I get information on Modula-3 ?

   There is a Usenet newsgroup, comp.lang.modula3.  The archives of
   that group are available via anonymous ftp from gatekeeper.dec.com
   in pub/DEC/Modula-3/comp.lang.modula3.  If you do not have
   access to Usenet, there is a relay mailing list; send a message to
   m3-request@src.dec.com to be added to it.


Where can I get an implementation ?

   There is only one implementation available today.  It has been built
   by SRC and is available via anonymous ftp from gatekeeper.dec.com in
   pub/DEC/Modula-3/release.  Contributed software can be found
   in pub/DEC/Modula-3/contrib.

   The current version, 2.07, implements the language defined in SPwM3.
   There are versions for the following machines:

	AIX386	IBM PC running AIX/PS2,
	AP3000	Apollo DN4500 running Domain/OS
	ARM	Acorn R260 running RISC iX 1.21
	DS3100	DECstation 3100 and 5000 running Ultrix 4.0 and 4.2
	HP300	HP 9000/300 running HP-UX 8.0
 	IBMR2	IBM R6000 running AIX 3.1, 
	IBMRT	IBM RT running IBM/4.3, 
	NEXT    NeXT running ?
	SPARC	SPARCstation running SunOS 4.1.x
	SUN3	SUN3 running SunOS
	UMAX    Encore Multimax running UMAX 4.3 (R4.1.1)
	VAX	VAX running Ultrix 3.1

   SRC Modula-3 includes a user manual, compiler, runtime library,
   some libraries and a few other goodies (see below).

   The compiler generates C as an intermediate language and should be
   fairly easy to port.  Except for the very lowest levels of the
   thread implementation, the entire system is written in Modula-3.


What if I don't have ftp access ?

   Unfortunately, we cannot deliver Modula-3 other than by 
   anonymous ftp.  Your best bet is to post a message to
   comp.lang.modula3, in the hope that somebody with ftp
   access can make a tape or floppy for you.
      

Can I contribute Modula-3 software ?

   Certainly.  Send us what you are willing to share, be it programs,
   libraries or other things.  We'll put them in the distribution. 

-- 
Eric.


======================================================================= 3 ===
Date:    Tue, 4 Aug 92 19:29:42 GMT
From:    pk@rwthi3.informatik.rwth-aachen.de (Peter Klein)
Subject: SRC-M3 libm3 -O error

To all who are interested: The module in libm3 which is responsible for crashin
g
when compiled with -O is Text.m3. So if you're on a SPARC and you want to use
optimization on libm3, you have to compile Text.m3 without -O, and the rest wil
l
work with -O.

---
Peter Klein                        E-Mail: pk@rwthi3.informatik.rwth-aachen.de
Lehrstuhl fuer Informatik III      Tel.: +49/241/80-21320
Ahornstrasse 55                    Fax.: +49/241/80-21329
RWTH Aachen
D-5100 Aachen
Germany



======================================================================= 4 ===
Date:    7 Aug 92 22:47:37 GMT
From:    olender@vivaldi.cs.colostate.edu (Kurt Olender)
Subject: M3 yacc/lex?


Has anyone done a version of yacc and lex for Modula-3?  

If not, I was thinking I might do this as a project to learn Modula-3.


======================================================================= 5 ===
Date:    Mon, 10 Aug 1992 12:17:18 PDT
From:    Mike_Spreitzer.PARC@xerox.com
Subject: Opportunity/requirement

The usual problem with standards is that there are so many to choose from ---
and they're usually all inadequate.  Well, in one domain that's not so.  The
domain is universal character codes.  That is, character codes (or character
sets) that include all the characters necessary to write any human language.
There are a number of existing codes that cover one or two languages.  There's
only one that seriously attempts to cover them all.  It's ISO 10646.

There used to be two such standards: Unicode and ISO 10646.  The two relevant
groups of people have agreed to a merger: Unicode is now part of ISO 10646.

ISO 10646 is not complete.  For most of the estimated 5-6 thousand existing
languages, no writing system (i.e., relationship between spoken and written
language) has yet been developed.  There are a few modern and ancient writing
systems that use characters not yet encoded in ISO 10646.  But the vast
majority ("99.9%" according to one sponsor) of contemporary writing can be
handled by ISO 10646.

Another way that ISO 10646 is not yet complete is that it contains unified Han
characters, but plans to include non-unified ones later.  The Han characters
are those initially developed by the Chinese and later adopted by the Koreans
and the Japanese.

ISO 10646 uses integers in the range [0, 2**32-1] to code for characters.  So
far, only codes in the range [0, 2**16-1] have been standardized.  The unified
Han characters fit in this 64K space.  There is not enough room in 64K to
contain three copies (one Chinese, one Korean, and one Japanese) of non-unified
Han characters.  The subset of ISO 10646 that fits in 16 bits is known as the
Base Multilingual Plane (BMP), and passed ISO balloting by a wide margin.  When
Han unification was first proposed, it met significant opposition.  That
opposition has been overcome.  Even the Japanese, who voted against ISO 10646
for other reasons, did not object to the Han unification.


There is a Unicode Consortium, which exists to continue development and
promotion of Unicode, the 16-bit part of ISO 10646, as the character code to
use for multilingual programs and data.  The Consortium includes all the major
playors in the software industry: Adobe, Apple, Borland, DEC, GO, HP, IBM,
Microsoft, NeXT, Novell, Sun, Taligent, Unisys, WordPerfect, and even Xerox.
Last week I attended an Implementor's Workshop put on by the Consortium.  It
impressed me with the reality and significance of this standard.  ***Unicode is
going to be used!***  According to pre-registration (which did not include me),
Adobe sent 4 people, Apple and Claris together sent 23, HP sent 4, IBM 13,
Microsoft 10, Novell 10, Sun & SunSoft 15; other contingents were there too.
Windows NT will use Unicode internally as its native character code; dual APIs,
one for Unicode and one for the current "code page mess" (for the inevitable
backward-compatibility), will be offered.  Apple's QuickDraw GX will support a
Unicode API.  It was clear that all the major PC software vendors sell
"localized" versions of their software into markets all around the globe.  This
includes Japan, where characters must be at least 16 bits long.  There is also
a growing awareness that many customers want multilingual software, not just
monolingual software in their favorite language.  A Novell representative
pointed out that with current technology, all workstations on a Novell net must
use the same 8-bit character code --- and said it in a way that suggested this
is considered a "bug".  It was clear that all the major vendors saw Unicode as
the way to solve their localization and multilingual problems.  It was clear
that they were actually doing work to adopt this solution, and that it would
appear in the next major version of some system products (e.g., Windows NT and
QuickDraw GX).


What does this have to do with Modula 3?  Well, I think it is this: there is a
new requirement of system software: support for all languages.  I think this
falls on deaf ears in many academic/research settings.  The researcher says
"all CS researchers speak English, and my research is not about being
multilingual --- why should I spend scarce resources on this?".  In many
settings, I think the correct answer is that he or she shouldn't --- the
researcher should wait until the vendor of his or her underlying system
supplies it.  Modula 3, and its standard interfaces, are being sold as an
underlying system, and therefore *should* support Unicode.  And sooner rather
than later; we all know what a drag an installed base is.  While we have
something of one now, it will only grow in the future (if we're lucky).

One of the things discussed at the Workshop was C and C++ interfaces for text
processing.  How many of you know that ANSI C includes a "wchar_t" type, for
"wide" characters?  Of course, in the typical C fashion, the ANSI standard does
*not* say how wide a wide char is, nor which character code it follows.  But
the industry is grappling with that question, and will be selling Unicode
support in C/C++ soon.  Modula-3 already has some advantages over C/C++ that
will make the change easier for Modula-3 than for C/C++ (Text.T is opaque, BITS
8 FOR ... is strongly typechecked, lack of #include and #define, explicit
declarations of module relationships, real type checking, and so on).  But if
Modula-3 doesn't include Unicode support, this will be another reason to prefer
C/C++ over M3.

Sadly, almost all other languages use writing systems more complicated than
that used by English; adding support for them will involve clarifying the
distinctions between language, script (set of characters), and writing system,
as well as the distinction between "character" and "text element" (think about
digrams, and about vowell marks vs. diacritics).  This means systems vendors
must design new interfaces to support newly-refined abstractions, and
application maintainers must change old programs that confuse two concepts that
are, in general, distinct.  Only some of this work (mostly the design and impl
of new interfaces for text processing) must be done by the M3-implementing
community; the rest can be done by the M3-using community if/when it feels the
need.

The bottom line: I think Modula 3 must adopt Unicode, if not all of ISO 10646,
if Modula 3 is intended for widespread use.


Mike Spreitzer


======================================================================= 6 ===
Date:    Mon, 10 Aug 92 21:13:55 GMT
From:    muller@bismol.pa.dec.com (Eric Muller)
Subject: Re: Installation problem

My guess is that you did not install the libm3 .  It is mandatory. 

-- 
Eric.



======================================================================= 7 ===
Date:    Mon, 10 Aug 1992 19:20:12 GMT
From:    werts@ernie.acs.csulb.edu (Michael Werts)
Subject: Installation problem

I'm installing Modula-3 2.07 on a DEC machine; I believe its a DecServer
5000/200. I thought it was complete so I tried compiling the "hello world"
example in the documentation and received the following errors:

-----------------------------------------------------------------------
cheetah.cecs.csulb.edu> m3 -make -why -o hello Main.m3 A.m3 A.i3
new source -> compile A.i3
cpp: error A_i.c:2: Can't find include file M3Runtime.h
new source -> compile Main.m3
"Main.m3", line 1: missing file
  no "Main.i3" on path ".:.:/u1/modula3/include/m3"
1 error encountered
new source -> compile A.m3
"A.m3", line 2: missing file
  no "Wr.i3" on path ".:.:/u1/modula3/include/m3"
"A.m3", line 2: missing file
  no "Stdio.i3" on path ".:.:/u1/modula3/include/m3"
2 errors encountered
compilation failed => not building program "hello"
cheetah.cecs.csulb.edu> 
-----------------------------------------------------------------------

Our network is getting tight on disk space, hence I've placed the 
distribution into a user account partition.

My main concern is the message about M3Runtime.h. I checked in the 
include/m3 directory and it is empty. I didn't delete the files myself
so I'm wondering why the file(s) aren't there.

Any suggestions? hints?

Thanks in advance,

Mike Werts
(werts@csulb.edu)


======================================================================= 8 ===
Date:    11 Aug 92 13:44:49 GMT
From:    jjw1@barney.gte.com (Jim Walker)
Subject: SRC Modula-3 compiler on HP Series 700

I know there has been great interest expressed in this group regarding a
port of the DEC SRC Modula-3 compiler to the HP 9000/Series 700's.  Well,
the good news is that I have version 2.07 of the compiler and runtime up
and running!  The bad news is that it is still somewhat crippled :-(.
Specifically...

   o	the compiler FORCES you to use archived libraries.  It is
	necessitated by the funny way that procedure pointers are handled
	by the C compiler when shared libraries are used.  This is a
	hopefully temporary condition (i.e., highest on my priority list).

   o	the intermediate C files are compiled with an alignment pragma
	(HPUX_NATURAL), so that I could match up the way that bitfields
	are handled in the compiler.  I do not know if this will be a
	problem, yet.  Hopefully this can be removed when the new record
	layout code in the compiler is released (we all know that is why
	all those test programs were distributed, right Eric :-).

   o	the stack and frame stuff in the thread package is still somewhat
	kludged.  Right now, it wastes more of the stack than is really
	necessary (but it does work, I think ;-).

   o	none of the Float interface is implemented.  Actually, this is
	not that different from many of the other supported machines.
	I would love to have somebody volunteer to remedy this!

   o	some functions that are called from the runtime library are not
	supported in the HP/UX C library (expm1, log1p, asinh, acosh,
	atanh, rint, and utimes).  Currently, I have stubbed in these
	routines to cause a runtime fault, so that the demo programs
	will compile and link.

   o	it still uses the hpux-7-0 operating system interface.  I know
	this does not necessarily match up with 8.07 on the 700's, and
	I am in the process of defining hpux-8.{generic,HP300,HPPA}
	interfaces.  But the stuff that the compiler needs does work.

I am in the process of coordinating the changes that I have made with
the SRC folks.  Hopefully we will be able to release something RSN.
Please do not inundate me with "I WANT IT NOW" requests!

...Walker

--------
James Walker  <jjw1@gte.com>
GTE Laboratories, Waltham, MA


======================================================================= 10 ===
Date:    Tue, 11 Aug 1992 19:54:54 GMT
From:    werts@aardvark.cecs.csulb.edu (Michael Werts)
Subject: Re: Installation problem

I've reinstalled both libm3 and the bootstrap archive, but there are still
no files in include/m3.

I did get the following messages after I ran "bin/m3make -f m3makefile.boot
all install"

----------------------------------------------------------------
cd driver/boot-DS3100; /u1/modula3/bin/m3make -DBOOT all
cd compiler/boot-DS3100; /u1/modula3/bin/m3make -DBOOT all
cd driver/boot-DS3100; /u1/modula3/bin/m3make -DBOOT install
install -c -m  755 m3  /u1/modula3/bin
chgrp: system: unknown group
install -c -m  644 m3.1  /u1/modula3/man/man1
chgrp: system: unknown group
cd compiler/boot-DS3100; /u1/modula3/bin/m3make -DBOOT install
install -c -m  644 m3compiler  /u1/modula3/lib/m3
chgrp: system: unknown group
chmod 755 /u1/modula3/lib/m3/m3compiler
----------------------------------------------------------------

Also I have been using the DS3100 configuration, no X11R4. And I am 
running the m3make's from root.

Any idea what is going on?

Again, thanks in advance.

-- Mike
(werts@csulb.edu)


======================================================================= 11 ===
Date:    Tue, 11 Aug 92 21:35:06 GMT
From:    muller@bismol.pa.dec.com (Eric Muller)
Subject: Re: Installation problem


Clearly, all the install commands are failing.   This explain why you don't get
 anything
in include/m3, since they are "install"ed there.

I am not sure what  the problem is with install, but a way around is to redefin
e
INSTALL in the config file, to be a combination of cp and chmod.  Of course, it
 would be
better to understand why install fails and to fix that.

-- 
Eric.



======================================================================= 12 ===
Date:    Tue, 11 Aug 92 18:32:02 GMT
From:    muller@src.dec.com (Eric Muller)
Subject: Modula-3 Frequently Asked Questions (FAQ)

Archive-name: Modula-3-faq
Last-modified: Aug  5 1992


		 Modula-3 Frequently Asked Questions
		 ===================================


What is Modula-3 ?

   The goal of Modula-3 is to be as simple and safe as it can be while
   meeting the needs of modern systems programmers.  Instead of
   exploring new features, we studied the features of the Modula
   family of languages that have proven themselves in practice and
   tried to simplify them into a harmonious language.  We found that
   most of the successful features were aimed at one of two main
   goals: greater robustness, and a simpler, more systematic type
   system.

   Modula-3 descends from Mesa, Modula-2, Cedar, and Modula-2+.  It
   also resembles its cousins Object Pascal, Oberon, and Euclid.

   Modula-3 retains one of Modula-2's most successful features, the
   provision for explicit interfaces between modules.  It adds objects
   and classes, exception handling, garbage collection, lightweight
   processes (or threads), and the isolation of unsafe features.


Is Modula-3 a superset of Modula-2 ?

   No; valid Modula-2 programs are not valid Modula-3 programs.


Where can I get a description of Modula-3 ? 
   
   The definition of Modula-3 is contained in:

        System Programming with Modula-3
        Edited by Greg Nelson
        Prentice Hall Series in Innovative Technology
        ISBN 0-13-590464-1
        L.C. QA76.66.S87 1991

   also known as SPwM3.  Here is the table of contents:

        1. Introduction
        2. Language Definition
        3. Standard Interfaces
        4. An Introduction to Programming with Threads
        5. Thread Synchronization: A Formal Specification
        6. I/O Streams: Abstract Types, Real Programs
        7. Trestle Window System Tutorial
        8. How the Language Got its Spots

   Chapters 2 and 3 have been reprinted in Sigplan Notices, Volume 27,
   Number 8, August 1992, pp 15-42.

   Sam Harbison has written a book about Modula3:

        Modula-3
        Samuel P. Harbison
        Prentice Hall, 1992
        ISBN 0-13-596396-6

   as well as an overview article, "Modula-3", in Byte, Vol. 15,
   Number 12, October 1990, p 385.


Where can I get information on Modula-3 ?

   There is a Usenet newsgroup, comp.lang.modula3.  The archives of
   that group are available via anonymous ftp from gatekeeper.dec.com
   in pub/DEC/Modula-3/comp.lang.modula3.  If you do not have
   access to Usenet, there is a relay mailing list; send a message to
   m3-request@src.dec.com to be added to it.


Where can I get an implementation ?

   There is only one implementation available today.  It has been built
   by SRC and is available via anonymous ftp from gatekeeper.dec.com in
   pub/DEC/Modula-3/release.  Contributed software can be found
   in pub/DEC/Modula-3/contrib.

   The current version, 2.07, implements the language defined in SPwM3.
   There are versions for the following machines:

        AIX386  IBM PC running AIX/PS2,
        AP3000  Apollo DN4500 running Domain/OS
        ARM     Acorn R260 running RISC iX 1.21
        DS3100  DECstation 3100 and 5000 running Ultrix 4.0 and 4.2
        HP300   HP 9000/300 running HP-UX 8.0
        IBMR2   IBM R6000 running AIX 3.1, 
        IBMRT   IBM RT running IBM/4.3, 
        NEXT    NeXT running ?
        SPARC   SPARCstation running SunOS 4.1.x
        SUN3    SUN3 running SunOS
        UMAX    Encore Multimax running UMAX 4.3 (R4.1.1)
        VAX     VAX running Ultrix 3.1

   SRC Modula-3 includes a user manual, compiler, runtime library,
   some libraries and a few other goodies (see below).

   The compiler generates C as an intermediate language and should be
   fairly easy to port.  Except for the very lowest levels of the
   thread implementation, the entire system is written in Modula-3.


What if I don't have ftp access ?

   Unfortunately, we cannot deliver Modula-3 other than by 
   anonymous ftp.  Your best bet is to post a message to
   comp.lang.modula3, in the hope that somebody with ftp
   access can make a tape or floppy for you.
      

Can I contribute Modula-3 software ?

   Certainly.  Send us what you are willing to share, be it programs,
   libraries or other things.  We'll put them in the distribution. 

-- 
Eric.



======================================================================= 13 ===
Date:    Wed, 12 Aug 92 11:48:58 EDT
From:    wyant@centerline.com
Subject: Should linker warn about unimplemented methods ?

I just spent some time tracking down a crash which caused
by my failure to add an method override connecting an
abstract operation in an opaque type to the corresponding
implementation method. I had written the method, I had merely
forgotten to add it to the "OVERRIDES".

Is the lack to provide overrides for methods in opaque types
soemthing the prelinker could check for ? Is this a bug that
that typically occurs once for most people and never again ?

--geoff


======================================================================= 14 ===
Date:    12 Aug 92 13:26:39 GMT
From:    jjw1@barney.gte.com (Jim Walker)
Subject: Re: SRC Modula-3 compiler on HP Series 700

In article <1048@ceylon.gte.com> Jim Walker writes:
|> I know there has been great interest expressed in this group regarding a
|> port of the DEC SRC Modula-3 compiler to the HP 9000/Series 700's.  Well,
|> the good news is that I have version 2.07 of the compiler and runtime up
|> and running!  ...

I knew that I forgot to mention something in my previous post...

Many, many, many thanks to the folks at DEC SRC, not only for all of their
help in getting me through this port (which, by the way, did/does include
changing source on their part as well), but also for giving us all Modula-3
to begin with.  Lotsa' pats on the backs, guys.

Back to work on finishing up the details...
...Walker

--------
James Walker  <jjw1@gte.com>
GTE Laboratories, Waltham, MA


======================================================================= 15 ===
Date:    Thu, 13 Aug 1992 09:51:22 PDT
From:    Mike_Spreitzer.PARC@xerox.com
Subject: Type dependency analyzer

I'd like to build a tool that finds all the places in a corpus of code that
depend on CHAR having only 256 elements.  I'd like to build this tool on top of
the most functional substrate available.  As far as I know, m3tk is the
substrate that provides more of what I need than any other available substrate.
Does anyone have anything better (or perhaps the tool I'm looking for)?

Mike


======================================================================= 16 ===
Date:    Tue, 18 Aug 1992 12:46:24 GMT
From:    laverman@cs.rug.nl (Bert Laverman)
Subject: Problems with vbtapps...


(This is about the SPARC 2.07 version of SRC-m3)

Having recently managed to find a machine with enough memory to build
the vbtkit and formsvbt libraries, I then tried to build the vbtapps.
Alas, though they compiled ok, I have not managed to run any of the
programs. They all abort before doing anything visible with:

***
*** runtime error:
***    Bus error - possible thread stack overflow
***    pc = 0xf7ffe820 = YPQ.YPQFromRGB + 0x98c8b8
***

This particular message came from Cube, but Calculator, miniformsedit,
etc. all produce this problem.

YPQ appears not to be a vbtkit or formsvbt routine, but its interface
is in the standard include directory. Since I can't keep all sources
online, I don't know where this error comes from. Is _this_ one of the
optimization problems (I used -O for libm3, X, and trestle)?

Greetings, Bert
-- 
#include <std/disclaimer>

  Bert Laverman,  Dept. of Computing Science, Groningen University
  Friendly mail to: laverman@cs.rug.nl      The rest to: /dev/null


======================================================================= 17 ===
Date:    Thu, 20 Aug 92 12:35:46 -0400
From:    Norman Ramsey <nr@Princeton.EDU>
Subject: trestle applications on black-and-white screens

I've noticed that the trestle applications emerging from src aren't
much fun on black-and-white screens.  Perhaps they all have color
monitors, so they tend to forget how the other half lives :-).  In any
case, their nicely colored backgrounds tend to come out white (or,
occasionally, black).  I've written an interface, TwoTone, that makes
it easy to construct backgrounds that are solid colors on a color
screen, and textures on a black-and-white screen.  At some point I'll
cobble up a selection of interesting textures (like those in the
figures in Greg's book), but for now I'm making do with shades of gray
from the Gray interface.  I'm posting the two interfaces and their
implementations, and also the diffs for Solitaire and Card, so you can
get a dark grey `felt' instead of the default white.  Of course, it's
still that nice shade of green on a color monitor.


Norman Ramsey


nr@hart (33) % rcsdiff Solitaire.m3
===================================================================
RCS file: Solitaire.m3,v
retrieving revision 1.1
diff -r1.1 Solitaire.m3
240c240
<       EVAL TextureVBT.T.init(txt, Card.felt);
---
>       EVAL TextureVBT.T.init(txt, Card.felt.op, Card.felt.txt);
nr@hart (34) % cd ../../bicycle/src
nr@hart (35) % rcsdiff Card.?3
===================================================================
RCS file: Card.i3,v
retrieving revision 1.1
diff -r1.1 Card.i3
45c45
< IMPORT PaintOp, VBT, ZSplit, Point;
---
> IMPORT VBT, ZSplit, Point, TwoTone;
56c56
<   felt: PaintOp.T; (* color of the background; you have to put the
---
>   felt: TwoTone.T; (* color of the background; you have to put the
===================================================================
RCS file: Card.m3,v
retrieving revision 1.1
diff -r1.1 Card.m3
14c14
<          Time, CardRank, CardSuit, FaceCards, HighlightVBT,
---
>          Time, CardRank, CardSuit, FaceCards, Gray, HighlightVBT,
16c16
<          MouseSplit, Split, Thread;
---
>          MouseSplit, Split, Thread, TwoTone;
586,588c586,588
<       op1 := felt;
<       op2 := felt;
<       txt := Pixmap.Solid;
---
>       op1 := felt.op;
>       op2 := felt.op;
>       txt := felt.txt;
617c617
<     VBT.PolyTint(v, a, felt)
---
>     VBT.PolyTexture(v, a, felt.op, felt.txt)
634,635c634,635
<       txt := Pixmap.Solid;
<       op := felt
---
>       txt := felt.txt;
>       op := felt.op;
730c730
<   felt := PaintOp.Pair(PaintOp.Bg, realFelt);
---
>   felt := TwoTone.New(PaintOp.Pair(PaintOp.Bg, realFelt), Gray.New4x4(10));

# To unbundle, "sed '1,/^# To unbundle/d' < thisfile | sh"
# To unbundle, make sure both lines appear in the file
# Thu Aug 20 12:28:07 EDT 1992
echo TwoTone.i3 1>&2
sed 's/^-//' >'TwoTone.i3' <<'End of TwoTone.i3'
-INTERFACE TwoTone;
-IMPORT PaintOp, Point, Pixmap, Rect, VBT;
-
-TYPE
-  T = RECORD
-        op: PaintOp.T;
-        txt: Pixmap.T;
-      END;
-
-PROCEDURE New(colorop: PaintOp.T; monotxt: Pixmap.T):T;
-  (* Result
-       op is PaintOp.BgFg on a mono display, colorop on a color display
-       txt is monotxt on a monodisplay, Pixmap.Solid on a color display
-   *)
-
-PROCEDURE Paint(v: VBT.Leaf; READONLY clip: Rect.T;
-                tone:T; READONLY delta := Point.Origin); <* LL.sup < v *>
-(* Paint the rectangle "clip" with the texture "tone.txt+delta" using
-   the operation "tone.op". *) 
-
-END TwoTone.
End of TwoTone.i3
echo TwoTone.m3 1>&2
sed 's/^-//' >'TwoTone.m3' <<'End of TwoTone.m3'
-MODULE TwoTone;
-IMPORT PaintOp, Pixmap, Point, Palette, Rect, 
-       ScreenType, ScrnPaintOp, ScrnPixmap, VBT;
-
-TYPE
-  PMClosure = Palette.PixmapClosure OBJECT
-    pm: Pixmap.T
-  METHODS OVERRIDES 
-    apply := PMApply
-  END;
-
-PROCEDURE PMApply(cl: PMClosure; st: ScreenType.T): ScrnPixmap.T =
-  BEGIN
-    IF st.color THEN
-      RETURN Palette.ResolvePixmap(st, Pixmap.Solid)
-    ELSE
-      RETURN Palette.ResolvePixmap(st, cl.pm)
-    END
-  END PMApply;
-
-TYPE
-  OpClosure = Palette.OpClosure OBJECT
-    op: PaintOp.T;
-  METHODS OVERRIDES
-    apply := OpApply;
-  END;
-
-PROCEDURE OpApply(cl: OpClosure; st: ScreenType.T): ScrnPaintOp.T =
-  BEGIN
-    IF st.color THEN
-      RETURN Palette.ResolveOp(st, cl.op)
-    ELSE
-      RETURN Palette.ResolveOp(st, PaintOp.BgFg)
-    END
-  END OpApply;
-
-PROCEDURE New(colorop: PaintOp.T; monotxt: Pixmap.T):T =
-  BEGIN
-    RETURN T { Palette.FromOpClosure(NEW(OpClosure, op := colorop)),
-               Palette.FromPixmapClosure(NEW(PMClosure, pm := monotxt)) }
-  END New;
-
-PROCEDURE Paint(v: VBT.Leaf; READONLY clip: Rect.T;
-                tone:T; READONLY delta := Point.Origin) = <* LL.sup < v *>
-BEGIN
-  VBT.PaintTexture(v, clip, tone.op, tone.txt, delta);
-END Paint;
-
-BEGIN
-END TwoTone.
End of TwoTone.m3
echo Gray.i3 1>&2
sed 's/^-//' >'Gray.i3' <<'End of Gray.i3'
-INTERFACE Gray;
-IMPORT Pixmap;
-
-PROCEDURE New3x3(intensity:[0..9]):Pixmap.T;
-  (* return a 3x3 1-bit Pixmap.T with intensity pixels lit *)
-
-PROCEDURE New4x4(intensity:[0..16]):Pixmap.T;
-  (* return a 4x4 1-bit Pixmap.T with intensity pixels lit *)
-
-END Gray.
End of Gray.i3
echo Gray.m3 1>&2
sed 's/^-//' >'Gray.m3' <<'End of Gray.m3'
-MODULE Gray;
-IMPORT Pixmap, Point, Rect, ScrnPixmap;
-
-TYPE
-  A3 = ARRAY [0..2] OF [0..9];
-CONST
-  Intense3 = ARRAY [0..2] OF A3 {A3 {7, 9, 5}, 
-                                 A3 {2, 1, 4}, 
-                                 A3 {6, 3, 8}};
-
-PROCEDURE New3x3(intensity:[0..9]):Pixmap.T =
-VAR bounds := Rect.FromSize(3, 3);
-    raw := ScrnPixmap.NewRaw(1, bounds);
-BEGIN
-  FOR h := 0 TO 2 DO
-    FOR v := 0 TO 2 DO
-      IF intensity >= Intense3[h, v] THEN
-        raw.set(Point.FromCoords(h,v), 1);
-      ELSE
-        raw.set(Point.FromCoords(h,v), 0);
-      END;
-    END;
-  END;
-  RETURN Pixmap.FromBitmap(raw);
-END New3x3;
-
-TYPE
-  A4 = ARRAY [0..3] OF [0..16];
-CONST
-  Intense4 = ARRAY [0..3] OF A4 {A4 { 1,  9,  3, 11}, 
-                                 A4 {13,  5, 15,  7}, 
-                                 A4 { 4, 12,  2, 10},
-                                 A4 {16,  8, 14,  6}};
-
-PROCEDURE New4x4(intensity:[0..16]):Pixmap.T =
-VAR bounds := Rect.FromSize(4, 4);
-    raw := ScrnPixmap.NewRaw(1, bounds);
-BEGIN
-  FOR h := 0 TO 3 DO
-    FOR v := 0 TO 3 DO
-      IF intensity >= Intense4[h,v] THEN
-        raw.set(Point.FromCoords(h,v), 1);
-      ELSE
-        raw.set(Point.FromCoords(h,v), 0);
-      END;
-    END;
-  END;
-  RETURN Pixmap.FromBitmap(raw);
-END New4x4;
-
-BEGIN
-END Gray.
End of Gray.m3


======================================================================= 18 ===
Date:    21 Aug 92 18:21:28 GMT
From:    leander@rkw-risc.cs.up.ac.za (Leander Conradie)
Subject: Public domain M3 wanted

Does anybody know about a public domain version for Modula3, for either Unix or
 DOS? Any help will be greatly appreciated. 

Leander Conradie
----------------->
leander@up.ac.za


======================================================================= 19 ===
Date:    Fri, 21 Aug 92 17:03:49 GMT
From:    muller@bismol.pa.dec.com (Eric Muller)
Subject: Re: Public domain M3 wanted

In article <leander.714421288@rkw-risc>, leander@rkw-risc.cs.up.ac.za (Leander 
Conradie) writes:
|> Does anybody know about a public domain version for Modula3, for either Unix
 or DOS? Any help will be greatly appreciated. 

There is no public domain implementation, but there a freely available
implementation of Modula-3, available via anonymous ftp from
gatekeeper.dec.com, in pub/DEC/Modula-3.

-- 
Eric.



======================================================================= 20 ===
Date:    24 Aug 92 21:49:05 GMT
From:    jones@kira.uvm.edu (Mike Jones)
Subject: IBM R2 for AIX 3.2

Is Mod3 avail or at least a new config file for AIX 3.2 ?

I can't get m3make to compile.  I tried changing a couple of switches,
but it didn't work easily.  Before I start trying to figure out what
is wrong, maybe somebody has already done it.  I even tried 'gcc', but
our version of 'gcc' seems to have an IBM specific bug in it (it
doesn't work).

Mike
=========================================================
Mike Jones		     | Mike.Jones@EMBA.UVM.EDU	   
EMBA-CF, 250 Votey Building. |
University of Vermont 	     |
Burlington, VT.    USA	     | Voice:  (802) 656-2926 	
		05405        | FAX:    (802) 656-8802
=========================================================


======================================================================= 21 ===
Date:    26 Aug 92 10:39:46 GMT
From:    laverman@cs.rug.nl (Bert Laverman)
Subject: vbtapps... still no-go



Well, my attempts to get the vbtapps running on the sparc still
lack success. True, remaking the libraries without '-O' removed
the thread-stack overflow, but now I get an unhandled Rd.Failure,
with as only help a single LOCK statement on the handler stack.

Anyone a clue?
-- 
#include <std/disclaimer>

  Bert Laverman,  Dept. of Computing Science, Groningen University
  Friendly mail to: laverman@cs.rug.nl      The rest to: /dev/null


======================================================================= 22 ===
Date:    26 Aug 92 11:37:56 GMT
From:    laverman@cs.rug.nl (Bert Laverman)
Subject: READONLY parameters; what are they really?


Dear all,
  In SPwM3 (page 28) it says: "... A READONLY formal is treated as a VAR
formal if the actual is a designator and the type of the actual is the same
as the type of the format (...); otherwise it is treated as a VALUE formal."

IMHO I have to conclude from this that:
  -  either READONLY parameters can come in two forms, with a check needed at
     runtime in the procedure for each invocation, or
  -  VALUE actuals are assigned to anonymous new variables, which in turn are
     passed as conventional VAR parameters.

The first option seems most likely, the second reeks of FORTRANisms. For `large
'
types (the ones for which values are not pushed directly on the stack when pass
ed
as VALUE parameter) the first option is simple enough for both caller and calle
e,
but for small types (eg, INTEGER), as callee I'ld have to check to see how the
actual has been given.

Of course it could be that READONLY is specifically for passing larger values
efficiently when we know they wont be modified...

Greetings, Bert
-- 
#include <std/disclaimer>

  Bert Laverman,  Dept. of Computing Science, Groningen University
  Friendly mail to: laverman@cs.rug.nl      The rest to: /dev/null


======================================================================= 23 ===
Date:    26 Aug 92 14:53:30 GMT
From:    jones@kira.uvm.edu (Mike Jones)
Subject: bad stack on SPARCs


I just compiled m3 for my sparc.  I used the config file under
model-configs, I changed the PREFIX and thats about it.  I have tried
it under SUNOS's cc, and under gcc.

When compiling the etests, several of the compiles receive signal 4.
I noted that one of the sample stderr files also received a signal 4,
but others did not.

The following errors are from syslog:

vmunix: sendsig: bad signal stack pid=14122, sig=11
vmunix: sigsp = 0xf7bff690, action = 0xf7ae2ba0, upc = 0x91288

I am running 4.1.1 SUNOS, on a Sun 490.  Anybody have a fix for this ?
Did I, or do I, need to select a different option to compile it.  Do I
need to define something ?

Is this the way it runs on a SPARC ?  I notice that the sample output
was run on the MIPS machine (5000 ?).

Not all of the sample stderr/stdout files are there either.  ctests
for example.

Thank you,
 Mike

=========================================================
Mike Jones		     | Mike.Jones@EMBA.UVM.EDU	   
EMBA-CF, 250 Votey Building. |
University of Vermont 	     |
Burlington, VT.    USA	     | Voice:  (802) 656-2926 	
		05405        | FAX:    (802) 656-8802
=========================================================


======================================================================= 24 ===
Date:    25 Aug 92 23:39:26 GMT
From:    canning@apple.com (Peter S. Canning)
Subject: Formal description of Modula3

Has anyone attempted to produce a formal description of Modula3 (beyond the
description of the syntax)?  One possiblity would be a "natural semantics"
describing either or both the static and dynamic semantics (e.g. "The
Definition of Standard ML" by Milner, Tofte, and Harper).  Another option
would be a denotational treatment of the dynamic semantics (e.g. "Revised^3
Report on the Algoritmmic Language Scheme").

									
		thanks,
									
		Peter Canning


======================================================================= 25 ===
Date:    Thu, 27 Aug 92 14:27:43 PDT
From:    frode@ODEGARD.COM (Frode Odegard)
Subject: Re: Formal description of Modula3

Peter Canning (canning@apple.com) writes:

> Has anyone attempted to produce a formal description of Modula3 (beyond the
> description of the syntax)?  [....]

What about using VDM ?

				- Frode
	


======================================================================= 26 ===
Date:    Fri, 28 Aug 92 16:26:56 -0700
From:    <gnelson@src.dec.com>
Subject: Re: READONLY parameters; what are they really?


If a formal parameter is READONLY and the corresponding actual 
is not a designator, the recommended (indeed, almost inevitable)
implementation is to record the value in an anonymous temporary and
to pass the address of the temporary.  READONLY should be used for
record and array arguments where passing them by value would be
costly.



======================================================================= 27 ===
Date:    Fri, 28 Aug 92 16:28:55 -0700
From:    <gnelson@src.dec.com>
Subject: Re: Formal description of Modula3


Luca Cardelli and I have been working on a formal description of 
Modula-3. It's about thirty pages and perpetually not quite complete.


======================================================================= 28 ===
Date:    Fri, 28 Aug 92 20:00:06 GMT
From:    heiney@wsl.dec.com (Bob Heiney)
Subject: Re: Another installation problem (long)

In article <1992Aug28.185855.2769@centerline.com> wyant@centerline.com writes:
>Its not writing to /bin/ar. Judging from the transcript, you ran out of space
>on "/" while running /bin/ar. /bin/ar was probably writing to /tmp when
>the disk filled up. Try freeing up some space on "/" and then rebuildinf
>

Sometimes you can't free up enough space on "/" to build an archive.  The
easy way to solve this problem is to set the environment variable TMPDIR
to a directory that has a bunch of space (I use /usr/tmp on my system).
This way, ar(1) puts the temporary files in TMPDIR instead of /usr/tmp.

For more info, see the description of the "l" option in the ar(1) man page.

--
Bob Heiney
Technical Consultant
Digital Equipment Corporation, US Desktop Sales, Palo Alto, CA
All opinions expressed are mine, and not necessarily those of my employer


======================================================================= 29 ===
Date:    Fri, 28 Aug 1992 17:48:09 GMT
From:    werts@piggy.cecs.csulb.edu (Michael Werts)
Subject: Another installation problem (long)

Well I seem to have gotten the boot system installed. Now I'm having some
difficulty with libm3.

I have PREFIX set to /u1/m3. However when I run m3make on libm3 it tries
writing to /bin/ar. This turns out to be a link to /usr/bin/ar -- a partition
with much less space available on it. m3make complains about the file system
being full (/usr has about 4.4 megs) then gives another error - libm3.a does
not exist. This is in the "all" stage of the make.

Why is m3make trying to place anything in /bin/ar?

Some statistics are then spit out and it begins the "install" stage of 
the make which eventually dies because libm3.a does not exist.

Also there were a considerable number of warnings. Are these significant?

An abbreviated form of the output is given below. Advice would be 
greatly appreciated.

Thanks,

Mike
(werts@csulb.edu)

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

# zcat libm3-*.tar.Z | tar xpof -
# ls                          
makefile               doc                     m3make
COPYRIGHT               driver                  m3makefile.boot
README                  include                 m3makefile.libm3
bin                     lib                     man
boot.DS3100-2.07.tar.Z  libm3
compiler                libm3-2.07.tar.Z
# bin/m3make -f m3makefile.libm3 all install
cd libm3; /u1/m3/bin/m3make all
============================= Building in DS3100
sed -e 's:PUB:/u1/m3/include/m3:g' -e 's:LIB:/u1/m3/lib/m3:g'   <  
./config/src/M3Config.m3 > M3Config.m3
/u1/m3/bin/m3 -w1 -make -why -nostd -times -g   -a libm3.a -F.PGM_SOURCES 
new source -> compile ../Csupport/src/generic/M3Runtime.c
new source -> compile ../Csupport/src/generic/M3Runtime2.c
 
 
 
new source -> compile ../thread/src/Thread.i3
new source -> compile ../unix/src/ultrix-3-1.DS3100/Unix.i3
"../unix/src/ultrix-3-1.DS3100/Unix.i3", line 962: warning: <*OBSOLETE*> symbol
  
used (struct_stat)
"../unix/src/ultrix-3-1.DS3100/Unix.i3", line 965: warning: <*OBSOLETE*> symbol
  
used (struct_stat)
"../unix/src/ultrix-3-1.DS3100/Unix.i3", line 968: warning: <*OBSOLETE*> symbol
  
used (struct_stat)
3 warnings encountered
new source -> compile ../unix/src/ultrix-3-1.generic/Utypes.i3
new source -> compile ../unix/src/ultrix-3-1.generic/Utime.i3
 
 
 
new source -> compile ../color/src/YPQ.i3
new source -> compile ../fieldlist/src/FieldList.i3
"../fieldlist/src/FieldList.i3", line 80: warning: C reserved word, appending  
underscore (char)
1 warning encountered
new source -> compile ../glist/src/RefanyList.i3
new source -> compile ../glist/src/TextList.i3
 
 
 
new source -> compile ../time/src/LongRealTime.m3
new source -> compile ../stable/src/STable.m3
"../stable/src/STable.m3", line 10: warning: not used (Thread)
1 warning encountered
new source -> compile ../stable/src/SIntTable.m3
new source -> compile ../stable/src/STextTable.m3
 
 
 
new source -> compile ../geometry/src/Point.m3
new source -> compile ../geometry/src/Rect.m3
"../geometry/src/Rect.m3", line 14: warning: not used (Text)
1 warning encountered
new source -> compile ../geometry/src/Transform.m3
new source -> compile ../geometry/src/Path.m3
new source -> compile ../geometry/src/Region.m3
new source -> compile ../geometry/src/PolyRegion.m3
new source -> compile ../geometry/src/Trapezoid.m3
new source -> compile ../geometry/src/CopyBytes.m3
new source -> compile ../statistics/src/Stat.m3
new source -> compile ../formatter/src/Formatter.m3
"../formatter/src/Formatter.m3", line 191: warning: <*OBSOLETE*> symbol used  
(NewMutex)
"../formatter/src/Formatter.m3", line 192: warning: <*OBSOLETE*> symbol used  
(NewCondition)
2 warnings encountered
new source -> compile ../parseparams/src/Env.m3
new source -> compile ../parseparams/src/Params.m3
new source -> compile ../parseparams/src/ParseParams.m3
new source -> compile ../parseparams/src/ParseShell.m3
new source -> compile ../uid/src/UID.m3
"../uid/src/UID.m3", line 187: warning: <*OBSOLETE*> symbol used (NewMutex)
"../uid/src/UID.m3", line 188: warning: <*OBSOLETE*> symbol used (NewMutex)
"../uid/src/UID.m3", line 189: warning: <*OBSOLETE*> symbol used (NewMutex)
3 warnings encountered
new source -> compile ../property/src/Property.m3
new source -> compile ../property/src/PropertyV.m3
new source -> compile ../property/src/MProperty.m3
"../property/src/MProperty.m3", line 20: warning: <*OBSOLETE*> symbol used  
(NewMutex)
1 warning encountered
new source -> compile ../atom/src/Atom.m3
"../atom/src/Atom.m3", line 111: warning: <*OBSOLETE*> symbol used (FromStr)
1 warning encountered
new source -> compile ../table/src/IntegerSet.m3
new source -> compile ../table/src/RefanySet.m3
 
 
 
new source -> compile ../table/src/IntegerToTextTable.m3
new source -> compile ../table/src/RefanyToIntegerTable.m3
"../table/src/RefanyToIntegerTable.m3", line 149: warning: <*OBSOLETE*> symbol 
 
used (NewMutex)
"../table/src/RefanyToIntegerTable.m3", line 629: warning: <*OBSOLETE*> symbol 
 
used (NewMutex)
2 warnings encountered
new source -> compile ../table/src/RefanyToRefanyTable.m3
"../table/src/RefanyToRefanyTable.m3", line 149: warning: <*OBSOLETE*> symbol  
used (NewMutex)
"../table/src/RefanyToRefanyTable.m3", line 629: warning: <*OBSOLETE*> symbol  
used (NewMutex)
2 warnings encountered
new source -> compile ../table/src/RefanyToTextTable.m3
"../table/src/RefanyToTextTable.m3", line 149: warning: <*OBSOLETE*> symbol  
used (NewMutex)
"../table/src/RefanyToTextTable.m3", line 629: warning: <*OBSOLETE*> symbol  
used (NewMutex)
"../table/src/RefanyToTextTable.m3", line 17: warning: not used (Text)
"../table/src/RefanyToTextTable.m3", line 17: warning: not used (TextF)
4 warnings encountered
new source -> compile ../table/src/TextToIntegerTable.m3
"../table/src/TextToIntegerTable.m3", line 145: warning: <*OBSOLETE*> symbol  
used (NewMutex)
"../table/src/TextToIntegerTable.m3", line 738: warning: <*OBSOLETE*> symbol  
used (NewMutex)
"../table/src/TextToIntegerTable.m3", line 17: warning: not used (Text)
3 warnings encountered
new source -> compile ../table/src/TextToRefanyTable.m3
"../table/src/TextToRefanyTable.m3", line 145: warning: <*OBSOLETE*> symbol  
used (NewMutex)
"../table/src/TextToRefanyTable.m3", line 738: warning: <*OBSOLETE*> symbol  
used (NewMutex)
"../table/src/TextToRefanyTable.m3", line 17: warning: not used (Text)
3 warnings encountered
new source -> compile ../table/src/TextToTextTable.m3
"../table/src/TextToTextTable.m3", line 145: warning: <*OBSOLETE*> symbol used 
 
(NewMutex)
"../table/src/TextToTextTable.m3", line 738: warning: <*OBSOLETE*> symbol used 
 
(NewMutex)
"../table/src/TextToTextTable.m3", line 17: warning: not used (Text)
3 warnings encountered
new source -> compile ../pkl/src/Pkl.m3
new source -> compile ../pkl/src/PklRead.m3
 
 
 
new source -> compile ../color/src/YPQ.m3
new source -> compile ../fieldlist/src/FieldList.m3
"../fieldlist/src/FieldList.m3", line 117: warning: C reserved word, appending 
 
underscore (char)
1 warning encountered
new source -> compile ../glist/src/RefanyList.m3
new source -> compile ../glist/src/TextList.m3
new source -> compile ../sx/src/FWr.m3
new source -> compile ../sx/src/Sx.m3
new source -> compile ../sx/src/SxSymbol.m3
new source -> compile ../sx/src/SxSyntax.m3
"../sx/src/SxSyntax.m3", line 970: warning: potentially unhandled exception  
(Sx.PrintError)
"../sx/src/SxSyntax.m3", line 970: warning: potentially unhandled exception  
(Wr.Failure)
"../sx/src/SxSyntax.m3", line 970: warning: potentially unhandled exception  
(Thread.Alerted)
"../sx/src/SxSyntax.m3", line 972: warning: potentially unhandled exception  
(Sx.PrintError)
"../sx/src/SxSyntax.m3", line 974: warning: potentially unhandled exception  
(Wr.Failure)
"../sx/src/SxSyntax.m3", line 974: warning: potentially unhandled exception  
(Thread.Alerted)
"../sx/src/SxSyntax.m3", line 975: warning: potentially unhandled exception  
(Sx.PrintError)
"../sx/src/SxSyntax.m3", line 975: warning: potentially unhandled exception  
(Wr.Failure)
"../sx/src/SxSyntax.m3", line 975: warning: potentially unhandled exception  
(Thread.Alerted)
9 warnings encountered
missing library -> archive libm3.a
/bin/ar: Info: filename ExtendedFloat.io truncated to ExtendedFloat.i
/bin/ar: Info: filename IntegerToIntegerTable.io truncated to IntegerToIntege
/bin/ar: Info: filename IntegerToRefanyTable.io truncated to IntegerToRefany
/bin/ar: Info: filename IntegerToTextTable.io truncated to IntegerToTextTa
/bin/ar: Info: filename RefanyToIntegerTable.io truncated to RefanyToInteger
/bin/ar: Info: filename RefanyToRefanyTable.io truncated to RefanyToRefanyT
/bin/ar: Info: filename RefanyToTextTable.io truncated to RefanyToTextTab
/bin/ar: Info: filename TextToIntegerTable.io truncated to TextToIntegerTa
/bin/ar: Info: filename TextToRefanyTable.io truncated to TextToRefanyTab
/bin/ar: Info: filename TextToTextTable.io truncated to TextToTextTable
/bin/ar: Info: filename ColorNameCache.io truncated to ColorNameCache.
/bin/ar: Info: filename IntensityScale.io truncated to IntensityScale.
/bin/ar: Info: filename RGBSortPrivate.io truncated to RGBSortPrivate.
/bin/ar: Info: filename ExtendedFloat.mo truncated to ExtendedFloat.m
/bin/ar: Info: filename IntegerToIntegerTable.mo truncated to IntegerToIntege
/bin/ar: Info: filename IntegerToRefanyTable.mo truncated to IntegerToRefany
/bin/ar: Info: filename IntegerToTextTable.mo truncated to IntegerToTextTa
/bin/ar: Info: filename RefanyToIntegerTable.mo truncated to RefanyToInteger

/: write failed, file system is full
ar: Error: on write -: No space left on device
ar: Error: libm3.a does not exist

 seconds  #times  operation
    2.01     374  checking object timestamps
 1094.01     370  compiling Modula-3 -> C
    6.64     370  merging new link info
 1032.04     375  compiling C -> object
    0.43       1  checking global consistency
    1.44       1  generating _m3lib.c
    0.57       1  building library link info
    9.28       1  exhaling new link info
   22.04       1  building library archive
    0.74       1  indexing library archive
   16.20     375  removing temporary files
   29.41     371  renaming files
    0.02       1  cloning (linking) files
   12.79      10  garbage collection
    2.13          other
---------------------------------------------------
 2229.74          TOTAL

cd libm3; /u1/m3/bin/m3make install
============================= Building in DS3100
(cd ../Csupport/src/generic;  install -c -m  644 -o bin -g bin M3Runtime.h   
/u1/m3/lib/m3)
(cd ../C/src/generic;  install -c -m  644 -o bin -g bin Cerrno.i3   
/u1/m3/include/m3)
(cd ../C/src/generic;  install -c -m  644 -o bin -g bin Cstddef.i3   
/u1/m3/include/m3)
 
 
 
(cd ../sx/src;  install -c -m  644 -o bin -g bin SxSymbol.i3   
/u1/m3/include/m3)
(cd ../sx/src;  install -c -m  644 -o bin -g bin SxSyntax.i3   
/u1/m3/include/m3)
install -c -m  644 -o bin -g bin libm3.a  /u1/m3/lib/m3
install: file libm3.a does not exist.
*** Error code 1

Stop.
# 


======================================================================= 30 ===
Date:    Fri, 28 Aug 1992 18:58:55 GMT
From:    wyant@riposte.com (Geoff Wyant)
Subject: Re: Another installation problem (long)

> Well I seem to have gotten the boot system installed. Now I'm having some
> difficulty with libm3.
>
> I have PREFIX set to /u1/m3. However when I run m3make on libm3 it tries
> writing to /bin/ar. This turns out to be a link to /usr/bin/ar -- a partition
> with much less space available on it. m3make complains about the file system
> being full (/usr has about 4.4 megs) then gives another error - libm3.a does
> not exist. This is in the "all" stage of the make.
>
> Why is m3make trying to place anything in /bin/ar?
>
> Some statistics are then spit out and it begins the "install" stage of 
> the make which eventually dies because libm3.a does not exist.

Its not writing to /bin/ar. Judging from the transcript, you ran out of space
on "/" while running /bin/ar. /bin/ar was probably writing to /tmp when
the disk filled up. Try freeing up some space on "/" and then rebuildinf

---
Geoff Wyant
wyant@centerline.com
Centerline Software, Inc.
(Formerly Saber Software, Inc)
10 Fawcett Street
Cambridge, Ma.
01238



======================================================================= 31 ===
Date:    28 Aug 92 21:37:52 GMT
From:    fn00@gte.com (Farshad Nayeri)
Subject: Re: Another installation problem (long)

In article <BtpG4A.2yq@beach.csulb.edu> werts@piggy.cecs.csulb.edu (Michael Wer
ts) writes:

   Well I seem to have gotten the boot system installed. Now I'm
   having some difficulty with libm3.

   I have PREFIX set to /u1/m3. However when I run m3make on libm3 it
   tries writing to /bin/ar. This turns out to be a link to
   /usr/bin/ar -- a partition with much less space available on it.
   m3make complains about the file system being full (/usr has about
   4.4 megs) then gives another error - libm3.a does not exist. This
   is in the "all" stage of the make.

   Why is m3make trying to place anything in /bin/ar?

Here is a guess:

m3make is not trying to place anything in /bin/ar. /bin/ar is trying
to use /tmp for its temporary files, but since libm3 is mighty big, it
is running out of room in /tmp. The reason you get filesystem full errors
in / is that your /tmp is probably residing on the / partition. I'd blame
UNIX for all these misleading error messages.

There are probably a number of ways to fix this problem. One way is
to pass the right flag to ar to let it use your local directory for
temporary space (see ar(1)). Or increase the allowance for the
partition containing /tmp. 

   An abbreviated form of the output is given below. Advice would be 
   greatly appreciated.

   Mike
   (werts@csulb.edu)

Hope this helps, --farshad

--
Farshad Nayeri                Intelligent Database Systems
fn00@gte.com                  Computer and Intelligent Systems Laboratory
(617)466-2473                 GTE Laboratories, Waltham, MA


======================================================================= 32 ===
Date:    31 Aug 92 15:27:53 GMT
From:    mwalker@novell.com (Mel Walker)
Subject: Free/Cheap Mac Version?

Is there a free and/or fairly cheap macintosh version of Modula 3?

------
Mel Walker                                          mwalker@novell.com
   Bush/Quayle in '92!! -- "Don't blame us, we were only in charge!"
          Not to be construed as support for the Democrats.


======================================================================= 33 ===
Date:    31 Aug 92 12:32:50 GMT
From:    MBLOMQVIST@finabo.abo.fi (Mikael Blomqvist INF)
Subject: Modula3 for Windows

... is that something impossible

I am a BIG fan of modula2. I have not fallen for modula3 yet since I have been
using jensen&partner's TopSpeed M2 which includes LONGCARD and such useable
data types. 
 But the last year I have mostly been programming under MS-Windows and
therefore been forced to change language.
 So, does anyone know something? is a Windows version on its way... or it is
just a hopeful dream?

Micke


