Re: D 1.076 and 2.061 release

2013-01-13 Thread SomeDude
On Thursday, 3 January 2013 at 08:25:41 UTC, Dmitry Olshansky 
wrote:

1/3/2013 12:22 PM, Russel Winder пишет:

On Wed, 2013-01-02 at 13:59 -0800, Walter Bright wrote:
[…]

I finally threw in the towel and don't use Ubuntu to play 
music anymore.


I threw in the towel on Ubuntu when Unity came out as the 
default UI.



Going OT but can't agree more :)


I rather like lubuntu (LXDE).

I like minimalist interfaces, I don't care about bells and 
whistles, I want things that plain work, that's all. I don't use 
Linux for multimedia, only for programming and work. So it runs 
in a VM on my laptop, and the simpler the better. With this 
philosophy in mind, I'm quite satisfied. The only thing I regret 
is, lubuntu is not a LTS release unfortunately.


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-11 Thread deadalnix

On Friday, 11 January 2013 at 06:37:31 UTC, Walter Bright wrote:

On 1/10/2013 8:22 PM, deadalnix wrote:

I have to concurs with Walter here.


I know that must be hard for you, and I admire your sacrifice!

:-)


Ha, we have disagreement, but remember, people always make more 
noise when they disagree than when they agree.


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-10 Thread Jacob Carlborg

On 2013-01-11 05:22, deadalnix wrote:


I have to concurs with Walter here. Knowing assembly language is a great
way to improve you knowledge of programming in general. This is way
easier than what most dev think.

I personally know assembly for ARM and x86, and it is clearly helpful.


I have no doubt that it can be useful and helpful. The time to learn it 
just competes with so much else.


--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-10 Thread Jacob Carlborg

On 2013-01-10 21:13, Walter Bright wrote:


No. But a reasonable way is to just get the instruction set reference
from Intel, and single step some D code in assembler mode in the
debugger and go instruction by instruction.


I see, thanks.


I think you'll be pleasantly surprised at how knowing assembler will
improve your high level coding abilities.


Yeah, that's one thing I've learned by reading the newsgroups here.

--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-10 Thread Walter Bright

On 1/10/2013 8:22 PM, deadalnix wrote:

I have to concurs with Walter here.


I know that must be hard for you, and I admire your sacrifice!

:-)


Re: D 1.076 and 2.061 release

2013-01-10 Thread Jonathan M Davis
On Thursday, January 10, 2013 23:37:29 Pierre Rouleau wrote:
> Why not create a link to a second page that would contain that
> javascript so that people can decide to use it or not?  Just adding a
> link to this on the version number for example. Getting the list that
> was available in previous releases would just be one more click away.

People who don't want javascript, disable it, and it's my understanding that 
you can set up a page to provide alternate content if javascript is disabled, 
so if we want to use javascript but are worried about people like Nick 
freaking out about it, that's how I'd expect that we'd deal with it.

- Jonathan M Davis


Re: D 1.076 and 2.061 release

2013-01-10 Thread Pierre Rouleau

On 13-01-10 12:13 AM, Walter Bright wrote:

On 1/4/2013 12:10 PM, r_m_r wrote:

I was wondering if it is possible to integrate some javascript in the
changelog
page to automatically generate the list of fixed issues as suggested
by Jonathan
(As an example, please see the attached file: jq.html).



Thanks for doing this. It's an interesting idea. Some people hate
javascript solutions, though :-)


Why not create a link to a second page that would contain that 
javascript so that people can decide to use it or not?  Just adding a 
link to this on the version number for example. Getting the list that 
was available in previous releases would just be one more click away.


I would also be possible to add a count of entries on each of those 
javascript-generated lists for quickly identifying if something has 
changed since last looking at them.

--
/Pierre Rouleau


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-10 Thread deadalnix
On Thursday, 10 January 2013 at 18:30:10 UTC, Jacob Carlborg 
wrote:

On 2013-01-10 06:18, Walter Bright wrote:

On 1/9/2013 11:02 AM, Jacob Carlborg wrote:

As I said, I don't know assembly but here's the output:


Good time to learn it!


Do you have any good books to recommend for this?

I will most likely not have time to learn assembly now. I'm 
busy with other things and I think I could spend my time better 
by contributing with other D related things.




I have to concurs with Walter here. Knowing assembly language is 
a great way to improve you knowledge of programming in general. 
This is way easier than what most dev think.


I personally know assembly for ARM and x86, and it is clearly 
helpful.


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-10 Thread Walter Bright

On 1/10/2013 10:30 AM, Jacob Carlborg wrote:

On 2013-01-10 06:18, Walter Bright wrote:

On 1/9/2013 11:02 AM, Jacob Carlborg wrote:

As I said, I don't know assembly but here's the output:


Good time to learn it!


Do you have any good books to recommend for this?


No. But a reasonable way is to just get the instruction set reference from 
Intel, and single step some D code in assembler mode in the debugger and go 
instruction by instruction.



I will most likely not have time to learn assembly now. I'm busy with other
things and I think I could spend my time better by contributing with other D
related things.


I think you'll be pleasantly surprised at how knowing assembler will improve 
your high level coding abilities.




Also you said:

"No prob. I'll be happy to make compiler mods as necessary, once the exact
problems are identified."

http://forum.dlang.org/thread/kbvsgo$1po3$1...@digitalmars.com?page=26#post-kcdvjh:242a1f:241:40digitalmars.com


Yes, I did. And I know that the compiler will have to be modified to match with 
Apple's new scheme.




Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-10 Thread Jacob Carlborg

On 2013-01-10 06:18, Walter Bright wrote:

On 1/9/2013 11:02 AM, Jacob Carlborg wrote:

As I said, I don't know assembly but here's the output:


Good time to learn it!


Do you have any good books to recommend for this?

I will most likely not have time to learn assembly now. I'm busy with 
other things and I think I could spend my time better by contributing 
with other D related things.


Also you said:

"No prob. I'll be happy to make compiler mods as necessary, once the 
exact problems are identified."


http://forum.dlang.org/thread/kbvsgo$1po3$1...@digitalmars.com?page=26#post-kcdvjh:242a1f:241:40digitalmars.com

--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Walter Bright

On 1/9/2013 11:02 AM, Jacob Carlborg wrote:

As I said, I don't know assembly but here's the output:


Good time to learn it!

And I'm not kidding.


Re: D 1.076 and 2.061 release

2013-01-09 Thread Walter Bright

On 1/4/2013 12:10 PM, r_m_r wrote:

I was wondering if it is possible to integrate some javascript in the changelog
page to automatically generate the list of fixed issues as suggested by Jonathan
(As an example, please see the attached file: jq.html).



Thanks for doing this. It's an interesting idea. Some people hate javascript 
solutions, though :-)


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Jacob Carlborg

On 2013-01-09 11:38, Walter Bright wrote:


Watcha do is something like this:

__thread int x;
int foo() { return x; }

Compile, disassemble, and look at the code generated and the fixup
records. Then there's no need to guess :-)


As I said, I don't know assembly but here's the output:

Original code: http://pastebin.com/UKb6etWD

Disassembly with TLS: http://pastebin.com/nkdnE9w6
Disassembly without TLS: http://pastebin.com/vuvEBWWH

Object dump with TLS: http://pastebin.com/PqpPw56a
Object dump without TLS: http://pastebin.com/ki6atzEm

--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-09 Thread Nick Sabalausky
On Wed, 9 Jan 2013 12:54:54 -0500
Nick Sabalausky  wrote:
> Yea, this change is definitely a notable step backwards in
> presentation and usability.
> 

And it doesn't help that, once again, the changelog is showing the
*next* release with no indication that it hasn't actually been released.



Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Jacob Carlborg

On 2013-01-09 19:53, John Colvin wrote:


Surely __thread is redundant there, seeing as x will be TLS by default?


We're talking C here and it's not default in C.

--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread John Colvin

On Wednesday, 9 January 2013 at 10:38:33 UTC, Walter Bright wrote:

On 1/9/2013 2:28 AM, Jacob Carlborg wrote:

On 2013-01-09 11:26, Jacob Carlborg wrote:

I think it sounds like that but I don't know. I'm just trying 
to figure

out how TLS is implemented on Mac OS X 10.7+.


Also, there's nothing else that calls this tlv_get_addr 
function or the thunk so

I'm guessing it's the compiler that calls it.


Watcha do is something like this:

__thread int x;
int foo() { return x; }

Compile, disassemble, and look at the code generated and the 
fixup records. Then there's no need to guess :-)


Surely __thread is redundant there, seeing as x will be TLS by 
default?


I tried disassembling this on os x 10.7.5

otool (the default tool for this on os x) just gave me this:

tls_test.o:
indirect symbol table offset is past end of file
(__TEXT,__text) section

It couldn't see any instructions at all.

gdb disas gives this:

0x0024 : push   rbp
0x0025 : movrbp,rsp
0x0028 :	movrdi,QWORD 
PTR [rip+0x0]# 0x30 
0x0030 :	call   0x35 

0x0035 :	moveax,DWORD 
PTR [rax]

0x0037 :poprbp
0x0038 :ret



Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Jacob Carlborg

On 2013-01-09 17:16, David Nadlinger wrote:


I also think this is the best way of approaching such problems. If you
can, also try to find the source code for the involved code. In case of
trying to understand the OS X TLS mechanism, I found the following files
from dyld to be helpful:

http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalHelpers.s

http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalVariables.c


I've already found that code. That's where I got my information from in 
my previous post.


--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-09 Thread Nick Sabalausky
On Wed, 09 Jan 2013 01:09:21 -0800
Jonathan M Davis  wrote:

> On Wednesday, January 09, 2013 00:52:32 Andrei Alexandrescu wrote:
> > On 1/9/13 12:43 AM, Jonathan M Davis wrote:
> > > On Friday, January 04, 2013 14:13:22 Walter Bright wrote:
> > >> It's THE SAME LIST as in the bugzilla list. It's even in the
> > >> same order. It's just that the bugzilla generated list is
> > >> complete.
> > >> 
> > >> I don't understand your rationale that it's _far_ more user
> > >> friendly. It's
> > >> the exact same list, in the exact same order, with the exact
> > >> same text.
> > > 
> > > Okay, _far_ more friendly is probably an exaggeration
> > 
> > There is something to be said about proportional response. Shall we
> > stop this now?
> 
> I think that it's important, and other people in this thread have
> agreed with me (anyone other than Walter who has disagreed has been
> silent on the issue). But I gather that you don't agree.
> 
> - Jonathan M Davis

Yea, this change is definitely a notable step backwards in presentation
and usability.



Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread David Nadlinger

On Wednesday, 9 January 2013 at 10:38:33 UTC, Walter Bright wrote:

Watcha do is something like this:

__thread int x;
int foo() { return x; }

Compile, disassemble, and look at the code generated and the 
fixup records. Then there's no need to guess :-)


I also think this is the best way of approaching such problems. 
If you can, also try to find the source code for the involved 
code. In case of trying to understand the OS X TLS mechanism, I 
found the following files from dyld to be helpful:


http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalHelpers.s
http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalVariables.c

David


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Jacob Carlborg

On 2013-01-09 11:38, Walter Bright wrote:


Watcha do is something like this:

__thread int x;
int foo() { return x; }

Compile, disassemble, and look at the code generated and the fixup
records. Then there's no need to guess :-)


Sure, I've already done that. I compared one version using "__thread" 
and one version without "__thread". I do see the differences of the 
disassembly but that doesn't help me, I don't know assembly. The only 
interesting I could find is that it does perform a "call", the version 
with "__thread".


I don't have access to a machine running Lion+ but you could take a look 
at this:


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52268

