Re: Release D 2.096.0

2021-04-12 Thread Mario Kröplin via Digitalmars-d-announce
The fix for Issue 21508 - _private class p in file p.d visible 
outside the file (module)_ removed a behavior that was (wrongly) 
used from time to time:


```
module Foo;
class Foo {...}
```

The class `Foo` can no longer be imported with `import Foo;` This 
is a surprising breaking change. Perhaps it should be documented 
more explicitly.


Re: Release D 2.096.0

2021-03-15 Thread Adam D. Ruppe via Digitalmars-d-announce

On Sunday, 14 March 2021 at 18:25:51 UTC, starcanopy wrote:

int foo() { return 1; }
int foo() => 1;
I'm concerned that this feature will be in purgatory if its 
author becomes busy or forgets about it. (Barring another 
individual assuming proprietorship.)


I wrote the implementation for that and I've made it clear that I 
have zero interest in going through the DIP process; I'm done 
with it as is. Someone else will have to do whatever else they 
decide to do.


Re: Release D 2.096.0

2021-03-15 Thread Max Haughton via Digitalmars-d-announce

On Sunday, 14 March 2021 at 18:25:51 UTC, starcanopy wrote:

On Sunday, 14 March 2021 at 05:31:27 UTC, Max Haughton wrote:

On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:

[...]


Correct. To be completely honest it shouldn't have ever been 
merged since there was no approval from WalTila and they steer 
the language.


Given your status as a member of the Foundation, is there a 
plan/track of sorts to convert such a DIP-less -preview feature 
to a full-fledged one? I know it's a lot of work to write an 
improvement proposal, and deliberation with the community is a 
seemingly tiring (but necessary) ordeal, but I'm concerned that 
this feature will be in purgatory if its author becomes busy or 
forgets about it. (Barring another individual assuming 
proprietorship.)


I'm not sure. I will bring it up at the next foundation meeting.


Re: Release D 2.096.0

2021-03-14 Thread starcanopy via Digitalmars-d-announce

On Sunday, 14 March 2021 at 05:31:27 UTC, Max Haughton wrote:

On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:

On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:
On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak 
wrote:

[...]


Allow shortened function implementations for 
single-expresssion functions.
-preview=shortenedMethods is added. This allows functions to 
be written in a similar form to lambda functions:


// these 2 are equivalent
int foo() { return 1; }
int foo() => 1;
The syntax allows the form => expr to replace the function 
body { return expr; }


Amazing! I had no idea this got in. I love the syntax.


It's pretty neat, but a DIP has to be drafted and approved for 
it to be enabled by default, right? (Unless I missed it.)


Correct. To be completely honest it shouldn't have ever been 
merged since there was no approval from WalTila and they steer 
the language.


Given your status as a member of the Foundation, is there a 
plan/track of sorts to convert such a DIP-less -preview feature 
to a full-fledged one? I know it's a lot of work to write an 
improvement proposal, and deliberation with the community is a 
seemingly tiring (but necessary) ordeal, but I'm concerned that 
this feature will be in purgatory if its author becomes busy or 
forgets about it. (Barring another individual assuming 
proprietorship.)


Re: Release D 2.096.0

2021-03-14 Thread Guillaume Piolat via Digitalmars-d-announce

On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:

Glad to announce D 2.096.0, ♥ to the 54 contributors.

This release comes with improved ABI compatibility for complex 
types, clarified copy constructor and postblit interaction, 
optional libunwind based backtraces, runtime-allocated global 
synchronized mutexes, and a preview for shortened lambda-style 
function definitions.


http://dlang.org/download.html
http://dlang.org/changelog/2.096.0.html

-Martin


Great!


Re: Release D 2.096.0

2021-03-14 Thread Imperatorn via Digitalmars-d-announce

On Sunday, 14 March 2021 at 07:15:57 UTC, Meta wrote:

On Sunday, 14 March 2021 at 05:31:27 UTC, Max Haughton wrote:

On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:

On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:

It's pretty neat, but a DIP has to be drafted and approved 
for it to be enabled by default, right? (Unless I missed it.)


Correct. To be completely honest it shouldn't have ever been 
merged since there was no approval from WalTila and they steer 
the language.


I raised a similar concern before with something else (don't 
remember what it was), but apparently things can be merged 
without W's approval if they're behind a switch (in the 
opinion of at least some of the core maintainers, at least).


Yeah, iirc preview switches can be added without a DIP because 
it's not a part of the language per se. It's probably a 
reasonable approach, because otherwise you would get a multitude 
of forks instead.


Re: Release D 2.096.0

2021-03-13 Thread Walter Bright via Digitalmars-d-announce

