Jump to page: 1 24  
Page
Thread overview
A simple question
Nov 15, 2012
Stugol
Nov 15, 2012
Jesse Phillips
Nov 15, 2012
Stugol
Nov 15, 2012
David Nadlinger
Nov 16, 2012
David Nadlinger
Nov 16, 2012
Stugol
Nov 16, 2012
Adam D. Ruppe
Nov 16, 2012
Stugol
Nov 16, 2012
Adam D. Ruppe
Nov 16, 2012
Stugol
Nov 16, 2012
Adam D. Ruppe
Nov 16, 2012
Stugol
Nov 16, 2012
Nick Sabalausky
Nov 16, 2012
Stugol
Nov 16, 2012
Adam D. Ruppe
Nov 16, 2012
Rob T
Nov 16, 2012
Rob T
Nov 16, 2012
Stugol
Nov 16, 2012
Rob T
Nov 16, 2012
jerro
Nov 16, 2012
Rob T
Nov 16, 2012
Jacob Carlborg
Nov 16, 2012
Don Clugston
Nov 16, 2012
kenji hara
Nov 16, 2012
kenji hara
Nov 16, 2012
Andrej Mitrovic
Nov 16, 2012
Jacob Carlborg
Nov 16, 2012
Jesse Phillips
Nov 16, 2012
David Nadlinger
Nov 16, 2012
Adam D. Ruppe
Nov 16, 2012
Stugol
Nov 16, 2012
Walter Bright
Nov 19, 2012
Bernard Helyer
Nov 16, 2012
Nick Sabalausky
Nov 17, 2012
Rainer Schuetze
Nov 16, 2012
bearophile
Nov 16, 2012
Stugol
Nov 16, 2012
jerro
November 15, 2012
When I post on these forums to ask for new features (e.g. iterators), you say that you won't be adding any new features at the moment, and that you are instead concentrating on making the language stable and usable.

However, when I post on these forums to ask for bugs to be fixed (e.g. the defective MODULE keyword, or the linker not supporting spaces in paths), you say that's not going to happen anytime soon.

So what the fuck's the point? D is a great language, and I really want to use it, but it doesn't work. And when I post here about its flaws and limitations, I get flamed.

November 15, 2012
On Thursday, 15 November 2012 at 21:25:03 UTC, Stugol wrote:
> When I post on these forums to ask for new features (e.g. iterators), you say that you won't be adding any new features at the moment, and that you are instead concentrating on making the language stable and usable.
>
> However, when I post on these forums to ask for bugs to be fixed (e.g. the defective MODULE keyword, or the linker not supporting spaces in paths), you say that's not going to happen anytime soon.
>
> So what the fuck's the point? D is a great language, and I really want to use it, but it doesn't work. And when I post here about its flaws and limitations, I get flamed.

This forum isn't a bug tracking system. It is for discussion, in relation to bugs that means identifying it it really is a bug and deciding on the priority of that bug over other goals. To say that being told you won't see it any times soon is "flaming" is exaggeration.

If you have a real example of flames then please do bring that forward, but there isn't much the community will be able to do about it.

There is a lot of issues in D, selection isn't always objective and direction isn't well documented at this point. Many times it can seem a voice isn't being heard and suddenly its taken care of.

Really you just need to convince one person it is of priority, that person will need the skill/initiative to implement it and submit the changes, and maybe that person is yourself. Luckily that list of people is growing and not shrinking.
November 15, 2012
On Thursday, 15 November 2012 at 22:43:22 UTC, Jesse Phillips wrote:
> To say that being told you won't see it any times soon is "flaming" is exaggeration.
>
> If you have a real example of flames then please do bring that forward, but there isn't much the community will be able to do about it.

I was told to "fuck off" and to "stop wasting everyone's time" when I was just trying to discuss bugs in the language. If that's not a flame, I don't know what is.

> There is a lot of issues in D, selection isn't always objective and direction isn't well documented at this point. Many times it can seem a voice isn't being heard and suddenly its taken care of.
>
> Really you just need to convince one person it is of priority, that person will need the skill/initiative to implement it and submit the changes, and maybe that person is yourself. Luckily that list of people is growing and not shrinking.

Well, last I heard, the two bugs I just mentioned weren't going to be fixed. So wtf?
November 15, 2012
On Thursday, 15 November 2012 at 21:25:03 UTC, Stugol wrote:
> However, when I post on these forums to ask for bugs to be fixed (e.g. the defective MODULE keyword, or the linker not supporting spaces in paths), you say that's not going to happen anytime soon.

Please provide links to that statements and the respective Bugzilla issues. Otherwise, this is a quite … unsubstantial claim.

David
November 16, 2012
On Thursday, 15 November 2012 at 23:56:49 UTC, David Nadlinger wrote:
> On Thursday, 15 November 2012 at 21:25:03 UTC, Stugol wrote:
>> However, when I post on these forums to ask for bugs to be fixed (e.g. the defective MODULE keyword, or the linker not supporting spaces in paths), you say that's not going to happen anytime soon.
>
> Please provide links to that statements and the respective Bugzilla issues. Otherwise, this is a quite … unsubstantial claim.

To clarify: My intent is not to be picky, but you make it sound like a legitimate bug report was dismissed without giving any reasons for that. I find it hard to imagine that this would be the case.

David
November 16, 2012
On Thursday, 15 November 2012 at 23:56:49 UTC, David Nadlinger wrote:
> On Thursday, 15 November 2012 at 21:25:03 UTC, Stugol wrote:
>> However, when I post on these forums to ask for bugs to be fixed (e.g. the defective MODULE keyword, or the linker not supporting spaces in paths), you say that's not going to happen anytime soon.
>
> Please provide links to that statements and the respective Bugzilla issues. Otherwise, this is a quite … unsubstantial claim.
>
> David

