View mode: basic / threaded / horizontal-split · Log in · Help
November 15, 2012
A simple question
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
Re: A simple question
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
Re: A simple question
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
Re: A simple question
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
Re: A simple question
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
Re: A simple question
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
Re: A simple question
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
Re: A simple question
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
Re: A simple question
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
Re: A simple question
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
Top | Discussion index | About this forum | D home