Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!ux1.cso.uiuc.edu!ux1.cso.uiuc.edu!m.cs.uiuc.edu!hasker From: hasker@m.cs.uiuc.edu Newsgroups: comp.sys.amiga Subject: Re: TDI Modula-2 Message-ID: <7200149@m.cs.uiuc.edu> Date: 25 Oct 89 00:11:30 GMT References: <1461@ultb.UUCP> Lines: 37 Nf-ID: #R:ultb.UUCP:1461:m.cs.uiuc.edu:7200149:000:1362 Nf-From: m.cs.uiuc.edu!hasker Oct 24 09:56:00 1989 /* Written 2:36 am Oct 23, 1989 by kxs5829@ultb.UUCP in m.cs.uiuc.edu:comp.sys.amiga */ /* ---------- "TDI Modula-2" ---------- */ Hi, Can anyone either post or e-mail me all known bugs in TDI Modula-2? Thanks, Kyle kxs5829@ultb.isc.rit.edu /* End of text from m.cs.uiuc.edu:comp.sys.amiga */ Why? Because you are thinking of buying it or because you have a specific problem? The problem I found with TDI M-2 is that it gives up on almost any piece of non-trivial procedure, complaining that either some expression is too complicated or the procedure is too long. For instance, I had a sequence of if statements such as IF p1 & p2 & p3 THEN IF p4 & p5 THEN s1 ELSE s2 ENDIF ELSEIF p6 & p7 & p8 THEN IF p9 & p10 THEN s3 ELSE s4 ENDIF ENDIF (where the p's are either tests or function calls and the s's are simple assignments--this is reproduced from memory, so the details may not be correct). I needed to do this several times in the same procedure. It turns out I had to create a separate procedure for each of the blocks. This is a real pain, and it happens so often that the tool is useless. Maybe they've fixed it since, but if they have then why did it take many years to get around to it? My impression is that the compiler isn't really buggy, but it has lots of unnecessary restrictions. Rob Hasker hasker@cs.uiuc.edu