On 3/5/10 19:42, bearophile wrote:
Walter Bright:

Here's what DMC does:

      x = (a + b) * (c + d) / (e + f);
                          ^
test.cpp(6) : Error: illegal operand types
Had: Foo
and: int

and here's what DMD does:

test.d(6): Error: incompatible types for ((c) + (d)): 'Foo' and 'int'

[What DMD currently does (plus the last thing you have very quickly 
implemented, I have asked for that feature of Mathematica lot of time ago) is 
enough for me.]

For a human those two error messages give about the same information. But for a IDE that 
has to parse the error messages to show something graphically the error message with the 
"^" can be better.

I think column number would be a lot easier for an IDE to parse than a "^".

Regarding the excessive amount of lines of error messages shown on the command line when 
you use the "^", with DMD I usually only read the first error message or the 
few first ones, ignoring the successive error messages, because the successive ones are 
usually useless. With GCC I sometimes use a compilation flag (-Wfatal-errors) that when 
present makes the compiler show only the first of few first error messages.

Bye,
bearophile

Reply via email to