Forum unknown
· Programming
#TDI Modula v2 issues
1 messages in this thread
Hi Les.
I've got a few things I'd like to discuss regarding TDI Modula-2 v2.
First, here's my bug report:
1. There still is a problem with declaration of large data structures. For
example, if I declare more than 40K in variables I get the following
msg: '208: global data too large for this processor'
2. There still is a problem with unary minus. WriteInt(-n + 5,1) where n
is 5 prints -10 instead of 0!!!
3. Transfer functions are still not implemented for declared types. At
least tell us WHICH transfer functions are not implemented
4. Trapper module is broken! There is one trivial bug in the WriteHex
procedure in it which caused it to loop printing zeros. This was easy
to fix, but even so the information Trapper prints is nonsense (for
example, the relative address of the offending code is incorrect). I
don't think that this is a problem with Trapper itself; more likely in
the error packet which (I guess) is passed by AMIGAX. So (I guess) the
bug is in AMIGAX
5. Serious bug which I spent hours tracking down: comparison of functions
is incorrect – it returns the OPPOSITE result. For example if you have
the function foo(x) which simply returns x (i.e. foo(x)=x ) then the
following evaluates as TRUE : (foo(2) > foo(4)). The sample program in
the next message demonstrates the problem.
Some more comments:
6. The updated manual for ver 2 is inconsistent. It refers to v2 changes,
has an updated item cross reference, and has a definition file listing
for new modules such as LongInOut and RealInOut, yet the listing for
InOut is the old listing, and the poor people who have purchased the
basic package won't learn of such new things as OpenInputOutputFile.
7. I couldn't find any mention of an ATOM-like utility. How will Modula
software behave on a system with more than 512k?
Please don't take me wrong. I think this is a great package, and that
you guys at TDI are quite responsive and do a good job. Keep up the
good work! – Steve –