That's a bugzilla issue for the same thing for GCC. The comments contain 
some disassembly of uses of "__thread".


--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-09 Thread Philippe Sigaud
On Wed, Jan 9, 2013 at 9:52 AM, Andrei Alexandrescu
 wrote:
> There is something to be said about proportional response. Shall we stop this 
> now?

I propose to start another thread, maybe more constructive, where I
propose a small text describing what's new in 2.061. Is that OK?


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Walter Bright

On 1/9/2013 2:28 AM, Jacob Carlborg wrote:

On 2013-01-09 11:26, Jacob Carlborg wrote:


I think it sounds like that but I don't know. I'm just trying to figure
out how TLS is implemented on Mac OS X 10.7+.


Also, there's nothing else that calls this tlv_get_addr function or the thunk so
I'm guessing it's the compiler that calls it.


Watcha do is something like this:

__thread int x;
int foo() { return x; }

Compile, disassemble, and look at the code generated and the fixup records. Then 
there's no need to guess :-)


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Jacob Carlborg

On 2013-01-09 11:00, deadalnix wrote:


Isn't it horrible performancewise ?


I think it sounds like that but I don't know. I'm just trying to figure 
out how TLS is implemented on Mac OS X 10.7+.


--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Jacob Carlborg

On 2013-01-09 11:26, Jacob Carlborg wrote:


I think it sounds like that but I don't know. I'm just trying to figure
out how TLS is implemented on Mac OS X 10.7+.


Also, there's nothing else that calls this tlv_get_addr function or the 
thunk so I'm guessing it's the compiler that calls it.


--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread deadalnix
On Wednesday, 9 January 2013 at 07:57:12 UTC, Jacob Carlborg 
wrote:

On 2013-01-07 09:04, Walter Bright wrote:

Please nail down what is necessary first. (BTW, I don't know 
how the
compiler can tell what image an address comes from. Remember, 
shared

libraries are loaded at runtime, not compile time.)


I've done some investigation. Currently DMD inserts a call to 
the __tls_get_addr function when accessing a TLS variable. This 
is implemented in druntime.


In Mac OS X 10.7 it works similar but instead of inserting a 
call to __tls_get_addr there's a struct looking like this 
(written in D) :


struct TLVDescriptor
{
void* function (TLVDescriptor*) thunk;
size_t key;
size_t offset;
}

The dynamic linker will iterate all loaded images and extract 
the section containing the TLS data. I guess this section 
consists of a list of TLVDescriptor*. The dynamic linker will 
set the "thunk" to a function "tlv_get_addrs", implemented in 
assembly in the dynamic linker. It will set the key to a key 
created by "pthread_key_create". It will also map the image 
with this key. This key is same for all TLVDescriptor of a 
given image.


Instead of calling "__tls_get_addr" I think that the compiler 
will need to call the thunk passing in the TLVDescriptor itself 
to the thunk.


The "tlv_get_addrs" function will then extract the key and from 
that key it can get the image the address belongs to.


Does that make any sens? Is that something the DMD could do, 
that is call the thunk instead of "__tls_get_addr".?


Isn't it horrible performancewise ?


Re: D 1.076 and 2.061 release

2013-01-09 Thread Namespace

We have a solution for it with templated functions but

no solution for
non-templated functions.


We have: https://github.com/D-Programming-Language/dmd/pull/1019
It's ready to merge. So maybe in 2.062 this problem is solved.


Re: D 1.076 and 2.061 release

2013-01-09 Thread Jonathan M Davis
On Wednesday, January 09, 2013 00:52:32 Andrei Alexandrescu wrote:
> On 1/9/13 12:43 AM, Jonathan M Davis wrote:
> > On Friday, January 04, 2013 14:13:22 Walter Bright wrote:
> >> It's THE SAME LIST as in the bugzilla list. It's even in the same order.
> >> It's just that the bugzilla generated list is complete.
> >> 
> >> I don't understand your rationale that it's _far_ more user friendly.
> >> It's
> >> the exact same list, in the exact same order, with the exact same text.
> > 
> > Okay, _far_ more friendly is probably an exaggeration
> 
> There is something to be said about proportional response. Shall we stop
> this now?

I think that it's important, and other people in this thread have agreed with 
me (anyone other than Walter who has disagreed has been silent on the issue). 
But I gather that you don't agree.

- Jonathan M Davis


Re: D 1.076 and 2.061 release

2013-01-09 Thread Jonathan M Davis
On Tuesday, January 08, 2013 16:25:10 Nick Sabalausky wrote:
> So then what's this "rvalue ref problem" that's "still on the front
> burner"?

auto ref / the problem that C++'s const & deals with. The ability to have a 
function which takes both lvalues and rvalues without copying them unless it 
has to. We have a solution for it with templated functions but no solution for 
non-templated functions.

- Jonathan M Davis


Re: D 1.076 and 2.061 release

2013-01-09 Thread Andrei Alexandrescu

On 1/9/13 12:43 AM, Jonathan M Davis wrote:

On Friday, January 04, 2013 14:13:22 Walter Bright wrote:

It's THE SAME LIST as in the bugzilla list. It's even in the same order.
It's just that the bugzilla generated list is complete.

I don't understand your rationale that it's _far_ more user friendly. It's
the exact same list, in the exact same order, with the exact same text.


Okay, _far_ more friendly is probably an exaggeration


There is something to be said about proportional response. Shall we stop 
this now?


Thanks much,

Andrei



Re: D 1.076 and 2.061 release

2013-01-09 Thread Jonathan M Davis
On Friday, January 04, 2013 14:13:22 Walter Bright wrote:
> On 1/3/2013 10:44 PM, Jonathan M Davis wrote:
> > P.S. Also, as a future improvement, we _really_ shouldn't be linking to
> > bugzilla for our list. I've never seen a release notes document or
> > changelog do that in my entire life. It would be _far_ more user friendly
> > to list the changes like we did before with the bug number for each entry
> > linking to the bug report (and it's what most projects to do from what
> > I've seen).
> What we used to do was, literally (and I mean literally) copy/paste the
> bugzilla entry title and stick it in the changelog.
> 
> It's THE SAME LIST as in the bugzilla list. It's even in the same order.
> It's just that the bugzilla generated list is complete.
> 
> I don't understand your rationale that it's _far_ more user friendly. It's
> the exact same list, in the exact same order, with the exact same text.

Okay, _far_ more friendly is probably an exaggeration, but I definitely think 
that it's unfriendly to redirect people to bugzilla for the changelog, and 
several other people have said the same in this thread.

The normal thing to do is do what we did before and list all of the changes on 
a single page which people can look over at a glance without caring one whit 
about bugzilla (beyond possibly clicking on one of the bug numbers for more 
details). It also means fewer clicks, because you don't have to click to get 
at any of the lists. I have _never_ seen any changelog other than ours use 
bugzilla queries for its contents. They're pretty much always done in a manner 
that allows them to be put in a text file (one which is frequently provided 
with the released files themselves or otherwise sitting in the repository along 
with the README and whatnot).

- Jonathan M Davis


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-09 Thread Jacob Carlborg

On 2013-01-07 09:04, Walter Bright wrote:


Please nail down what is necessary first. (BTW, I don't know how the
compiler can tell what image an address comes from. Remember, shared
libraries are loaded at runtime, not compile time.)


I've done some investigation. Currently DMD inserts a call to the 
__tls_get_addr function when accessing a TLS variable. This is 
implemented in druntime.


In Mac OS X 10.7 it works similar but instead of inserting a call to 
__tls_get_addr there's a struct looking like this (written in D) :


struct TLVDescriptor
{
void* function (TLVDescriptor*) thunk;
size_t key;
size_t offset;
}

The dynamic linker will iterate all loaded images and extract the 
section containing the TLS data. I guess this section consists of a list 
of TLVDescriptor*. The dynamic linker will set the "thunk" to a function 
"tlv_get_addrs", implemented in assembly in the dynamic linker. It will 
set the key to a key created by "pthread_key_create". It will also map 
the image with this key. This key is same for all TLVDescriptor of a 
given image.


Instead of calling "__tls_get_addr" I think that the compiler will need 
to call the thunk passing in the TLVDescriptor itself to the thunk.


The "tlv_get_addrs" function will then extract the key and from that key 
it can get the image the address belongs to.


Does that make any sens? Is that something the DMD could do, that is 
call the thunk instead of "__tls_get_addr".?


--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Jacob Carlborg

On 2013-01-07 13:41, David Nadlinger wrote:


Yes, it is not supported by linker and dyld versions shipping with OS X
10.7. This is also the reason why LDC 2 only supports OS X 10.7+, as
LLVM does not implement a workaround for older versions (although
implementing one up to the point where it is good enough for D should be
doable without too much effort).


I've looked a bit at this and if we want to emulate TLS and support 
dynamic libraries on Mac OS X 10.6 I think we basically need to do what 
the dynamic linker does on 10.7.


--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Jacob Carlborg

On 2013-01-07 23:04, Walter Bright wrote:


Me neither. Mac OS X 10.6 was released August 28, 2009. There have
been two
major releases since then.


Sounds like we can pull the plug.


I've been trying to see if it's possible to get the market share for Mac 
OS X 10.6. This site claims it has just below 30% :


http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomb=*2

--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Jacob Carlborg

On 2013-01-08 21:49, Walter Bright wrote:


So it won't run any 64 bit software?


It can run 64bit software just fine. Mac OS X has been able to do that 
for a long time. 10.6 was the first version the kernel tries to run in 
64bit mode (depends on the computer).


Just because the kernel doesn't run in 64bit doesn't mean that the rest 
of the software can't run in 64bit.



For at least a couple releases now, dmd for OS X has only included the
64 bit binaries for dmd. Not a single person has noticed (at least
nobody has commented on it).

We do build and test the OS X 32 bit dmd binaries, but left them off of
the install package.


There is no problem.

--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-08 Thread Nick Sabalausky
On Tue, 08 Jan 2013 07:11:30 +0100
"deadalnix"  wrote:

> On Tuesday, 8 January 2013 at 05:29:15 UTC, Nick Sabalausky wrote:
> > On Mon, 07 Jan 2013 17:18:11 -0800
> > Walter Bright  wrote:
> >
> >> On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
> >> > On Thu, 03 Jan 2013 17:08:58 +0100
> >> > "deadalnix"  wrote:
> >> >>
> >> >> However, it is just to discover that this do not work :
> >> >>
> >> >> struct Bar {}
> >> >> auto foo(ref Bar bar) {}
> >> >>
> >> >> foo(Bar()); // Now this is an error !
> >> >>
> >> >> I still have code broken all over the place.
> >> >
> >> > IIRC, they tried to include this change in 2.060 (or was it 
> >> > 2.059?),
> >> > but due to the major problems it causes, and the fact that 
> >> > it *does*
> >> > make sense to use a temporary as an lvalue if you don't 
> >> > intend to
> >> > use it again afterwords, there was a big discussion about it 
> >> > on the
> >> > beta list and it was ultimately nixed. I'm disappointed to 
> >> > see that
> >> > it snuck back.
> >> >
> >> 
> >> Well, fixing the rvalue ref problem is still on the front 
> >> burner.
> >
> > Wait, so are you saying that the above code which stopped 
> > working in
> > 2.061 will start working again in a later version?
> 
> No, I think he meant that breaking that code was actually fixing 
> the language because it shouldn't have worked in a first place 
> (thing I disagree with but I understand the reasoning).


So then what's this "rvalue ref problem" that's "still on the front
burner"?



Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Walter Bright

On 1/8/2013 4:52 AM, Russel Winder wrote:

On Tue, 2013-01-08 at 08:27 +0100, Jacob Carlborg wrote:


I'm running 10.7 on my white MacBook from 2006.


Interesting, I was told not to try upgrading to Lion, but to stay with
Snow Leopard.

MacBook2.1, Core 2 Duo, 2GB.

This has a 64-bit processor, but 32-bit boot PROM, which means OS X will
only run in 32-bit mode. This causes great pain since OS and processor
report different states of being, leading to real pain  building stuff.



So it won't run any 64 bit software?

For at least a couple releases now, dmd for OS X has only included the 64 bit 
binaries for dmd. Not a single person has noticed (at least nobody has commented 
on it).


We do build and test the OS X 32 bit dmd binaries, but left them off of the 
install package.


Re: D 1.076 and 2.061 release

2013-01-08 Thread Walter Bright

On 1/8/2013 4:34 AM, Leandro Lucarella wrote:

What about licensing issues, is it even legal to for D1's backend? I mean, I
don't mind doing it personally, because I believe I won't have any problems.
But company lawyers don't think so positively :)



If you've got a licensing issue, talk to me and I'll do my best to get it 
resolved for you to the satisfaction of your lawyers.




Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Jacob Carlborg

On 2013-01-08 14:05, Russel Winder wrote:

Looks like Apple are turning Snow Leopard 10.6 into their equivalent of
XP:
http://www.computerworld.com/s/article/9233244/OS_X_Snow_Leopard_shows_signs_of_becoming_Apple_s_XP

 From the list on http://www.apple.com/osx/how-to-upgrade/ I cannot
upgrade to Mountain Lion 10.8, and Apple provide no way of upgrading to
Lion 10.7. Thus I am forced to be Snow Leopard 10.6 for ever more.


Actually, I have the installation for Lion left on my hard drive.

--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Jacob Carlborg

On 2013-01-08 14:05, Russel Winder wrote:

Looks like Apple are turning Snow Leopard 10.6 into their equivalent of
XP:
http://www.computerworld.com/s/article/9233244/OS_X_Snow_Leopard_shows_signs_of_becoming_Apple_s_XP

 From the list on http://www.apple.com/osx/how-to-upgrade/ I cannot
upgrade to Mountain Lion 10.8, and Apple provide no way of upgrading to
Lion 10.7. Thus I am forced to be Snow Leopard 10.6 for ever more.



They don't sell USB sticks anymore?

--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Jacob Carlborg

On 2013-01-08 13:52, Russel Winder wrote:

On Tue, 2013-01-08 at 08:27 +0100, Jacob Carlborg wrote:



Interesting, I was told not to try upgrading to Lion, but to stay with
Snow Leopard.


I just did.


MacBook2.1, Core 2 Duo, 2GB.


I think mine is from late 2006.


This has a 64-bit processor, but 32-bit boot PROM, which means OS X will
only run in 32-bit mode. This causes great pain since OS and processor
report different states of being, leading to real pain  building stuff.


I haven't noticed any problems.

--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-08 Thread Leandro Lucarella
Pierre Rouleau, el  7 de January a las 23:17 me escribiste:
> I agree that feature releases mostly also contain bug fixes. I
> should have said, and I was thinking about proposing a process where
> minor releases that would only include bug fixes, and where major
> releases would mainly introduce new features but would also include
> some bug fixes.
> 
> At work this is exactly what we do. And today, at work, I was just
> in a meeting evaluating bugs to identify bugs that will be fixed in
> a release of our product that will only contain bug fixes.  The
> fixes that are selected where selected based on their severity, the
> impact they have on end-users and the time it takes to fix them.

This is how most software projects works (specially open source projects).
Major, minor and patchlevel version numbers, and have been explained and
suggested here for ages.

At this point I would be happy if we only get minor releases from time to time
fixing only regressions and critical/security bugs that can't wait for a next
release.

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
--
You can try the best you can
If you try the best you can
The best you can is good enough


Re: D 1.076 and 2.061 release

2013-01-08 Thread Leandro Lucarella
Walter Bright, el  7 de January a las 13:27 me escribiste:
> On 1/7/2013 11:40 AM, Leandro Lucarella wrote:
> >Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:
> >>One thing I want to do is enshrine a vetting mechanism that would
> >>allow Walter and myself to "pre-approve" enhancement requests.
> >>Someone (including us) would submit an enhancement request to
> >>Bugzilla, and then Walter and I add the tag "preapproved" to it.
> >>That means an implementation of the request has our approval
> >>assuming it has the appropriate quality.
> >
> >BTW, I wouldn't mind if you like to try this out with issue 7044 (see the 
> >pull
> >request for more comments), which is really annoying us at work but I never 
> >got
> >to fix because the lack of feedback (a perfect example of somebody willing,
> >almost craving, to fix something and not doing it because of the lack of
> >feedback).
> >
> 
> At this point, reading the discussions in the links, I don't know
> just what the latest proposal is.
> 
> https://github.com/D-Programming-Language/dmd/pull/497
> http://d.puremagic.com/issues/show_bug.cgi?id=7044
> http://forum.dlang.org/thread/mailman.1605.1334108859.4860.digitalmar...@puremagic.com