Thank you, Martin!


Re: Release D 2.096.0

2021-03-13 Thread Meta via Digitalmars-d-announce

On Sunday, 14 March 2021 at 05:31:27 UTC, Max Haughton wrote:

On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:

On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:

It's pretty neat, but a DIP has to be drafted and approved for 
it to be enabled by default, right? (Unless I missed it.)


Correct. To be completely honest it shouldn't have ever been 
merged since there was no approval from WalTila and they steer 
the language.


I raised a similar concern before with something else (don't 
remember what it was), but apparently things can be merged 
without W's approval if they're behind a switch (in the opinion 
of at least some of the core maintainers, at least).


Re: Release D 2.096.0

2021-03-13 Thread Max Haughton via Digitalmars-d-announce

On Sunday, 14 March 2021 at 03:25:28 UTC, starcanopy wrote:

On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:

On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:

[...]


Allow shortened function implementations for 
single-expresssion functions.
-preview=shortenedMethods is added. This allows functions to 
be written in a similar form to lambda functions:


// these 2 are equivalent
int foo() { return 1; }
int foo() => 1;
The syntax allows the form => expr to replace the function 
body { return expr; }


Amazing! I had no idea this got in. I love the syntax.


It's pretty neat, but a DIP has to be drafted and approved for 
it to be enabled by default, right? (Unless I missed it.)


Correct. To be completely honest it shouldn't have ever been 
merged since there was no approval from WalTila and they steer 
the language.


Re: Release D 2.096.0

2021-03-13 Thread starcanopy via Digitalmars-d-announce

On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:

On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:

[...]


Allow shortened function implementations for single-expresssion 
functions.
-preview=shortenedMethods is added. This allows functions to be 
written in a similar form to lambda functions:


// these 2 are equivalent
int foo() { return 1; }
int foo() => 1;
The syntax allows the form => expr to replace the function body 
{ return expr; }


Amazing! I had no idea this got in. I love the syntax.


It's pretty neat, but a DIP has to be drafted and approved for it 
to be enabled by default, right? (Unless I missed it.)


Re: Release D 2.096.0

2021-03-13 Thread Jesse Phillips via Digitalmars-d-announce

On Saturday, 13 March 2021 at 21:33:20 UTC, Meta wrote:


// these 2 are equivalent
int foo() { return 1; }
int foo() => 1;
The syntax allows the form => expr to replace the function body 
{ return expr; }


Amazing! I had no idea this got in. I love the syntax.


Yeah, c# added this syntax awhile back and is nice to use at 
times, usually because I stumble on the property syntax.


https://www.google.com/amp/s/csharp.christiannagel.com/2017/01/25/expressionbodiedmembers/amp/


Re: Release D 2.096.0

2021-03-13 Thread Meta via Digitalmars-d-announce

On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:

Glad to announce D 2.096.0, ♥ to the 54 contributors.

This release comes with improved ABI compatibility for complex 
types, clarified copy constructor and postblit interaction, 
optional libunwind based backtraces, runtime-allocated global 
synchronized mutexes, and a preview for shortened lambda-style 
function definitions.


http://dlang.org/download.html
http://dlang.org/changelog/2.096.0.html

-Martin


Allow shortened function implementations for single-expresssion 
functions.
-preview=shortenedMethods is added. This allows functions to be 
written in a similar form to lambda functions:


// these 2 are equivalent
int foo() { return 1; }
int foo() => 1;
The syntax allows the form => expr to replace the function body { 
return expr; }


Amazing! I had no idea this got in. I love the syntax.


Re: Release D 2.096.0

2021-03-13 Thread Imperatorn via Digitalmars-d-announce

On Saturday, 13 March 2021 at 21:15:40 UTC, Martin Nowak wrote:

Glad to announce D 2.096.0, ♥ to the 54 contributors.

This release comes with improved ABI compatibility for complex 
types, clarified copy constructor and postblit interaction, 
optional libunwind based backtraces, runtime-allocated global 
synchronized mutexes, and a preview for shortened lambda-style 
function definitions.


http://dlang.org/download.html
http://dlang.org/changelog/2.096.0.html

-Martin


Thanks everyone 


Release D 2.096.0

2021-03-13 Thread Martin Nowak via Digitalmars-d-announce

Glad to announce D 2.096.0, ♥ to the 54 contributors.

This release comes with improved ABI compatibility for complex 
types, clarified copy constructor and postblit interaction, 
optional libunwind based backtraces, runtime-allocated global 
synchronized mutexes, and a preview for shortened lambda-style 
function definitions.


http://dlang.org/download.html
http://dlang.org/changelog/2.096.0.html

-Martin