June 14, 2015
p.s. sorry, "stylistically", of course. mea maxima culpa.

June 14, 2015
On Sunday, 14 June 2015 at 15:46:39 UTC, ketmar wrote:
> On Sun, 14 Jun 2015 11:26:21 +0000, Ola Fosheim Grøstad wrote:
>
>> I'm sure Walter will be much more open to changes if there is a proven
>> demand for it
>
> only if he like it. or at least indifferent to it.
>
> "This is true IF you are trying to use version blocks in the same way one
> does in C. However, that is the stylistically wrong way to do it in D."
>
> that's all. it doesn't matter how loud people would complian, it's
> "syntactically wrong". period.

"a proven demand" is just a kind way of describing "an emerging fork"...

;^)
June 14, 2015
On Sun, 14 Jun 2015 15:49:40 +0000, Ola Fosheim Grøstad wrote:

> On Sunday, 14 June 2015 at 15:46:39 UTC, ketmar wrote:
>> On Sun, 14 Jun 2015 11:26:21 +0000, Ola Fosheim Grøstad wrote:
>>
>>> I'm sure Walter will be much more open to changes if there is a proven demand for it
>>
>> only if he like it. or at least indifferent to it.
>>
>> "This is true IF you are trying to use version blocks in the same way one does in C. However, that is the stylistically wrong way to do it in D."
>>
>> that's all. it doesn't matter how loud people would complian, it's "syntactically wrong". period.
> 
> "a proven demand" is just a kind way of describing "an emerging fork"...
> 
> ;^)

any D fork is doomed to die. community is too small, there are simply not enough developers to make a split. i'm doing Aliced for my own favor, yet i never thought that it can be a competitor for vanilla.

June 14, 2015
On Sun, 14 Jun 2015 06:35:30 -0400, Joakim <dlang@joakim.fea.st> wrote:

> Walter is coming from long experience with this,and even with my limited experience with such logic, I'm grateful for it, as dealing with more complex versions of such logic is a royal PITA.

He's an expert, no doubt, but I've learned not to put people on a pedestal because of their level of experience. Anyone can be wrong, or change their mind.

  Bit
June 14, 2015
On Sun, 14 Jun 2015 10:26:25 -0400, Joakim <dlang@joakim.fea.st> wrote:

> Walter explained his thinking behind this decision in five comments on this PR:

Thanks for the link ;)

  Bit
June 14, 2015
On Sun, 14 Jun 2015 09:36:17 -0400, Ola Fosheim Grøstad <ola.fosheim.grostad+dlang@gmail.com> wrote:

> On Sunday, 14 June 2015 at 13:02:03 UTC, Manfred Nowak wrote:
>> bitwise wrote:
>>
>>> for at least adding "||" so that code can be shared between platforms?
>>
>> Sureley it is a pita to write:
>>
>> version( iOS) version= iOS;
>> else version( Android) version= Android;
>> else version= neither;
>> version( neither) version= neither;
>> else version=iOSorAndroid;
>>
>> version( iOSorAndroid){
>>    // ...
>> }
>
> It is, but it is only a 0.0001% source code increase that can be hidden in a config file.

It's not just about the code increase though. What if I need AndroidOrWP8, and I also need Win32OrWin64? This can quickly become a much larger pita.

> I really hope that the next two release will focus on bugfixes, transitioning to D and refactoring.
>
> If DMD source code was lean D code, it would attract more developers to the compiler. So avoiding changes now would pay off in terms of long term evolution.
>
> You cannot both transition to D and focus on changes. Freeze the feature set...

True. Maybe I'm underestimating the amount of effort that is going into this. I admit I don't know much about whats going on with the DDMD stuff.

  Bit
June 14, 2015
On Sunday, 14 June 2015 at 16:53:19 UTC, bitwise wrote:
> It's not just about the code increase though. What if I need AndroidOrWP8, and I also need Win32OrWin64? This can quickly become a much larger pita.

Yes, I think this is related to person-specific experiences. Some people insist on keeping all OS-specific code in separate files, others don't… A person with this mindset would version(Windows) to get to a Windows file and then version on Win32 etc in that file… Not saying it is better, but I think that is why people think differently about this issue.

> True. Maybe I'm underestimating the amount of effort that is going into this. I admit I don't know much about whats going on with the DDMD stuff.

Me neither. I just know that I have lost interest in the C++ version of DMD now that there is a move towards D. And I look forward to see an idiomatic D version.

I guess only people who know the codebase very well can do that refactoring so let's not tempt them into fixing minor language issues, that's my thinking.

Refactoring is kinda tedious… so I'm sure it would be easy to distract anyone into adding more features instead. ;-)

June 15, 2015
On 6/14/2015 10:36 PM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= <ola.fosheim.grostad+dlang@gmail.com>" wrote:
> On Sunday, 14 June 2015 at 13:02:03 UTC, Manfred Nowak wrote:
>> bitwise wrote:
>>
>>> for at least adding "||" so that code can be shared between platforms?
>>
>> Sureley it is a pita to write:
>>
>> version( iOS) version= iOS;
>> else version( Android) version= Android;
>> else version= neither;
>> version( neither) version= neither;
>> else version=iOSorAndroid;
>>
>> version( iOSorAndroid){
>>    // ...
>> }
>
> It is, but it is only a 0.0001% source code increase that can be hidden
> in a config file.
>
Not using version statements. They only apply to the module in which they are declared. To use it in multiple modules, you need static if and enums. I like that better than the version statements anyway, so if we aren't going to ever get boolean versions, I'll settle for the static if approach.
June 15, 2015
On Mon, 15 Jun 2015 17:25:07 +0900, Mike Parker wrote:

> On 6/14/2015 10:36 PM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= <ola.fosheim.grostad+dlang@gmail.com>" wrote:
>> On Sunday, 14 June 2015 at 13:02:03 UTC, Manfred Nowak wrote:
>>> bitwise wrote:
>>>
>>>> for at least adding "||" so that code can be shared between platforms?
>>>
>>> Sureley it is a pita to write:
>>>
>>> version( iOS) version= iOS;
>>> else version( Android) version= Android;
>>> else version= neither;
>>> version( neither) version= neither; else version=iOSorAndroid;
>>>
>>> version( iOSorAndroid){
>>>    // ...
>>> }
>>
>> It is, but it is only a 0.0001% source code increase that can be hidden in a config file.
>>
> Not using version statements. They only apply to the module in which they are declared. To use it in multiple modules, you need static if and enums. I like that better than the version statements anyway, so if we aren't going to ever get boolean versions, I'll settle for the static if approach.

if only there is a way to define such enums from command line, akin to "- version"...

June 15, 2015
On Monday, 15 June 2015 at 08:25:08 UTC, Mike Parker wrote:
> Not using version statements. They only apply to the module in which they are declared. To use it in multiple modules, you need static if and enums.

Ack… That was new to me. What is the reasoning behind this?

> I like that better than the version statements anyway, so if we aren't going to ever get boolean versions, I'll settle for the static if approach.

Might as well.