The latest proposal is:
http://d.puremagic.com/issues/show_bug.cgi?id=7044#c3

You commented about it, I replied to your comments, and you never commented
back.

I also added me as assignee, I think it would be a good idea for people wanting
to implement something (seriously), to add themselves as assignee. Doing so
would mean that person is assuming a commitment to implement the feature if
consensus is achieved. It would be the same as "preapproved" but from the other
side. You could also prioritize and give feedback to issues with somebody
assigned first.

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
--
Creativity is great but plagiarism is faster


Re: D 1.076 and 2.061 release

2013-01-08 Thread Leandro Lucarella
Walter Bright, el  8 de January a las 00:57 me escribiste:
> On 1/7/2013 8:17 PM, Pierre Rouleau wrote:
> >And now I understand that D1 is no longer officially supported. If I 
> >understand
> >properly D1 first release was 6 years ago.  Lets assume I would have started 
> >a
> >product development with it say 2 years ago because it was deemed relatively
> >stable then.  And now I want to support 64-bit Windows and my customers are
> >starting to ask for Windows-8 support.  Or some other things gets in the way 
> >(a
> >bug somewhere, Windows 9 getting released sooner because Windows 8 is not as
> >popular as Microsoft would have hoped.) What would be my alternatives? Port 
> >all
> >the code to D2?  Is this what will happen to D2? I'd like to know before I
> >commit people and convince others.
> 
> The moment D1 was stabilized, work began on D2. It was always
> understood that D2 was the future, and D1 was the stable version.
> Supporting it for 6 years is a pretty long time in the software
> business.
> 
> At some point, you'll need to make a decision:
> 
> 1. move to D2
> 
> 2. merge things from D2 into the D1 you've forked

What about licensing issues, is it even legal to for D1's backend? I mean, I
don't mind doing it personally, because I believe I won't have any problems.
But company lawyers don't think so positively :)

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
--
Es erróneo pensar que el repollo es una afirmación de personalidad del
volátil, es una verdura, es una verdura.
-- Ricardo Vaporeso


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Russel Winder
Looks like Apple are turning Snow Leopard 10.6 into their equivalent of
XP:
http://www.computerworld.com/s/article/9233244/OS_X_Snow_Leopard_shows_signs_of_becoming_Apple_s_XP

From the list on http://www.apple.com/osx/how-to-upgrade/ I cannot
upgrade to Mountain Lion 10.8, and Apple provide no way of upgrading to
Lion 10.7. Thus I am forced to be Snow Leopard 10.6 for ever more.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: D 1.076 and 2.061 release

2013-01-08 Thread Pierre Rouleau

On 13-01-08 3:57 AM, Walter Bright wrote:


3. buy a support contract from Digital Mars or from any of the many
other competent people in the community to help you with D1



Good point.  Probably the most important.


--
/Pierre Rouleau


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread Russel Winder
On Tue, 2013-01-08 at 08:27 +0100, Jacob Carlborg wrote:

> I'm running 10.7 on my white MacBook from 2006.

Interesting, I was told not to try upgrading to Lion, but to stay with
Snow Leopard.

MacBook2.1, Core 2 Duo, 2GB.

This has a 64-bit processor, but 32-bit boot PROM, which means OS X will
only run in 32-bit mode. This causes great pain since OS and processor
report different states of being, leading to real pain  building stuff.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: D 1.076 and 2.061 release

2013-01-08 Thread Jacob Carlborg

On 2013-01-08 09:57, Walter Bright wrote:


The moment D1 was stabilized, work began on D2. It was always understood
that D2 was the future, and D1 was the stable version. Supporting it for
6 years is a pretty long time in the software business.

At some point, you'll need to make a decision:

1. move to D2

2. merge things from D2 into the D1 you've forked

3. buy a support contract from Digital Mars or from any of the many
other competent people in the community to help you with D1


4. There's also Amber now which seems to be basically the same as D1

http://forum.dlang.org/thread/zflwhizhppbdqfioz...@forum.dlang.org

--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-08 Thread Walter Bright

On 1/7/2013 8:17 PM, Pierre Rouleau wrote:

And now I understand that D1 is no longer officially supported. If I understand
properly D1 first release was 6 years ago.  Lets assume I would have started a
product development with it say 2 years ago because it was deemed relatively
stable then.  And now I want to support 64-bit Windows and my customers are
starting to ask for Windows-8 support.  Or some other things gets in the way (a
bug somewhere, Windows 9 getting released sooner because Windows 8 is not as
popular as Microsoft would have hoped.) What would be my alternatives? Port all
the code to D2?  Is this what will happen to D2? I'd like to know before I
commit people and convince others.


The moment D1 was stabilized, work began on D2. It was always understood that D2 
was the future, and D1 was the stable version. Supporting it for 6 years is a 
pretty long time in the software business.


At some point, you'll need to make a decision:

1. move to D2

2. merge things from D2 into the D1 you've forked

3. buy a support contract from Digital Mars or from any of the many other 
competent people in the community to help you with D1


It's pretty much the same with any software product. We were just talking about 
how Apple pretty much has deprecated OS X 10.6, Microsoft regularly abandons old 
versions of its operating systems, and I just found out that my Ubuntu is no 
longer supported.


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-08 Thread deadalnix

On Tuesday, 8 January 2013 at 07:30:55 UTC, Jacob Carlborg wrote:

On 2013-01-07 21:30, David Nadlinger wrote:

