[net.micro.mac] MacMeth from PhD Nick.

keith@ssc-vax.UUCP (Keith Nemitz) (05/27/86)

  I have just received a new Modula-2 compiler for the Macintosh, and this
is a short review describing its pains and pleasures.

  MacMeth (nuke the Mac prefix already) is a single pass, native code
Modula 2 compiler for the Apple Macintosh personal computer.  Designed by
Niklaus Wirth's ETH group in Switzerland, it is being distributed by Modula
Corp in Provo UT. 1-800-LILITH2.  The development package includes: an
editor, symbolic debugger, compiler, and a dissasmbler.  Both link-at-runtime
and link to Macintosh application is supported.  I love it,
and yes, I hate it.  In the final analysis, it is the best Modula compiler
for the mac yet.

  The baddie list:
	The editor stinks. (hows that for being specific)
		Its only use is to point to an error after compilation.
	Compiler requires you to type the sourcefile name, but remembers until
		changed.
	Final link process is STUPID!  (hello world in 30k)
	Compiler generates object code into the DATA fork.
	Linker does not produce REAL (CODE resource) applications.
	Type Transfer Functions are not implemented. (use VAL instead).
	Single Pass-ness requires 'declare before call' (FORWARD supported).
	Array types may only be defined with subrange indicies.
	Absolute position Variables are not supported.
	A complete ROM interface is not included. (I'm working on it)
	Overall user-interface is 'unMac-ish', but tolerable.
	Poorly supported because writer is far away, but Modula Corp tries hard!
	MacMeth requires all support files to be at same level in HFS.
	Documentation is minimal. (60p)

  The Goodie list:
	Compiler is FAST!!!!  (1500-3000 lpm)
	Debugger is GREAT!  (drop in from error)
		Shows position of error in source.
		Shows all variables involved at error.
		Complex types can be 'zoomed' into.
		HALT instruction causes breakpoint.
	Compiler supports 'no glue' access to the ROMs. (other than Str255)
	Linking is done at load time.
	The dissasmbler works nice.  (shows key numbers (heh, heh))
	Link to clickable application is supported, however kludgy.
	Very complete 'Wirth' library.
	Generated code is impressive. (10 iterations of sieve < 7sec)
		(I know, I hate the sieve too, am doing some others...)
	System,finder, compiler,debugger, library, all fit with room to spare
		on a 400k disk.  (I use a Mac+ with internal drive only)
	Documentation is well written. (what there is of it).
	Code Procedures (ROM hooks) may be declared in definition module.
	Modula-2 procedures may be passed to Mac ROM routines.

  What really excites me that FINALLY I am able to use Modula-2 in an almost
Professional enviroment.  No more puny Mac Jokes.  Our VAX8600 hundred still
has the public domain 5 pass compiler and the MacMeth lets the Mac compile
Modula-2 faster than our VAX can. MacMeth is $100.00 from  Modula Corp, and
I am glad I bought it, but am still waiting for that 'perfect' development
system.  Good night, and have a pleasant tommorow.


  Disk lamer: I can't even read german!

	Keith Nemitz  uw-beaver!ssc-vax!keith
	A9F4