Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!venera.isi.edu!rod From: rod@venera.isi.edu (Rodney Doyle Van Meter III) Newsgroups: comp.sys.amiga Subject: Re: Whatever happened to TDI (ModulaII)? Message-ID: <13751@venera.isi.edu> Date: 4 Jun 90 17:04:51 GMT References: <2924@crash.cts.com> <55001@microsoft.UUCP> Reply-To: rod@venera.isi.edu (Rodney Doyle Van Meter III) Organization: Information Sciences Institute, Univ. of So. California Lines: 52 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. > I don't know about the memory thing -- even with a fair amount of tuning using their configuration utility, and making sure it's using disk for temp space, it goes contrary on me and refuses to compile medium-sized source files (>1K lines), and I end up rebooting to clear up enough memory to make it happy. I think it has a slight memory management bug that causes it to slowly chew up free space (not sure exactly which version I'm running, but it's relatively recent). This is on a 2000 with 1MB memory. It 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. Its module management stuff (keeping versions straight) is sometimes less than helpful about which units are really in need of a recompile. 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! The range-checking feature doesn't appear to work as documented. The give you a source file switch to turn it on, but that only seems to work if you have configured to compiler to do range checking, and it's not clear to me whether or not it is then range checking where you don't want it to. When it works, it just quietly exits the program. It really needs a way that the programmer can attach an exception routine, to clean up allocated memory, maybe print out a message telling you where it went out of bounds, etc. 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. 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