[comp.sys.amiga] Re; Whatever happened to TDI

tmb@davinci.acc.Virginia.EDU (Thomas M. Breeden) (06/05/90)

In article <13751@venera.isi.edu> rod@venera.isi.edu (Rodney Doyle Van Meter III) writes:
 >In article <55001@microsoft.UUCP> w-stephm@microsoft.UUCP (Stephan MUELLER) writes:
  >>
  >>I recommend considering your investment in TDI a write off.  If you
  >>really like Modula-2, get the Benchmark Modula-2 compiler.  It's
  >>fabulous.  There is a really nice source debugger available, and
  >>it comes with a really nice integrated environment, that runs, and
  >>runs well, in only 512K.
  >>

 >It does have some bugs, namely that it won't run the editor from the
 >workbench,

The editor runs fine from the CLI/Shell (I tend to use it as a general purpose
editor also). Isn't there a simple way (XICON?) to start up any
CLI program from Workbench?

 >and it won't run the compiler from the shell, only within
 >the editor.

I use the Benchmark compiler all the time from the CLI/Shell. Shell
scripts to run multi-compiles of a number of modules in a package
work fine.

In fact, I am thinking that there is some advantage in compiling from
the Shell, since you can set up DEF file directory paths with a compiler
switch that way. I have not found a way to do this if compiling from
the editor.

 >Its module management stuff (keeping versions straight) is sometimes
 >less than helpful about which units are really in need of a recompile.

This is because it (like most M2 systems) uses a very simple, but effective,
version checking approach: every object file contains the version number
(assigned by the compiler) of every module it is directly or indirectly
dependent on (IMPORTs).

It reports the name of the module being processed at the time a version
mismatch is detected, but the culprit could be any previously processed
module also dependent on the same mismatch version module.

It might nice, then, if it reported the whole set of modules that are
dependent on the mismatch version module.

Even so, IMHO, the version checking system is much superior to using
a Make program that depends on the programmer organizing and enforcing
dependencies (he/she may start out doing a good job at that, but it
rarely is kept up).

You might have to find an Ada compiler for the next step up in
consistency handling.

 >The main reason I'm writing, though, is to ask where you can get the
 >debugger! I'd love to have it, but the Amiga stores in SoCal say they
 >don't have it and can't get it.
 >
 >				--Rod

Try directly from Avant-Garde or from a mail order place like
Go Amigo.

Tom Breeden
tmb@virginia.edu  -->> Internet
tmb@virginia      -->> BITNET

aaronf@hpindwa.HP.COM (Aaron Friesen) (06/08/90)

From: rod@venera.isi.edu (Rodney Doyle Van Meter III)
> [Benchmark Modula-2] does have some bugs, namely that it won't run the editor from the
> workbench, and it won't run the compiler from the shell, only within
> the editor.

Regarding the editor, if by "run from the workbench," you mean "refuses to execute 
at all," make sure you provide enough stack space.  The manual has a section outlining 
this condition.

If you actually mean "it executes, but it doesn't work the same as if executed from the
CLI," then maybe you don't have everything set up quite right.  I've been running Benchmark
from the workbench since I bought it (I ordered it mail-order as soon as I found it
advertised in AmigaWorld).  I use IconX to ge everything set up correctly ("cd" to the
right directory to access the .emacs file, set the stack size, and start up the editor).

I've also been able to run the compiler from the shell.  Once again, make sure it has
enough stack space.

> This is partially their fault, and partially the language's: if you
> declare that a routine has a return value, the compiler doesn't insist
> that you actually return one (the version of Wirth I have says the
> compiler should insist that the routine have at least one RETURN
> statement, but that it's entirely the programmer's fault if it's
> inside a untaken IF clause or somesuch, so the compiler actually
> differs from the spec here). Makes for great nonrepeatable
> machine-crashing bugs!

I agree that they could have done better and implemented this 'feature' like the spec
(or even improved on the spec), but it would still be the programmer's responsiblity 
to make sure that a RETURN is always executed.  So unless Benchmark went beyond the spec 
and checked that a RETURN is executed for all paths through the procedure, "nonrepeatable 
machine-crashing bugs" should still be expected if the only RETURN is inside an untaken 
IF clause.

> I do like it, though. Lots of good documentation, and the Emacs beats
> the best version of MicroEmacs I have.  If you have source code in TDI
> M2, they include a guide on the differences.

I agree.  I've recommended Benchmark on the net several times.

> The main reason I'm writing, though, is to ask where you can get the
> debugger! I'd love to have it, but the Amiga stores in SoCal say they
> don't have it and can't get it.

My local dealer doesn't keep the debugger in stock, but said they could order it for
me from the publisher.  I've received order-forms from Avante-Garde (sp?) for ordering
it direct, so you should be able to get it direct, simply by writing to them.  If you
haven't seen the price, get ready for a shock.  The debugger costs about as much as the
basic Benchmark package (~$120 US).  I haven't purchased it yet, but it is on my 
"wish list."  Scan through AmigaWorld and call some of the large mail-order outfits
that advertise Benchmark.  They should be able to get the debugger for you.  I'm sorry
that I don't have any specific names for mail-order, but I'm at work and my copies of
AmigaWorld are at home.

Aaron  aaronf@hpindwa.hp.com