June 13, 2008
John A. De Goes wrote:

> Robert Fraser Wrote:
>> There's multi-line error messages (for example, if there's an ambiguous overload), and occasionally messages don't have a line, just a file.
> 
> Crap.
> 
...

Here is the ambiguous overload:

crap.d(13): function crap.foo called with argument types:
        (int)
matches both:
        crap.foo(uint)
and:
        crap.foo(ulong)


I have not heard about UNA before, it looks really nice!


June 13, 2008
"John A. De Goes" wrote
> Anyone having inside knowledge of the format care to save me some time here?

The front end for D is open source:

http://www.dsource.org/projects/dmdfe

That might help.

Good luck, I have trouble understanding what some of the errors mean anyways :)

-Steve


June 13, 2008
John A. De Goes wrote:
> Without documentation on the format, the best I can do is to
> experiment with the compiler and try to elicit all possible
> errors/warnings. And hope they fall into a small number of consistent
> patterns (which seems likely given that all the errors I encountered
> so far matched the above patterns).
> 
> Anyone having inside knowledge of the format care to save me some
> time here? (Walter, you listening? :-)

No problem. dmd.zip comes with compiler source, just grep for calls to the function "error(". No need to experiment!
June 13, 2008
Frank Benoit wrote:
> Chris R. Miller schrieb:
> 
>> Well there's your problem!  Come back later when you're educated.
> 
> Why are you so unfriendly?

Editors made by people who don't use the language - rather, by people who don't even know the language at all - are as a general rule very bad.

I'm a firm believer in using the software you make, so people who toss in a few features to rope in a little more market share tend to tick me off.  Go big or go home, either do it right or not at all in my mind.



June 13, 2008
Thanks for the insight, Bjoern. Send me and e-mail and we can chat on real-time collaboration (I'm very much interested in the work other people are doing in this area).

Regards,

John

BLS Wrote:

> John A. De Goes schrieb:
> > Hi Bjoern,
> > 
> > Yes, this is possible. You just use a macro in the source snippet, e.g. ${CLASS}, and then when you insert it, it places the caret at the first macro: filling it in replaces all instances of the macro, and hitting Enter takes you to the next one. No pop up dialogs, but it accomplishes the same thing (with less invasiveness and annoyance).
> > 
> That is pretty cool!
> 
> > Where do DWT and JFace fit into the grand scheme of things? That is, are they as ubiquitous in D as Swing and SWT are in the Java community?
> > 
> DWT is "per se" the standard GUI library for D. Means: Walter (the D
> language creator) declared SWT/DWT as standard GUI. DWT is ATM en pair
> with SWT 3.4M7, in other words bleeding edge.
> So yes, DWT/JFace/Forms is for D what SWT etc. means for Eclipse/Java.
> 
> (It was allmost Frank Benoit, who made that hercules work) further information at : http://www.dsource.org/projects/dwt
> 
> You'll also find links to DWT/JFace/Forms snippets on this page which are most probabely usefull as snippet templates..
> 
> OFF TOPIC
> Since about 3 years I am working on a realtime developer collaboration
> IDE. (slightly different in that I am using a C/S RDBMS as SCM) Would be
> interesting to exchange some ideas ...
> 
> Regards, Bjoern
> 
> 

June 13, 2008
Thanks, Lutger. This should prove possible to support.

Regards,

John

Lutger Wrote:

> John A. De Goes wrote:
> 
> > Robert Fraser Wrote:
> >> There's multi-line error messages (for example, if there's an ambiguous overload), and occasionally messages don't have a line, just a file.
> > 
> > Crap.
> > 
> ...
> 
> Here is the ambiguous overload:
> 
> crap.d(13): function crap.foo called with argument types:
>         (int)
> matches both:
>         crap.foo(uint)
> and:
>         crap.foo(ulong)
> 
> 
> I have not heard about UNA before, it looks really nice!
> 
> 

June 13, 2008
Thanks Steve (and also Walter). I'm grepping the code now.

Regards,

John

Steven Schveighoffer Wrote:

> "John A. De Goes" wrote
> > Anyone having inside knowledge of the format care to save me some time here?
> 
> The front end for D is open source:
> 
> http://www.dsource.org/projects/dmdfe
> 
> That might help.
> 
> Good luck, I have trouble understanding what some of the errors mean anyways :)
> 
> -Steve
> 
> 

June 13, 2008
Chris R. Miller Wrote:
> Editors made by people who don't use the language - rather, by people who don't even know the language at all - are as a general rule very bad.

Maybe that's because, as a general rule, they don't solicit feedback from the target community.

> I'm a firm believer in using the software you make, so people who toss in a few features to rope in a little more market share tend to tick me off.  Go big or go home, either do it right or not at all in my mind.

It's impossible for the developers of multi-language editors to become experts in all the languages those editors support. The best they can do is consult with experts.

As for market share, you did hear me when I said UNA personal is now free?

Regards,

John
June 13, 2008
John A. De Goes wrote:
> As for market share, you did hear me when I said UNA personal is now free?

It's still a competitor tot hose of us who are making other free editors ;-P. But I see this as a good thing, since more competition = more benefit to everyone.
June 13, 2008
Turns out the ambiguous argument types is really the only true multiline (i.e. the one error that cannot be understood just by looking at what follows the colon on the first line).

-------------------

dsymbol.c:    error("Dsymbol '%s' has no size\n", toChars());
dsymbol.c:    //printf("Dsymbol::error()\n");
func.c:     error(loc, "called with argument types:\n\t(%s)\nmatches both:\n\t%s%s\nand:\n\t%s%s",
lexer.c:                    error("undefined escape hex sequence \\%c\n",c);
lexer.c:                    error("undefined escape sequence \\%c\n",c);
mars.c:     {   error("use -profile instead of -gt\n");
mars.c:     {   error("unrecognized file extension %s\n", ext);
root.c: error("Error reading file '%s'\n",name->toChars());
root.c: error("Error writing file '%s'\n",name->toChars());
root.c: error("Error appending to file '%s'\n",name->toChars());
template.c:     error("forward reference to template declaration %s\n", tempdecl->toChars());
toobj.c:                    error("%s %s is hidden in %s\n", fd->toParent()->toChars(), fd->toChars(), toChars());

Walter Bright Wrote:

> John A. De Goes wrote:
> > Without documentation on the format, the best I can do is to experiment with the compiler and try to elicit all possible errors/warnings. And hope they fall into a small number of consistent patterns (which seems likely given that all the errors I encountered so far matched the above patterns).
> > 
> > Anyone having inside knowledge of the format care to save me some time here? (Walter, you listening? :-)
> 
> No problem. dmd.zip comes with compiler source, just grep for calls to the function "error(". No need to experiment!