[comp.lang.modula3] 1.6 experiences so far

woolsey@mri (04/06/91)

Fri Apr  5 14:31:41 PST 1991

Differences noted between m3-1.5 and m3-1.6  .

First of all, the distribution is still inconvenient for Sys V.3
machines -- it's full of symbolic links and long filenames.  This is
where I ultimately want to run it.  (Let's not construe this as
doubting my sanity;  this is driven by economic needs. :-) )  For now,
I use a SPARCstation.

I include here my experiences recompiling with 1.6 what previously
compiled and ran with 1.5 .

m3-1.6 enforces a slightly different language than 1.5 did.  1.5
accepts the following CASE statement while 1.6 complains:

CASE something OF
	1 => dothis() |
	2 => dothat() |
	ELSE donothing()
END;

m3-1.6 is much more strict than 1.5 about importing an unsafe interface
in a safe module (e.g. M3toC).  Fortunately (or not) I was able to
construct another safe interface that imported these things.

At the moment I'm stuck at the following:

m3 -c -g -k toa9.m3
M3 runtime error: Segmentation violation - possible attempt to dereference NIL

Program /usr3/users/woolsey/sun4/lib/m3/m3compiler got fatal signal 3.
*** Error code 1
make: Fatal error: Command failed for target `toa9.mo'

I haven't yet had the time to isolate this case.

Installation of this release on a SPARCstation, once I found enough disk
space, was very clean. 

I'll also have to look into porting my change which provided file and line
number information for some of the runtime faults (unless it has been
incorporated into this release).
(Namely these guys:
	_M3Runtime__AssertFault ();
	_M3Runtime__ReturnFault ();
	_M3Runtime__CaseFault ();
	_M3Runtime__TypecaseFault ();
	_M3Runtime__RangeFault ();
	_M3Runtime__NarrowFault ();
)
-- 
Jeff Woolsey	Microtec Research, Inc.		800 950 5554 
amdcad!sun0!woolsey@amd.COM		     +1 408 980 1300
90% of my mail more than 3 hops away vanishes.  Tell me why.