I didn't use BugZilla, I posted on the forum. It was a few months ago. Feel free to search the forums for my name if you care. There aren't many threads with my name.

As to the module bug, I refer you to this error I just received after trying to use D again after a long absence:

"Error 42: Symbol Undefined _D8infinity8standard3api7windows12__ModuleInfoZ	d:\Documents\Programming\WindowsApp1\WindowsApp1\"

I reported the above bug in this thread months ago: http://www.google.com/url?sa=t&rct=j&q=stugol&source=web&cd=1&cad=rja&ved=0CC8QFjAA&url=http%3A%2F%2Fwww.digitalmars.com%2Fd%2Farchives%2Fdigitalmars%2FD%2FIncomprehensible_compiler_errors_173731.html&ei=Z4OlUKqOO6Oi0QWir4DAAg&usg=AFQjCNFlgFDSwgjBEWUA1SbimjMK6kNwFg

Nothing has been done: the bug still exists. Coincidentally, this was the same thread I was told to fuck off in.

Are these bugs likely to be addressed, or am I likely to be told to fuck off again?
November 16, 2012
On Friday, 16 November 2012 at 00:11:19 UTC, Stugol wrote:
> As to the module bug, I refer you to this error I just received after trying to use D again after a long absence:
>
> "Error 42: Symbol Undefined _D8infinity8standard3api7windows12__ModuleInfoZ	d:\Documents\Programming\WindowsApp1\WindowsApp1\"

That means the your custom module wasn't given on the final command line.

The easiest way to build a D program is to put all your files on the command line at once:

dmd main.d helper.d infinity/standard/api/windows.d [etc etc etc]

And it should then spit out a working executable without much hassle. Any libraries you use should be on that command line too, add the .libs as well as your .ds.
November 16, 2012
On Friday, 16 November 2012 at 00:11:19 UTC, Stugol wrote:
> Are these bugs likely to be addressed, or am I likely to be told to fuck off again?

Ah, now things become clearer. The issue here is that what you are describing is not an actual bug, but the consequence of you not specifying one of the source files you imported as part of the compiler command (use rdmd if you don't want to deal with such things). Granted, the diagnostics for it are terrible, you just get to see the raw linker error message.

It has been agreed on that usability issues such as this are important, particularly because they mostly affect newcomers and might scare them away. The issue just is that nobody has found the time to work on this yet – the main compiler devs intuitively tend to focus on the »meaty« issues which actually cause the language to behave incorrectly for _all_ users. Also, if you are used to working on compilers, error messages such as the one you posted are naturally easy to understand, which might lead to some perception bias regarding usability.

In general, things such as this would be a great first problem to attack for somebody interesting in compiler development.

David
November 16, 2012
Stugol:

> And when I post here about its flaws and limitations, I get flamed.

From your post you link below:

> I'm trying to write an actual program in D, but no matter what I do I get stupid errors that mean nothing to me. (Reminds me of C++)
> ...
> Huh? This usually happens if I omit the module statement at the top of EVERY DAMN FILE (why???) but in this case I haven't omitted it, yet I'm still getting the error.
> ...
> What the HELL is this "ModuleInfo", why is it necessary, why is it always missing when a "module" statement is not present, and why is it missing NOW?

Even if the bugs actually exist, and aren't problems in what you are doing, posts that contain similar aggressiveness are less likely to be answered nicely. If you want nice answers, be first of all gentle yourself.

Bye,
bearophile
November 16, 2012
On Friday, 16 November 2012 at 00:29:24 UTC, David Nadlinger wrote:
> Granted, the diagnostics for it are terrible, you just get to see the raw linker error message.

This is potentially very easy to fix...

$ cat demangle.d
import core.demangle;
import std.stdio;
import std.regex;

string dem(Captures!(char[], uint) m) {
        return demangle(m.hit).idup;
}

void main(string[] args) {
        if(args.length > 1) {
                foreach(arg; args[1..$])
                        writeln(demangle(arg));
                return;
        }

        foreach(line; stdin.byLine) {
                writeln(line.replace!dem(regex("_D[a-zA-Z0-9_]+", "g")));
        }
}

$ cat /home/me/demangle_gcc
#!/bin/bash

exec gcc $* 2>&1 | /home/me/demangle

$ export CC=/home/me/demangle_gcc

$ dmd test2.d
test2.o: In function `_Dmain':
test2.d:(.text._Dmain+0x34): undefined reference to `_D9something1A7__ClassZ'
test2.d:(.text._Dmain+0x41): undefined reference to `something.A something.A.__ctor(int)'
collect2: ld returned 1 exit status


A little more readable than `_D9something1A6__ctorMFiZC9something1A'!


core.demangle apparently has some bugs, but these simple little scripts help to beautify the linker output without actually changing anything.

On Windows, the environment variable LINKCMD is used instead of CC. Other than that and other little details, I'm sure the same approach would work.


Now, append "CC=/home/me/demangle_gcc" to your dmd.conf... and there's now no need to set the environment variable in your shell.


So if we made those demangle scripts and put them in the zip with dmd, then changed dmd.conf to use the helper script (CC=%@P%demangle_gcc on linux, LINKCMD=demangle_link.bat on windows).... and there you go, demangled linker output.

A fancier script could detect things like ModuleInfo and give a helpful hint afterwards.
« First   ‹ Prev
1 2 3 4