Re: Release D 2.096.0
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
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
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
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
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
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
Thank you, Martin!
Re: Release D 2.096.0
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
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
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
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
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
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
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