I don't know the current relative market share of the 
different OS X
versions on top of my head either, but as we were getting a 
couple of
bug reports from people who had tried to use LDC 2 on 10.6 
(before we
figured out that LLVM doesn't emulate TLS there), I guess it's 
too soon
to drop support for it still. However, when finally somebody 
finds the
time to implement shared library support in the runtime, the 
situation

might have already changed anyway.


In general Apple tries to push you to have always have the 
latest software. There are very few reasons to not have the 
latest OS, they are pretty darn cheap.


Mandatory : 
http://www.gizmodo.fr/wp-content/uploads/2011/02/update_for_your_computer.jpg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 21:30, David Nadlinger wrote:


I don't know the current relative market share of the different OS X
versions on top of my head either, but as we were getting a couple of
bug reports from people who had tried to use LDC 2 on 10.6 (before we
figured out that LLVM doesn't emulate TLS there), I guess it's too soon
to drop support for it still. However, when finally somebody finds the
time to implement shared library support in the runtime, the situation
might have already changed anyway.


In general Apple tries to push you to have always have the latest 
software. There are very few reasons to not have the latest OS, they are 
pretty darn cheap.


--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 21:17, Russel Winder wrote:


As far as I am aware white MacBooks cannot run 10.7 and 10.8, but are
stuck at 10.6


I'm running 10.7 on my white MacBook from 2006.

--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-07 Thread deadalnix

On Tuesday, 8 January 2013 at 05:29:15 UTC, Nick Sabalausky wrote:

On Mon, 07 Jan 2013 17:18:11 -0800
Walter Bright  wrote:


On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
> On Thu, 03 Jan 2013 17:08:58 +0100
> "deadalnix"  wrote:
>>
>> However, it is just to discover that this do not work :
>>
>> struct Bar {}
>> auto foo(ref Bar bar) {}
>>
>> foo(Bar()); // Now this is an error !
>>
>> I still have code broken all over the place.
>
> IIRC, they tried to include this change in 2.060 (or was it 
> 2.059?),
> but due to the major problems it causes, and the fact that 
> it *does*
> make sense to use a temporary as an lvalue if you don't 
> intend to
> use it again afterwords, there was a big discussion about it 
> on the
> beta list and it was ultimately nixed. I'm disappointed to 
> see that

> it snuck back.
>

Well, fixing the rvalue ref problem is still on the front 
burner.


Wait, so are you saying that the above code which stopped 
working in

2.061 will start working again in a later version?


No, I think he meant that breaking that code was actually fixing 
the language because it shouldn't have worked in a first place 
(thing I disagree with but I understand the reasoning).


Re: D 1.076 and 2.061 release

2013-01-07 Thread Nick Sabalausky
On Mon, 07 Jan 2013 17:18:11 -0800
Walter Bright  wrote:

> On 1/7/2013 3:19 PM, Nick Sabalausky wrote:
> > On Thu, 03 Jan 2013 17:08:58 +0100
> > "deadalnix"  wrote:
> >>
> >> However, it is just to discover that this do not work :
> >>
> >> struct Bar {}
> >> auto foo(ref Bar bar) {}
> >>
> >> foo(Bar()); // Now this is an error !
> >>
> >> I still have code broken all over the place.
> >
> > IIRC, they tried to include this change in 2.060 (or was it 2.059?),
> > but due to the major problems it causes, and the fact that it *does*
> > make sense to use a temporary as an lvalue if you don't intend to
> > use it again afterwords, there was a big discussion about it on the
> > beta list and it was ultimately nixed. I'm disappointed to see that
> > it snuck back.
> >
> 
> Well, fixing the rvalue ref problem is still on the front burner.

Wait, so are you saying that the above code which stopped working in
2.061 will start working again in a later version?



Re: D 1.076 and 2.061 release

2013-01-07 Thread deadalnix

On Monday, 7 January 2013 at 01:29:02 UTC, Brad Roberts wrote:
Does anyone know of any mechanism for getting people to do what 
needs to be done vs what they want to do that doesn't
involve paying them?  The only long term successes I can point 
to all involve companies.


You cannot achieve this without actually employing people. People 
on their free time ill work on whatever they want, and hopefully !


Re: D 1.076 and 2.061 release

2013-01-07 Thread Pierre Rouleau

On 13-01-07 9:12 AM, Matthew Caron wrote:

On 01/07/2013 08:09 AM, Pierre Rouleau wrote:

It would be nice to have bug fixes separated from new feature
introductions by having major and minor releases and branches for these
releases.  Contributors of a release could backport bug fix in the
release they use if that was required by their project using the now old
compiler version.

Of course I realize that this means more overall work, more people,
someone or a set of people in charge of release management, etc...


I also think that you'd be hard-pressed to find anyone who does
development like that, proprietary or open source. It's not uncommon to
have bugfix only releases, but having a new features release that
doesn't fix any bugs is, in my experience, unheard of.


I agree that feature releases mostly also contain bug fixes. I should 
have said, and I was thinking about proposing a process where minor 
releases that would only include bug fixes, and where major releases 
would mainly introduce new features but would also include some bug fixes.


At work this is exactly what we do. And today, at work, I was just in a 
meeting evaluating bugs to identify bugs that will be fixed in a release 
of our product that will only contain bug fixes.  The fixes that are 
selected where selected based on their severity, the impact they have on 
end-users and the time it takes to fix them.


And maybe an alpha process suggested by Jonathan M. Davis is a better idea.



Also, I'd be STRONGLY against it, because I have a fix bugs first
mentality, and if you find a bug while implementing a new feature, it
should be fixed.



In my work I also have a bug-fix first mentality and I push for that 
everyday. I strongly agree with that. All I was suggesting (or checking 
if this is the way this group handles it) is whether bug fixes are 
isolated from feature implementations (and I assume they are since they 
are separate Bugzilla tickets).


And at work, when a new feature is implemented and a bug is found during 
the process of developing that feature the first thing that is done is 
to create a _separate_ bug report ticket (separate from the ticket that 
request the introduction of the new feature or enhancement) to identify 
the presence of that bug if that bug affects release code.  The releases 
the bug affects are identified and typically within a week, the bug is 
"scrubbed" in a meeting where people with different roles attend.  The 
priority and severity of the bug is discussed, and the release version 
for the fix is identified in a forecast. Developer(s) have to estimate 
the time it will take to fix the bug (as is done for every ticket in our 
bug tracking system (bug fix, feature implementation, enhancement, 
etc...).  A test case is also created for the bug since it was an escape 
from the test plan/integration test/unit test side of things.


The bug is fixed, regression tested and the new feature is implemented 
on top of the bug fix.  The sequence of events may differ depending on 
how we want to handle things with the VCS we use and the moment of the 
event respective to the product release plan.


I am not suggesting to not fix a bug found when a new feature is 
introduced. I was trying to propose something that would help 
predictability and stability.


Now I understand that I am comparing a commercial product development 
with an open source project here.  But I am also comparing what a user 
*sees* from other projects that are used where I work; the PR part, the 
marketing material that help sells the product to people.  When I look 
at Python and Erlang for instance, those two projects seem, I say seem 
(from the user's perspective) to provide more information to the user's 
base in terms of those two criteria of predictability and stability 
simply because of the various documents provided and release strategies 
one can see from the evolution of their projects.


It possibly is only a matter of perception and Public Relations but D2 
first release was done June 17, 2007 which is over 5 years and six 
months ago.  I see nothing in the release version number that gives any 
outsider a vision of the stability of D2 or it's evolution 
milestone-wise.  The first release number was D 2.000 and we are 66 
months later at version 2.061. That's about a release a month.  How can 
an outside user see the major milestones in those 5 years and a half?  I 
imagine that some of you guys remember what were the significant 
releases, you have been living with it for those last 66 months.  But 
how can you convince potential new users to use it in projects where 
manpower is also limited and continuous updates may not be possible? 
How can they see that its stabilizing? How many more releases may affect 
the development of products?  In June 2007 I was using Python 2.5.1, 
Python 2.7.3 and 3.3.0 are the two official releases now.  All of these 
versions have had bug fix (and security) releases independently of the 

Re: D 1.076 and 2.061 release

2013-01-07 Thread Andrei Alexandrescu

On 1/7/13 12:39 PM, Johannes Pfau wrote:

Am Mon, 07 Jan 2013 19:39:52 +0100
schrieb Jacob Carlborg:


On 2013-01-07 19:29, Andrei Alexandrescu wrote:


It's less structured than a roadmap but maybe that's what would
make it tenable!


It would be like a roadmap without the timeline. That's a lot better
than nothing.



aka TO-DO list


unprioritized


Re: D 1.076 and 2.061 release

2013-01-07 Thread Walter Bright

On 1/7/2013 3:19 PM, Nick Sabalausky wrote:

On Thu, 03 Jan 2013 17:08:58 +0100
"deadalnix"  wrote:


However, it is just to discover that this do not work :

struct Bar {}
auto foo(ref Bar bar) {}

foo(Bar()); // Now this is an error !

I still have code broken all over the place.


IIRC, they tried to include this change in 2.060 (or was it 2.059?),
but due to the major problems it causes, and the fact that it *does*
make sense to use a temporary as an lvalue if you don't intend to use
it again afterwords, there was a big discussion about it on the beta
list and it was ultimately nixed. I'm disappointed to see that it snuck
back.



Well, fixing the rvalue ref problem is still on the front burner.


Re: D 1.076 and 2.061 release

2013-01-07 Thread Nick Sabalausky
On Thu, 03 Jan 2013 17:08:58 +0100
"deadalnix"  wrote:
> 
> However, it is just to discover that this do not work :
> 
> struct Bar {}
> auto foo(ref Bar bar) {}
> 
> foo(Bar()); // Now this is an error !
> 
> I still have code broken all over the place.

IIRC, they tried to include this change in 2.060 (or was it 2.059?),
but due to the major problems it causes, and the fact that it *does*
make sense to use a temporary as an lvalue if you don't intend to use
it again afterwords, there was a big discussion about it on the beta
list and it was ultimately nixed. I'm disappointed to see that it snuck
back.



Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Walter Bright

On 1/7/2013 12:12 PM, Jacob Carlborg wrote:

On 2013-01-07 20:54, Walter Bright wrote:


It's pretty clear where we'll be going with this. We'll be abandoning OS
X versions older than 10.7.


Would it be a bad idea and do what the dynamic linker does in the druntime to
support TLS? This would make it work on Mac OS X 10.6.


I don't think it's worth the effort. We don't have the resources to expend on 
platforms that are already obsolete.




I don't know enough about the Mac ecosystem to know when we can pull the
plug on that.


Me neither. Mac OS X 10.6 was released August 28, 2009. There have been two
major releases since then.


Sounds like we can pull the plug.



Re: D 1.076 and 2.061 release

2013-01-07 Thread Walter Bright

On 1/7/2013 11:40 AM, Leandro Lucarella wrote:

Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:

One thing I want to do is enshrine a vetting mechanism that would
allow Walter and myself to "pre-approve" enhancement requests.
Someone (including us) would submit an enhancement request to
Bugzilla, and then Walter and I add the tag "preapproved" to it.
That means an implementation of the request has our approval
assuming it has the appropriate quality.


BTW, I wouldn't mind if you like to try this out with issue 7044 (see the pull
request for more comments), which is really annoying us at work but I never got
to fix because the lack of feedback (a perfect example of somebody willing,
almost craving, to fix something and not doing it because of the lack of
feedback).



At this point, reading the discussions in the links, I don't know just what the 
latest proposal is.


https://github.com/D-Programming-Language/dmd/pull/497
http://d.puremagic.com/issues/show_bug.cgi?id=7044
http://forum.dlang.org/thread/mailman.1605.1334108859.4860.digitalmar...@puremagic.com


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread David Nadlinger

On Monday, 7 January 2013 at 19:54:54 UTC, Walter Bright wrote:

On 1/7/2013 4:41 AM, David Nadlinger wrote:
Yes, it is not supported by linker and dyld versions shipping 
with OS X 10.7.


Sorry, I wrote my last post in a hurry – I suppose it's clear 
anyway, but that should have been »by the linker and dyld 
versions Apple shipped with OS X prior to 10.7«.


This is also the reason why LDC 2 only supports OS X 10.7+, as 
LLVM does not
implement a workaround for older versions (although 
implementing one up to the
point where it is good enough for D should be doable without 
too much effort).


It's pretty clear where we'll be going with this. We'll be 
abandoning OS X versions older than 10.7.


I don't know enough about the Mac ecosystem to know when we can 
pull the plug on that.


I don't know the current relative market share of the different 
OS X versions on top of my head either, but as we were getting a 
couple of bug reports from people who had tried to use LDC 2 on 
10.6 (before we figured out that LLVM doesn't emulate TLS there), 
I guess it's too soon to drop support for it still. However, when 
finally somebody finds the time to implement shared library 
support in the runtime, the situation might have already changed 
anyway.


David


Re: D 1.076 and 2.061 release

2013-01-07 Thread Johannes Pfau
Am Mon, 07 Jan 2013 19:39:52 +0100
schrieb Jacob Carlborg :

> On 2013-01-07 19:29, Andrei Alexandrescu wrote:
> 
> > It's less structured than a roadmap but maybe that's what would
> > make it tenable!
> 
> It would be like a roadmap without the timeline. That's a lot better 
> than nothing.
> 

aka TO-DO list


Re: D 1.076 and 2.061 release

2013-01-07 Thread Walter Bright

On 1/7/2013 8:31 AM, Andrei Alexandrescu wrote:

Walter can write a roadmap, nobody will listen to him.

One thing that few people know is that Walter and I have tried to kindly
convince people to work on specific things we believed were important. Such
attempts have been largely unsuccessful.


True. Another thing that's been a bit frustrating to me is people regularly ask 
me (or the ng) "what should I work on?" I provide a list, and they go do 
something else.


The reality is that, in a volunteer community, people work on what interests 
themselves. Finding ways to work successfully with that dynamic is the big 
challenge we face.


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Russel Winder
On Mon, 2013-01-07 at 21:12 +0100, Jacob Carlborg wrote:
> On 2013-01-07 20:54, Walter Bright wrote:
> 
> > It's pretty clear where we'll be going with this. We'll be abandoning OS
> > X versions older than 10.7.
> 
> Would it be a bad idea and do what the dynamic linker does in the 
> druntime to support TLS? This would make it work on Mac OS X 10.6.
> 
> > I don't know enough about the Mac ecosystem to know when we can pull the
> > plug on that.
> 
> Me neither. Mac OS X 10.6 was released August 28, 2009. There have been 
> two major releases since then.

As far as I am aware white MacBooks cannot run 10.7 and 10.8, but are
stuck at 10.6

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


signature.asc
Description: This is a digitally signed message part


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 20:54, Walter Bright wrote:


It's pretty clear where we'll be going with this. We'll be abandoning OS
X versions older than 10.7.


Would it be a bad idea and do what the dynamic linker does in the 
druntime to support TLS? This would make it work on Mac OS X 10.6.



I don't know enough about the Mac ecosystem to know when we can pull the
plug on that.


Me neither. Mac OS X 10.6 was released August 28, 2009. There have been 
two major releases since then.


--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-07 Thread Leandro Lucarella
Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:
> One thing I want to do is enshrine a vetting mechanism that would
> allow Walter and myself to "pre-approve" enhancement requests.
> Someone (including us) would submit an enhancement request to
> Bugzilla, and then Walter and I add the tag "preapproved" to it.
> That means an implementation of the request has our approval
> assuming it has the appropriate quality.

BTW, I wouldn't mind if you like to try this out with issue 7044 (see the pull
request for more comments), which is really annoying us at work but I never got
to fix because the lack of feedback (a perfect example of somebody willing,
almost craving, to fix something and not doing it because of the lack of
feedback).

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
--
Soy como una mosca, parada en el agua.
Y vos sos un transatlántico, querés nadar a mi lado.
Y me estás ahogando.


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Walter Bright

On 1/7/2013 4:41 AM, David Nadlinger wrote:

On Monday, 7 January 2013 at 10:14:54 UTC, Robert Clipsham wrote:

Though I believe it will probably fail with older OS X versions which don't
have TLS support.


Yes, it is not supported by linker and dyld versions shipping with OS X 10.7.
This is also the reason why LDC 2 only supports OS X 10.7+, as LLVM does not
implement a workaround for older versions (although implementing one up to the
point where it is good enough for D should be doable without too much effort).


It's pretty clear where we'll be going with this. We'll be abandoning OS X 
versions older than 10.7.


I don't know enough about the Mac ecosystem to know when we can pull the plug on 
that.




Re: D 1.076 and 2.061 release

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 19:29, Andrei Alexandrescu wrote:


It's less structured than a roadmap but maybe that's what would make it
tenable!


It would be like a roadmap without the timeline. That's a lot better 
than nothing.


--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-07 Thread Andrei Alexandrescu

On 1/7/13 9:51 AM, Leandro Lucarella wrote:

Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:

Why would I bother to do anything if is very likely that Walter don't want
to go that direction and all my work was done for nothing? Been there
before. Now I'm more cautious when selecting my battles.


One thing I want to do is enshrine a vetting mechanism that would
allow Walter and myself to "pre-approve" enhancement requests.
Someone (including us) would submit an enhancement request to
Bugzilla, and then Walter and I add the tag "preapproved" to it.
That means an implementation of the request has our approval
assuming it has the appropriate quality.

That should reduce the cognitive load ("am I working for nothing
over here?") on the proponent of the feature and would also motivate
the proponent to define the feature with reasonable completeness
before implementing it.


I think that would help a *LOT*. So basically this tag would mean
something like: If somebody implement this AND the implementation is
complete AND it has good quality, it will be in the next release?


Yah, that's the idea.


If so, that's not too far from roadmap.


It's less structured than a roadmap but maybe that's what would make it 
tenable!



Andrei


Re: D 1.076 and 2.061 release

2013-01-07 Thread Leandro Lucarella
Andrei Alexandrescu, el  7 de January a las 08:31 me escribiste:
> >Why would I bother to do anything if is very likely that Walter don't want
> >to go that direction and all my work was done for nothing? Been there
> >before. Now I'm more cautious when selecting my battles.
> 
> One thing I want to do is enshrine a vetting mechanism that would
> allow Walter and myself to "pre-approve" enhancement requests.
> Someone (including us) would submit an enhancement request to
> Bugzilla, and then Walter and I add the tag "preapproved" to it.
> That means an implementation of the request has our approval
> assuming it has the appropriate quality.
> 
> That should reduce the cognitive load ("am I working for nothing
> over here?") on the proponent of the feature and would also motivate
> the proponent to define the feature with reasonable completeness
> before implementing it.

I think that would help a *LOT*. So basically this tag would mean
something like: If somebody implement this AND the implementation is
complete AND it has good quality, it will be in the next release?

If so, that's not too far from roadmap.

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
--
22% of the time a pizza will arrive faster than an ambulance in
Great-Britain


Re: D 1.076 and 2.061 release

2013-01-07 Thread Nick Sabalausky
On Mon, 07 Jan 2013 07:57:07 -0500
Matthew Caron  wrote:

> On 01/05/2013 03:01 AM, Nick Sabalausky wrote:
> > On Thu, 03 Jan 2013 08:20:19 -0500
> > Matthew Caron  wrote:
> >
> >> On 01/02/2013 04:18 PM, Walter Bright wrote:
>  Why would you need to? If your mail store is IMAP, just let it
>  rebuild.
> >>>
> >>> I don't store email on the server, I store it locally.
> >>
> >> I gave that up years ago when I ended up with more than one device.
> >> Too much "did I get that email on my laptop or my desktop?" And now
> >> with tablet, phone, laptop, desktop, and several kiosk machines
> >> around the house (because how else do you watch Firefly whilst
> >> loading custom hunting ammunition in the gun room?) and then the
> >> device proliferation continues...
> >>
> >
> > Turn off "Delete email from server ten seconds after downloading
> > it". Either increase it to a sane time period, or disable
> > delete-from-server entirely. Problem solved. Worked fine for me.
> 
> Isn't this just "leave email on the server", which is what I
> suggested?
> 
> Of course, what you're saying is "use POP with leave on server
> enabled". A better solution is to just use IMAP.
> 
> > Accessing *sent* messages can be a different story though, but using
> > your email client's setting for "BCC outgoing messages to..." to
> > send to a special "messages I sent" address works well enough.
> > Unless you need to use some shitty Fisher-Price email client like
> > the one in iOS, because then you're just fucked. (But if you need
> > to rely on iOS, you'll probably have bigger problems anyway.)
> 
> Or, you just use IMAP.
> 

I don't think you get a local copy of everything with IMAP though, or do
you?

> >> Windows is only
> >> suitable for playing video games, and I'm looking forward to
> >> Steam's release for Linux such that I can power on the Wintendo
> >> less and less.
> >
> > Steam on Linux? That's like installing hydraulics on a Formula 1
> > or a rusty nail in a jock strap. Nothing that involves "Steam" is
> > suitable for playing videogames, whether Win/Lin or anything else.
> 
> It's view it as an online shop which allows you to buy and install
> games for your platform.

That view is the problem. Steam is *not* merely an online store, Steam
(just like iOS) is DRM made cool. And that asshole Newell has managed
to brainwash people into actually believing that Steam isn't DRM which
is patently absurd.

And as a "bonus", the Steam client itself is a very poorly written
piece of shitware. Slow, buggy, ugly, refuses to close when I click
the "close" button (one of those asinine programs like Skype that has
decided "Close" should mean "Minimize to tray" and shouldn't even be
optionally fixable).

Steam is NOT simply a store with community crap. And that fact that so
many sheep think that it is, is a big part of what makes Steam and
Newell so evil.

> I have no issue with this. I don't use all
> the fancy extra social video game crap.
> 
> > I'd be willing to *release* a game, *non-exclusively*, on steam just
> > for the visibility and for the subset of PC gamers that are
> > unfortunately dumb enough to think steam isn't DRM, but that's all
> > steam is good for. Gabe can suck the shit out of my ass for
> > destroying the last non-orwellian gaming platform in existence and
> > essentially turning it into a goddamn iPhone.
> 
> You don't have to use it, you know. There are other games. GOG.com
> has a pile, and many of them run just fine under Wine and or DosBOX.
> I'd like to see them do more Linux, and I hope that the Steam port
> will be the beginning of more entries on to the platform.
> 

GOG.com is mostly for older games (which is great, of course). But most
"PC" games that are being developed and released now are exclusively
Steam. Even a lot of retail ones (like Super Meat Boy, as I was
irritated to discover after the fact) still require Steam and won't
even run without also starting up Steam (which of course must be
installed on my system).



Re: D 1.076 and 2.061 release

2013-01-07 Thread Jonathan M Davis
On Monday, January 07, 2013 08:09:01 Pierre Rouleau wrote:
> The worst part I see is that bug fixes and new feature introductions are
> lumped together inside releases. Combined with the fact that the
> development is not predictable means that if you develop products with D
> you have to keep updating it.  If you get stuck with a bug and wait for
> the release that fixes it, when that release comes out it could very
> well bring new language features that break the code that you have
> already written.
> 
> It would be nice to have bug fixes separated from new feature
> introductions by having major and minor releases and branches for these
> releases.  Contributors of a release could backport bug fix in the
> release they use if that was required by their project using the now old
> compiler version.
> 
> Of course I realize that this means more overall work, more people,
> someone or a set of people in charge of release management, etc...

The reality of the matter is that most code breakage comes from bug fixes. New 
features rarely break much of anything, especially if you're not using them. 
Having API changes mixed in with bug fixes _can_ pose a problem, but I think 
that if you really looked into it, you'd find that stuff like UFCS and UDAs and 
whatnot have resulted in very little (if any) broken code. They may not have 
worked as well as they should have and have plenty of bugs in their 
implementation, but code which isn't using them (as code wouldn't be prior to 
their release) didn't get broken by its introduction. So, while it may be 
valuable to move to a major/minor release situation, I think that the reality 
of the matter is that it will have little effect on stability simply because 
it's bug fixes which break things - either because they fix previously buggy 
behavior (breaking any code which relied on that behavior) or because 
regressions are introduced, and while we try hard to catch those, we don't 
always manage it. And the only thing that I can think of which would do a 
better job of catching those would be a bettere beta program where the beta is 
somehow better vetted so that regressions just don't manage to get through 
(though how we'd get more people to try the beta, I don't know). Major and 
minor releases will have little effect on stability from the standpoint of the 
compiler. They could have an effect from the standpoint of API changes, but 
since we're trying to stop making breaking API changes entirely (or at least 
make them very rare), a major/minor release model probably won't help much 
there either.

- Jonathan M Davis


Re: D 1.076 and 2.061 release

2013-01-07 Thread Andrei Alexandrescu

On 1/7/13 7:47 AM, Leandro Lucarella wrote:

I can write a roadmap, but then, nobody will listen to me.


Walter can write a roadmap, nobody will listen to him.

One thing that few people know is that Walter and I have tried to kindly 
convince people to work on specific things we believed were important. 
Such attempts have been largely unsuccessful.



The reality is,
Walter is the "leader" and who decides what gets in and what not. It happened
to me before to implement stuff that doesn't get in. And that's fine. But
Walter, as a "leader" have to step up and tell where he wants to move so people
focus on the stuff that have a chance to be merged.
Otherwise the only road is forking, as it happened before. I don't think the
Tango split and now Amber are coincidences. There is a lack of leadership in D,
and talking with the community. Andrei tried to fill that leader position in
the past, and even when I have lots of differences with Andrei, I think he
successfully done that with Phobos. But he can't do that with DMD.

I agree that Walter doesn't have to do all, but at least he must be convinced
there is a value in it, and encourage it and help whoever wants to step up.


I, too, think there is value in this approach.


Why
would I bother to do anything if is very likely that Walter don't want to go
that direction and all my work was done for nothing? Been there before. Now I'm
more cautious when selecting my battles.


One thing I want to do is enshrine a vetting mechanism that would allow 
Walter and myself to "pre-approve" enhancement requests. Someone 
(including us) would submit an enhancement request to Bugzilla, and then 
Walter and I add the tag "preapproved" to it. That means an 
implementation of the request has our approval assuming it has the 
appropriate quality.


That should reduce the cognitive load ("am I working for nothing over 
here?") on the proponent of the feature and would also motivate the 
proponent to define the feature with reasonable completeness before 
implementing it.



Does anyone know of any mechanism for getting people to do what needs to be
done vs what they want to do that doesn't involve paying them?  The only long
term successes I can point to all involve companies.


I do think that D to take the next leap needs to have more (directly or
indirectly) payed development. But still that doesn't stop you from having a
plan, a tentative roadmap.


I agree, and I happen to disagree with Walter's "Fog of War" theory 
which I consider somewhat a rationalization of the simple fact he 
enjoys, like we all do, working under the haphazard of creative flow. 
Short- and medium-range plans do make sense for us, and we should put 
them together. Important stuff keeps on remaining not done because at 
the end of each release cycle we don't have a clear notion of what to 
work on next.



Andrei


Re: D 1.076 and 2.061 release

2013-01-07 Thread Leandro Lucarella
Brad Roberts, el  6 de January a las 17:28 me escribiste:
> On 1/6/2013 4:25 PM, Leandro Lucarella wrote:
> > I really hope at some point this will be addressed, and I think other
> > areas of the development process have been improved enough to think this
> > is a good moment to do so, but first management (OK, I will say it:
> > Walter) have to be convinced (or pushed) to do so. Maybe it will take 2
> > or 3 years.
> 
> Believing that Walter is the problem is minimizing the problem.  There's no
> way that a single developer can own and drive a roadmap, and that's
> essentially what Walter is.  He's NOT a company of developers.  He doesn't
> have a cadre of people that follow his instructions.
> 
> If this community feels the need for a concerted _directed_ effort, the
> community needs to step up and volunteer to produce and progress upon that
> roadmap.  The problem is that while D currently has maybe a dozen developers,
> each of them is essentially entirely self directed, following their own
> personal interests.  There's nothing inherently wrong with that, and the
> results have been useful, but those results are also semi-chaotic and
> essentially impossible to predict.

I can write a roadmap, but then, nobody will listen to me. The reality is,
Walter is the "leader" and who decides what gets in and what not. It happened
to me before to implement stuff that doesn't get in. And that's fine. But
Walter, as a "leader" have to step up and tell where he wants to move so people
focus on the stuff that have a chance to be merged.

Otherwise the only road is forking, as it happened before. I don't think the
Tango split and now Amber are coincidences. There is a lack of leadership in D,
and talking with the community. Andrei tried to fill that leader position in
the past, and even when I have lots of differences with Andrei, I think he
successfully done that with Phobos. But he can't do that with DMD.

I agree that Walter doesn't have to do all, but at least he must be convinced
there is a value in it, and encourage it and help whoever wants to step up. Why
would I bother to do anything if is very likely that Walter don't want to go
that direction and all my work was done for nothing? Been there before. Now I'm
more cautious when selecting my battles.

> Does anyone know of any mechanism for getting people to do what needs to be
> done vs what they want to do that doesn't involve paying them?  The only long
> term successes I can point to all involve companies.

I do think that D to take the next leap needs to have more (directly or
indirectly) payed development. But still that doesn't stop you from having a
plan, a tentative roadmap.

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
--
ELLA FUE INFIEL, PERO EX POLOLO PAGÓ
-- TV CHILE


Re: D 1.076 and 2.061 release

2013-01-07 Thread Matthew Caron

On 01/07/2013 08:09 AM, Pierre Rouleau wrote:

It would be nice to have bug fixes separated from new feature
introductions by having major and minor releases and branches for these
releases.  Contributors of a release could backport bug fix in the
release they use if that was required by their project using the now old
compiler version.

Of course I realize that this means more overall work, more people,
someone or a set of people in charge of release management, etc...


I also think that you'd be hard-pressed to find anyone who does 
development like that, proprietary or open source. It's not uncommon to 
have bugfix only releases, but having a new features release that 
doesn't fix any bugs is, in my experience, unheard of.


Also, I'd be STRONGLY against it, because I have a fix bugs first 
mentality, and if you find a bug while implementing a new feature, it 
should be fixed.



--
Matthew Caron, Software Build Engineer
Sixnet, a Red Lion business | www.sixnet.com
+1 (518) 877-5173 x138 office


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 09:04, Walter Bright wrote:


Please nail down what is necessary first. (BTW, I don't know how the
compiler can tell what image an address comes from. Remember, shared
libraries are loaded at runtime, not compile time.)


I'll try and do that.

--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-07 Thread Pierre Rouleau

On 13-01-07 7:49 AM, Matthew Caron wrote:

On 01/06/2013 10:18 PM, Pierre Rouleau wrote:

On 13-01-06 9:45 PM, Jonathan M Davis wrote:

On Sunday, January 06, 2013 21:22:18 Pierre Rouleau wrote:

Is this something that the most influential people in the D project
want
to fix?


What exactly do you want fixed?


Really, I would like to be able to start using D at work. And be in a
position to be able to convince people to use it.


However, this does take a
certain amount of buy in from your company management.


It does, and from other people too.


Luckily, one of
the company founders was an early embracer of Linux.


It's not the case for my situation.

The worst part I see is that bug fixes and new feature introductions are 
lumped together inside releases. Combined with the fact that the 
development is not predictable means that if you develop products with D 
you have to keep updating it.  If you get stuck with a bug and wait for 
the release that fixes it, when that release comes out it could very 
well bring new language features that break the code that you have 
already written.


It would be nice to have bug fixes separated from new feature 
introductions by having major and minor releases and branches for these 
releases.  Contributors of a release could backport bug fix in the 
release they use if that was required by their project using the now old 
compiler version.


Of course I realize that this means more overall work, more people, 
someone or a set of people in charge of release management, etc...




--
/Pierre Rouleau


Re: D 1.076 and 2.061 release

2013-01-07 Thread Matthew Caron

On 01/05/2013 03:01 AM, Nick Sabalausky wrote:

On Thu, 03 Jan 2013 08:20:19 -0500
Matthew Caron  wrote:


On 01/02/2013 04:18 PM, Walter Bright wrote:

Why would you need to? If your mail store is IMAP, just let it
rebuild.


I don't store email on the server, I store it locally.


I gave that up years ago when I ended up with more than one device.
Too much "did I get that email on my laptop or my desktop?" And now
with tablet, phone, laptop, desktop, and several kiosk machines
around the house (because how else do you watch Firefly whilst
loading custom hunting ammunition in the gun room?) and then the
device proliferation continues...



Turn off "Delete email from server ten seconds after downloading it".
Either increase it to a sane time period, or disable delete-from-server
entirely. Problem solved. Worked fine for me.


Isn't this just "leave email on the server", which is what I suggested?

Of course, what you're saying is "use POP with leave on server enabled". 
A better solution is to just use IMAP.



Accessing *sent* messages can be a different story though, but using
your email client's setting for "BCC outgoing messages to..." to send
to a special "messages I sent" address works well enough. Unless you
need to use some shitty Fisher-Price email client like the one in iOS,
because then you're just fucked. (But if you need to rely on iOS,
you'll probably have bigger problems anyway.)


Or, you just use IMAP.


Windows is only
suitable for playing video games, and I'm looking forward to Steam's
release for Linux such that I can power on the Wintendo less and
less.


Steam on Linux? That's like installing hydraulics on a Formula 1
or a rusty nail in a jock strap. Nothing that involves "Steam" is
suitable for playing videogames, whether Win/Lin or anything else.


It's view it as an online shop which allows you to buy and install games 
for your platform. I have no issue with this. I don't use all the fancy 
extra social video game crap.



I'd be willing to *release* a game, *non-exclusively*, on steam just
for the visibility and for the subset of PC gamers that are
unfortunately dumb enough to think steam isn't DRM, but that's all
steam is good for. Gabe can suck the shit out of my ass for destroying
the last non-orwellian gaming platform in existence and
essentially turning it into a goddamn iPhone.


You don't have to use it, you know. There are other games. GOG.com has a 
pile, and many of them run just fine under Wine and or DosBOX. I'd like 
to see them do more Linux, and I hope that the Steam port will be the 
beginning of more entries on to the platform.


(Of course, I thought the same thing about Loki)
--
Matthew Caron, Software Build Engineer
Sixnet, a Red Lion business | www.sixnet.com
+1 (518) 877-5173 x138 office


Re: D 1.076 and 2.061 release

2013-01-07 Thread Matthew Caron

On 01/06/2013 10:18 PM, Pierre Rouleau wrote:

On 13-01-06 9:45 PM, Jonathan M Davis wrote:

On Sunday, January 06, 2013 21:22:18 Pierre Rouleau wrote:

Is this something that the most influential people in the D project want
to fix?


What exactly do you want fixed?


Really, I would like to be able to start using D at work. And be in a
position to be able to convince people to use it.


I found myself in the same position. My argument was:
 1. There is a clear language reference
 2. There are multiple implementations (DMD, GDC)
 3. D has a lot of really nice features that make it better than C

Now, you have to bear in mind, we don't do bytecode compiled languages 
that run on a VM - it's just not our thing, we use too much real 
hardware. Basically, D gives us all the fancy nice Java and C# features 
while letting us access real hardware without having to write a C shim 
to do it.


We do not require a fancy cohesive roadmap, because we realize it's a 
FLOSS project and is therefore subject to the whims of its developers. 
If we want to influence said development, then we'll jump in or issue a 
bounty for things to be fixed.


In the grand scheme of things, we've found this strategy to produce more 
time savings and value than it consumes. However, this does take a 
certain amount of buy in from your company management. Luckily, one of 
the company founders was an early embracer of Linux.


--
Matthew Caron, Software Build Engineer
Sixnet, a Red Lion business | www.sixnet.com
+1 (518) 877-5173 x138 office


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread David Nadlinger

On Monday, 7 January 2013 at 10:14:54 UTC, Robert Clipsham wrote:
Though I believe it will probably fail with older OS X versions 
which don't have TLS support.


Yes, it is not supported by linker and dyld versions shipping 
with OS X 10.7. This is also the reason why LDC 2 only supports 
OS X 10.7+, as LLVM does not implement a workaround for older 
versions (although implementing one up to the point where it is 
good enough for D should be doable without too much effort).


David



Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 11:14, Robert Clipsham wrote:


Note that this no longer appears to be the case, at least with clang (OS
X 10.7.5):


Mac OS X Lion (10.7) got support for TLS. But that means that the whole 
TLS needs to be redone in the compiler (output data to correct segments 
and similar) and in the runtime. The compiler would also need to be able 
to fallback to emulating as it currently does or we will loose the 
support for Mac OS X 10.6. Alternatively it might be possible to run the 
"real" TLS on Mac OS X 10.6 but then we would need to implement some 
parts of the dynamic linker into the D runtime.


--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Robert Clipsham

On Sunday, 6 January 2013 at 23:19:48 UTC, Walter Bright wrote:
DMD implements its own TLS on OS X because the OS X C compiler 
says "not implemented" when you try to create TLS variables. I 
had no other option.


Note that this no longer appears to be the case, at least with 
clang (OS X 10.7.5):


#include 
__thread int foo;
int main(){
foo = 4;
printf("%d\n", foo);
}

$ clang test.c
$ ./a.out
4
$ clang --version
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on 
LLVM 3.1svn)

Target: x86_64-apple-darwin11.4.2
Thread model: posix

(llvm-)gcc still complains:
$ gcc test.c
test.c:2: error: thread-local storage not supported for this 
target

$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. 
build 5658) (LLVM build 2336.11.00)

Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  
There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE.



Though I believe it will probably fail with older OS X versions 
which don't have TLS support.


Robert


Re: D 1.076 and 2.061 release

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 01:36, Walter Bright wrote:


The thing is, roadmaps are a lot like planning for a war. The moment the
first shot is fired, all the plans go out the window. What we need to
get done next is a constantly evolving situation, based on:


On occasion developer are asking what they can work on and then we don't 
have a roadmap to point to.


--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Walter Bright

On 1/6/2013 11:57 PM, Jacob Carlborg wrote:

On 2013-01-07 01:25, Walter Bright wrote:


Sean would be the main one, but really anyone who is willing to get down
and dirty with threads and such can do it.


Martin Nowak has already started on this, it seems he know what he's doing:

https://github.com/dawgfoto/druntime/tree/SharedRuntime



That's good to hear.


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Walter Bright

On 1/6/2013 11:57 PM, Jacob Carlborg wrote:

On 2013-01-07 00:14, Walter Bright wrote:


Where it is not implemented is in druntime. The folks who work on
druntime are the ones that need convincing.


I didn't know you had stopped working on the runtime.


I now focus on the compiler, though I'll contribute now and then on the library.


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Walter Bright

On 1/6/2013 11:51 PM, Jacob Carlborg wrote:

On 2013-01-07 00:19, Walter Bright wrote:


I have fixed every single PIC implementation compiler problem that has
been brought to my attention. If there are others, I am not aware of
them. Please let me know the bugzilla issue numbers for any I have missed.


I know you have. The problem is that there might be necessary to do some changes
to the compiler. That doesn't mean there is a bug.


I'm sorry, but I can't do anything with that statement.



The OS X TLS implementation is all done in druntime.


Not 100%. I'm thinking of the __tls_get_addr function which the compiler calls:

https://github.com/D-Programming-Language/druntime/blob/master/src/core/thread.d#L4549


Yes, it defers it all to druntime by calling a druntime function.



That function needs to know which image the given address belongs to. I think
that the compiler needs to supply that, in addition to the address, but I'm not
sure. If it does it requires a change in the compiler.

I can add this to bugzilla.


Please nail down what is necessary first. (BTW, I don't know how the compiler 
can tell what image an address comes from. Remember, shared libraries are loaded 
at runtime, not compile time.)




Nevertheless, this does not impact Linux nor FreeBSD.


Mac OS X is my main platform. It's natural that I try to get it to work there
first.


No prob. I'll be happy to make compiler mods as necessary, once the exact 
problems are identified.




Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 01:25, Walter Bright wrote:


Sean would be the main one, but really anyone who is willing to get down
and dirty with threads and such can do it.


Martin Nowak has already started on this, it seems he know what he's doing:

https://github.com/dawgfoto/druntime/tree/SharedRuntime

--
/Jacob Carlborg


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-07 Thread Jacob Carlborg

On 2013-01-07 00:14, Walter Bright wrote:


Where it is not implemented is in druntime. The folks who work on
druntime are the ones that need convincing.


I didn't know you had stopped working on the runtime.

--
/Jacob Carlborg


Re: Managing email [ was Re: D 1.076 and 2.061 release ]

2013-01-07 Thread Nick Sabalausky
On Sun, 6 Jan 2013 11:42:53 -0500
Nick Sabalausky  wrote:
> 
> Like browsers, for instance. When Microsoft had their browser merely
> uninstallable...

Erm... s/uninstallable/non-uninstallable/ (unless I'm remembering
wrong)


Re: Shared Libraries [was Re: D 1.076 and 2.061 release]

2013-01-06 Thread Jacob Carlborg

On 2013-01-07 00:19, Walter Bright wrote:


I have fixed every single PIC implementation compiler problem that has
been brought to my attention. If there are others, I am not aware of
them. Please let me know the bugzilla issue numbers for any I have missed.


I know you have. The problem is that there might be necessary to do some 
changes to the compiler. That doesn't mean there is a bug.



DMD implements its own TLS on OS X because the OS X C compiler says "not
implemented" when you try to create TLS variables. I had no other option.


Yeah, I know. I'm not complaining.


The OS X TLS implementation is all done in druntime.


Not 100%. I'm thinking of the __tls_get_addr function which the compiler 
calls:


https://github.com/D-Programming-Language/druntime/blob/master/src/core/thread.d#L4549

That function needs to know which image the given address belongs to. I 
think that the compiler needs to supply that, in addition to the 
address, but I'm not sure. If it does it requires a change in the compiler.


I can add this to bugzilla.


Nevertheless, this does not impact Linux nor FreeBSD.


Mac OS X is my main platform. It's natural that I try to get it to work 
there first.


--
/Jacob Carlborg


Re: D 1.076 and 2.061 release

2013-01-06 Thread Walter Bright

On 1/6/2013 7:30 PM, Pierre Rouleau wrote:

Understood, that's pretty much always the case for any programming language.
Now, for someone from the outside, how would someone know what are the latest
features?


In the changelog, click on New/Changed Features.


Would it be possible to identify the version number where a particular feature
has been introduced in the Language Reference?  If not, since this is DDoc
based, is it possible for someone to go back in the github repo file history to
identify what was added in the Language Reference files between release to
releases and document this somehow?


If you can't find it in the changelog under New/Changed Features, you can look 
in github for it which has a complete history.




Re: D 1.076 and 2.061 release

2013-01-06 Thread Pierre Rouleau

On 13-01-06 9:41 PM, Walter Bright wrote:

On 1/6/2013 6:15 PM, Pierre Rouleau wrote:

So, given that enhancements are identified in Bugzilla, is there a review
process?  Are ticket priorities and vote used?  Who decides what is
the priority
of an enhancement?   Who assigns them?


Pretty much anyone who wants to take one of them on does so and when
done, issues a pull request for it. At that point, there's a general
discussion of it and a decision is reached, usually by consensus.



Also, given that view on the development of D, what is the position on
the
evolution of the language in context with backward compatibility and
stability?   How can an organization of D users that are not also D
developers
can plan a project and use D for it?

Do you consider D stable enough for outside users/organizations to
start using
it in their own projects?


Yes, and it is used heavily for commercial purposes by at least a couple
companies.

Like any other language, if you insist on using the latest feature and
pushing it to the limit, you are more likely to run into problems than
if you are a bit more modest in your use of it.

Understood, that's pretty much always the case for any programming 
language.  Now, for someone from the outside, how would someone know 
what are the latest features?


Would it be possible to identify the version number where a particular 
feature has been introduced in the Language Reference?  If not, since 
this is DDoc based, is it possible for someone to go back in the github 
repo file history to identify what was added in the Language Reference 
files between release to releases and document this somehow?



That said, we make a large effort to fix all regressions upon each
release, and I push hard to avoid making breaking changes to the
language unless it is really unavoidable.



And I can imagine it's a lot of work...


--
/Pierre Rouleau


Re: D 1.076 and 2.061 release

2013-01-06 Thread Pierre Rouleau

On 13-01-06 9:35 PM, Jonathan M Davis wrote:

On Sunday, January 06, 2013 21:15:43 Pierre Rouleau wrote:

So, given that enhancements are identified in Bugzilla, is there a
review process?  Are ticket priorities and vote used?  Who decides what
is the priority of an enhancement?   Who assigns them?


There's pretty much never any assigning of issues in D's developement.
Developers work on whatever they feel like working on. An enhancement request
gets implemented, because someone decided to put the time in to implement it.
If it's controversial, then it'll generally get discussed in the newsgroup,
though some of that is likely to take place in the bug report itself or in a
pull request if the developer implements it without discussing it first. Large
language changes always get major discussions, but we also don't get a lot of
those at this point. It's mostly little stuff.


Also, given that view on the development of D, what is the position on
the evolution of the language in context with backward compatibility and
stability?


We're trying to reach the point where you can count on your code compiling for
years without changing it. We're getting there, but it doens't always happen.
Even fixing bugs breaks code when code relies on buggy behavior. There's also
still some API changes in Phobos which breaks stuff, but we've been cutting
back on those and trying to avoid them, so they happen much less now then they
used to. The recent change to make deprecated warn instead of giving an error
should help with that.


How can an organization of D users that are not also D
developers can plan a project and use D for it?

Do you consider D stable enough for outside users/organizations to start
using it in their own projects?


It's stable enough as long as you're continually working on your code. If you
let it sit for a long period of time, you're likely to need the same compiler
and library version that you used when you last worked on it. Breakages are
_far_ fewer than they used to be, but they still happen. I'd expect that
anyone using D seriously for professional development would stick to one
version of the compiler for a while and then upgrade it when they have time to
update their code (which they may not need to do, but it's still not quite to
the point that there isn't at least a decent chance that a few lines of code
will have to be changed).

API breakage does occur sometimes, but we're making an effort to keep that to a
minumum, and we'd like to get rid of it completely. But regardless, I believe
that most breakages at this point are due to bug fixes, so when we'll reach the
point that you can really expect your code to continue to compile for years on
newer compilers without trouble, I don't know. That may depend primarily on
the bugs that we have left and how well regressions get caught. The work
that's currently being done on formalizing and ironing out the release process
should help with that though.

- Jonathan M Davis


Thank you for the info!

--
/Pierre Rouleau


Re: D 1.076 and 2.061 release

2013-01-06 Thread Pierre Rouleau

On 13-01-06 9:45 PM, Jonathan M Davis wrote:

On Sunday, January 06, 2013 21:22:18 Pierre Rouleau wrote:

Is this something that the most influential people in the D project want
to fix?


What exactly do you want fixed?


Really, I would like to be able to start using D at work. And be in a 
position to be able to convince people to use it.



Sure, it would be great if we could know when
certain things are going to be implemented or fixed, but without people to work
on them, we can't know when that's going to happen. A lack of time and of
manpower are frequently the problem here. And if you want a particular problem
fixed, someone else wants another one fixed. Frequently, both could be
considered high priority, and the developers only have so much time. Also,
it's frequently the case that specific people are needed to fix specific issues 
-
especially if we don't have new people stepping up to the plate and learning
how to do stuff - creating an even greater bottleneck.

Maybe we could get some sort of consensus on what the biggest issues are and
try and get people to focus on those, but frequently, what we really need is
for someone to step up and spend the time necessary to fix the issue. When that
happens, stuff gets done. When it doesn't, it doesn't really matter what the
biggest issues are, because there's a lack of manpower to fix them. And
frequently, each major issue requires a different set of expertise, making it
hard to for someone or even a small group of someones to work on all of the
major issues. And we only have a small group of someones.

So, if you have any suggestions on how to improve the process or otherwise
help us get stuff done, great. If you think that there's something that we can
do to better encourage participation, we're all ears. For instance, the
release process is currently being adjusted precisely because people thought
that it was a major issue and have spent the time to work out what should be
done about it. But to a great extent, I don't think we necessarily know what
needs to be changed or how it should be changed. Good ideas are required, and
we're tight enough on time and manpower as it is just trying to get done
everything that we know needs to get done.

Almost always, the key is for someone who's passionate about something to get
involved and make sure that it gets done.



And I understand and agree on all of the above points.  I am trying to 
see what I could do.  Yes, I can start going through the list of 
tickets, try to compile some info, and eventually even become one more 
developer.  At the moment I was trying to learn more on the development 
process to get ideas on how (or whether it is possible) to improve the 
predictability aspect I would need to convince people at work on the 
usefulness of D.



For the moment, I will continue to read the lists, the Bugzilla tickets 
(and propose better titles via comments if I see opportunities to do 
so), learn how you use DDoc for the documentation, find out what is 
supported by the community and its leader (which I assume is Walter) and 
hopefully I can help a little somehow.





- Jonathan M Davis




--
/Pierre Rouleau


Re: D 1.076 and 2.061 release

2013-01-06 Thread Jonathan M Davis
On Sunday, January 06, 2013 21:22:18 Pierre Rouleau wrote:
> Is this something that the most influential people in the D project want
> to fix?

What exactly do you want fixed? Sure, it would be great if we could know when 
certain things are going to be implemented or fixed, but without people to work 
on them, we can't know when that's going to happen. A lack of time and of 
manpower are frequently the problem here. And if you want a particular problem 
fixed, someone else wants another one fixed. Frequently, both could be 
considered high priority, and the developers only have so much time. Also, 
it's frequently the case that specific people are needed to fix specific issues 
- 
especially if we don't have new people stepping up to the plate and learning 
how to do stuff - creating an even greater bottleneck.

Maybe we could get some sort of consensus on what the biggest issues are and 
try and get people to focus on those, but frequently, what we really need is 
for someone to step up and spend the time necessary to fix the issue. When that 
happens, stuff gets done. When it doesn't, it doesn't really matter what the 
biggest issues are, because there's a lack of manpower to fix them. And 
frequently, each major issue requires a different set of expertise, making it 
hard to for someone or even a small group of someones to work on all of the 
major issues. And we only have a small group of someones.

So, if you have any suggestions on how to improve the process or otherwise 
help us get stuff done, great. If you think that there's something that we can 
do to better encourage participation, we're all ears. For instance, the 
release process is currently being adjusted precisely because people thought 
that it was a major issue and have spent the time to work out what should be 
done about it. But to a great extent, I don't think we necessarily know what 
needs to be changed or how it should be changed. Good ideas are required, and 
we're tight enough on time and manpower as it is just trying to get done 
everything that we know needs to get done.

Almost always, the key is for someone who's passionate about something to get 
involved and make sure that it gets done.

- Jonathan M Davis


Re: D 1.076 and 2.061 release

2013-01-06 Thread Walter Bright

On 1/6/2013 6:15 PM, Pierre Rouleau wrote:

So, given that enhancements are identified in Bugzilla, is there a review
process?  Are ticket priorities and vote used?  Who decides what is the priority
of an enhancement?   Who assigns them?


Pretty much anyone who wants to take one of them on does so and when done, 
issues a pull request for it. At that point, there's a general discussion of it 
and a decision is reached, usually by consensus.




Also, given that view on the development of D, what is the position on the
evolution of the language in context with backward compatibility and
stability?   How can an organization of D users that are not also D developers
can plan a project and use D for it?

Do you consider D stable enough for outside users/organizations to start using
it in their own projects?


Yes, and it is used heavily for commercial purposes by at least a couple 
companies.

Like any other language, if you insist on using the latest feature and pushing 
it to the limit, you are more likely to run into problems than if you are a bit 
more modest in your use of it.


That said, we make a large effort to fix all regressions upon each release, and 
I push hard to avoid making breaking changes to the language unless it is really 
unavoidable.




Re: D 1.076 and 2.061 release

2013-01-06 Thread Jonathan M Davis
On Sunday, January 06, 2013 21:15:43 Pierre Rouleau wrote:
> So, given that enhancements are identified in Bugzilla, is there a
> review process?  Are ticket priorities and vote used?  Who decides what
> is the priority of an enhancement?   Who assigns them?

There's pretty much never any assigning of issues in D's developement. 
Developers work on whatever they feel like working on. An enhancement request 
gets implemented, because someone decided to put the time in to implement it. 
If it's controversial, then it'll generally get discussed in the newsgroup, 
though some of that is likely to take place in the bug report itself or in a 
pull request if the developer implements it without discussing it first. Large 
language changes always get major discussions, but we also don't get a lot of 
those at this point. It's mostly little stuff.

> Also, given that view on the development of D, what is the position on
> the evolution of the language in context with backward compatibility and
> stability?

We're trying to reach the point where you can count on your code compiling for 
years without changing it. We're getting there, but it doens't always happen. 
Even fixing bugs breaks code when code relies on buggy behavior. There's also 
still some API changes in Phobos which breaks stuff, but we've been cutting 
back on those and trying to avoid them, so they happen much less now then they 
used to. The recent change to make deprecated warn instead of giving an error 
should help with that.

> How can an organization of D users that are not also D
> developers can plan a project and use D for it?
> 
> Do you consider D stable enough for outside users/organizations to start
> using it in their own projects?

It's stable enough as long as you're continually working on your code. If you 
let it sit for a long period of time, you're likely to need the same compiler 
and library version that you used when you last worked on it. Breakages are 
_far_ fewer than they used to be, but they still happen. I'd expect that 
anyone using D seriously for professional development would stick to one 
version of the compiler for a while and then upgrade it when they have time to 
update their code (which they may not need to do, but it's still not quite to 
the point that there isn't at least a decent chance that a few lines of code 
will have to be changed).

API breakage does occur sometimes, but we're making an effort to keep that to a 
minumum, and we'd like to get rid of it completely. But regardless, I believe 
that most breakages at this point are due to bug fixes, so when we'll reach the 
point that you can really expect your code to continue to compile for years on 
newer compilers without trouble, I don't know. That may depend primarily on 
the bugs that we have left and how well regressions get caught. The work 
that's currently being done on formalizing and ironing out the release process 
should help with that though.

- Jonathan M Davis


Re: D 1.076 and 2.061 release

2013-01-06 Thread Pierre Rouleau

On 13-01-06 8:41 PM, Jonathan M Davis wrote:

On Sunday, January 06, 2013 17:28:57 Brad Roberts wrote:

Does anyone know of any mechanism for getting people to do what needs to be
done vs what they want to do that doesn't involve paying them?  The only
long term successes I can point to all involve companies.


You'd have to look at major open source projects. They do sometimes come to
together and agree on the direction that they should take (KDE and gnome would
probably be good examples of that), and a lot of their efforts get focused on
what gets decided, but I believe that it's still primarily a case of people
working on what they want to work on. But I haven't examined the development
processes of other open source projects in depth.

If you have enough people, then the holes tend to get filled, but plenty of
stuff still falls through the cracks, and unlike projects like KDE or gnome, I
don't think that we have a need to create a direction for our project(s) and
decide where they're going to be going. That might happen if we were talking
about D3, but we're not (and I think that even the KDE and gnome guys only
tend to do that when they're talking about where to go with their next major
version). It's more of an issue of making sure that all of the little stuff
that needs doing gets done. And if there's something that no one wants to work
on or if everyone with the time and skill are working on other stuff that needs
to be worked on, then some stuff just doesn't get done. And like you, I have no
idea how to fix that.

- Jonathan M Davis

Is this something that the most influential people in the D project want 
to fix?


--
/Pierre Rouleau


Re: D 1.076 and 2.061 release

2013-01-06 Thread Pierre Rouleau

On 13-01-06 7:36 PM, Walter Bright wrote:

On 1/6/2013 3:49 PM, Pierre Rouleau wrote:

If this list already contains all (does it?) of what is currently
identified
then is there some criteria one can use to try to infer what will be
implemented
in the next release? Or is it just "first come first served" where the
solved
enhancements automatically get pulled inside the release?


The thing is, roadmaps are a lot like planning for a war. The moment the
first shot is fired, all the plans go out the window. What we need to
get done next is a constantly evolving situation, based on:

1. some crisis may occur

2. some opportunity may present itself

3. the language market may change its perception of what is important

4. a member of the community may promote themselves to be a champion of
some particular issue, and work to get it implemented

5. our understanding of what is important and what isn't constantly evolves

6. there's constant evolution of what exactly is best practice and the
best way to realize that

Probably pretty high on the list would be solving the rvalue reference
problem.

OK, I can understand that point of view and I recognize that it's been 
the view the project has taken which allowed D to evolved nicely.


So, given that enhancements are identified in Bugzilla, is there a 
review process?  Are ticket priorities and vote used?  Who decides what 
is the priority of an enhancement?   Who assigns them?


Also, given that view on the development of D, what is the position on 
the evolution of the language in context with backward compatibility and 
stability?   How can an organization of D users that are not also D 
developers can plan a project and use D for it?


Do you consider D stable enough for outside users/organizations to start 
using it in their own projects?


--
/Pierre Rouleau


Re: D 1.076 and 2.061 release

2013-01-06 Thread Leandro Lucarella
Walter Bright, el  6 de January a las 16:36 me escribiste:
> On 1/6/2013 3:49 PM, Pierre Rouleau wrote:
> >If this list already contains all (does it?) of what is currently identified
> >then is there some criteria one can use to try to infer what will be 
> >implemented
> >in the next release? Or is it just "first come first served" where the solved
> >enhancements automatically get pulled inside the release?
> 
> The thing is, roadmaps are a lot like planning for a war. The moment
> the first shot is fired, all the plans go out the window. What we
> need to get done next is a constantly evolving situation, based on:
> 
> 1. some crisis may occur
> 
> 2. some opportunity may present itself
> 
> 3. the language market may change its perception of what is important
> 
> 4. a member of the community may promote themselves to be a champion
> of some particular issue, and work to get it implemented
> 
> 5. our understanding of what is important and what isn't constantly evolves
> 
> 6. there's constant evolution of what exactly is best practice and
> the best way to realize that

This is all true for planning 5 years ahead, not 1~3 months. You don't
even have to get a very precise plan, you can just focus on some aspect
and try to advance in that direction. And having a plan doesn't mean you
can't change it if something comes up.

> Probably pretty high on the list would be solving the rvalue reference 
> problem.

This is a good example of something that can go into a roadmap for the
next 1~3 months (AKA next release). See? You can do it. :P

-- 
Leandro Lucarella (AKA luca) http://llucax.com.ar/
--
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
--
Hello?
Is there anybody in there?
Just nod if you can hear me.
Is there anyone at home?


  1   2   3   4   >