D Language Foundation October 2022 Quarterly Meeting Summary
The D Language Foundation's October 2022 meeting was a quarterly, meaning that several industry representatives attended. It took place via Jitsi Meet on October 7, 2022, at 14:00 UTC. The following people attended (those with DLF next to their names are either D Language Foundation board members, paid employees, or affiliated volunteers): * Andrei Alexandrescu * Mathis Beer (Funkwerk) * Walter Bright (DLF) * Iain Buclaw (DLF/GDC) * Ali Çehreli (DLF/Mercedes Benz R & D North America) * Max Haughton (DLF/Symmetry) * Martin Kinkelin (DLF/LDC) * Dennis Korpel (DLF) * Mario Kröplin (Funkwerk) * Mathias Lang (DLF/Symmetry) * Robert Schadek (DLF/Symmetry) * Bastiaan Veelo (SARC) ## Robert Robert had nothing to report. ## Martin Martin said he was very happy to see the recent work going on with dub (mostly courtesy of Mathias Lang and Jan Jurzitza, a.k.a. Webfreak) and thought it was looking great. On the LDC side, he was currently working on merging an intermediate step of DRuntime and the D frontend from just before the dmd and druntime repositories were merged. That was the first step toward changing how they fold in DRuntime, D frontend, and DMD test suite changes into LDC. He reported that Nicholas Wilson had received some outside help for catching up with accumulated changes in LLVM. He summarized some of the changes for us and noted that this was important as it lays the foundation for supporting LLVM 15 and 16, which come with breaking changes. He was not looking forward to doing it himself and was glad that these two had taken care of it. Regarding ImportC, supporting it wasn't too bad at the moment, but he hoped that it didn't end up requiring too many special cases in the glue layer. Bitfield support, which [he had brought up in the previous meeting](https://forum.dlang.org/post/omshhtkrtkftsihnt...@forum.dlang.org), was done. Now he had seen some test cases related to taking the address of a struct literal, which in D is allocated as a constant and in C is allocated on the stack. In DMD that was fixed by a glue layer change. It's this sort of thing he hopes remains minimal. ImportC initializer lists are still in the AST, but another glue layer issue is with initializers of multi-dimensional static arrays in C. The initializer still has some C initializer lists that LDC doesn't support. So he thought those could be translated to D initializers so that we don't have to worry about C initializer lists. Another example he gave involves initializing static arrays with string literals when the literal is shorter in length than the array. This is something else that needs to be accounted for in the glue layer. Martin is happy as long as the number of corner cases doesn't increase. He hopes we don't see the need for more with each release as ImportC issues are fixed. LDC is a D compiler. Being able to compile C is fine, but he sees the main use case as being able to import C headers to interoperate with C code compiled externally. I asked him if there was an update about the DMD issue he has often brought up in these meetings in which switching the order of root imports can cause compilation errors. He said he had done a micro adaptation in DMD to fix a specific test case, but it opened a pandora's box of forward referencing issues. The main problem he found was that [attribute inference is skipped for aggregate methods when the aggregate itself hasn't been analyzed yet](https://issues.dlang.org/show_bug.cgi?id=23127). We need to figure out why. Attribute inference has other problems, so if we want to move to a scenario where attribute inference is enabled for everything, we'll need to work through these bugs. ## Bastiaan Bastiaan reported that SARC has had problems with DMD crashing more often as their code base grows. He so far has been unable to get a reduced case demonstrating why and was unsure if he'll be able to. The good news is that everything compiles fine with LDC, so that's the route they're currently taking. He suggested that it could be that DMD is running out of stack space and that LDC simply allocates more of it. Martin said that he had recently increased the stack limit from 8 MB to 16 MB and that could indeed be the issue. ([The forthcoming 2.101.0 release of DMD](https://dlang.org/changelog/2.101.0.html#dmd.windows_stack_limit) includes the same stack limit increase.) ## Mathias Lang In the previous meeting, [Mathias received the green light from Walter](https://forum.dlang.org/post/tpdbhhcqyxplxllsm...@forum.dlang.org) to move forward with a breaking change to `Throwable`'s internal `TraceInfo` interface. Following that, he had begun adding colors in the stack trace because he thought they were unreadable, and adding colors was not that much work. He had a proof-of-concept but still had a few things to work out. He also updated us about Buildkite issues. It had been completely broken for a few days before the meet
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On 02.11.22 05:42, Mike Parker wrote: Walter stressed that this is why the test suite is important. Every bug that is fixed goes into the test suite, and that's like a ratchet that only moves forward. Unless Walter manually (and secretly) moves the ratchet back, like here: https://forum.dlang.org/post/sd3lln$1ocr$1...@digitalmars.com Yeah, I'm still pissed about that.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: ## Iain For the benefit of the industry folks who only join us in the quarterlies, Iain recapped some of the things he'd covered in the two previous monthly meetings, such as the move to Backblaze for downloads.dlang.org and docharchives.dlang.io, the transition to Cloudflare that gives us the benefit of free data transfer with Backblaze, and the general tidying up of the dlang.io namespace. He then said that Martin Nowak will not be doing any more releases of the D language. Iain had been going through the build scripts that we currently have and figuring out what needs to be done to tailor them to run in GitHub Actions. It was taking much longer than he had anticipated. In the interim, he thought he could at least merge master into stable and get some 2.101.0 alpha builds set up by hand. (He then [announced the first beta on October 17](https://forum.dlang.org/thread/etvlqbomriskyeihz...@forum.dlang.org).) The release candidate is out now! https://dlang.org/download.html We plan to do v2.101.0 release on the 14th November. Next, he gave us a summary of his experience at the GNU Cauldron where he attended a meetup of GCC/GDB maintainers. He reported that there are some really interesting things going on with GCC internals regarding the direction in which they're taking the compiler, including several things we're doing already. For example, they're adding options to automatically initialize all static variables to 0 or a bitmask. This sort of thing is good news for him, as he currently has to do all the memsets by hand in GDC. It's a win if the middle-end can do this for him. If you're interested in all the GCC internal changes that Iain was gushing about and how he can benefit from them in GDC, please ask him :-) Correction, initialize all *local* variables. This new feature of GCC was added to increase the security and predictability of a program by preventing uninitialized memory disclosure and use. This really shifts the dynamics between front-end (language implementation) and middle-end (compiler framework), because now, if GCC fails to zero out all bits in an object, it's no longer a GDC bug, rather a GCC security issue. :-)
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: The tutorial series is focused on contributing to DMD. Hope the tutorial has a `text version`.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 09:12:02 UTC, zjh wrote: On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: The tutorial series is focused on contributing to DMD. Hope the tutorial has a `text version`. Taking the time to do the text version means less time to do the videos. It's up to Dennis if he wants to do it, but I wouldn't expect it.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 09:42:27 UTC, Mike Parker wrote: Taking the time to do the text version means less time to do the videos. It's up to Dennis if he wants to do it, but I wouldn't expect it. It is very meaningful to do this `tutorial`, whether it is a `text` version or a `video` version. `D` is too short of `dmd` internal explanations.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On 11/2/22 12:42 AM, Mike Parker wrote: Walter said that ImportC doesn't support head const. His experience with C is that people generally mean const in C to be transitive. So in ImportC, he turned the head const cases into transitive const and it appears to work well. On one of the only articles using ImportC (which otherwise shines a positive light on the feature), this specific issue is the only one that comes up as a blocker: https://briancallahan.net/blog/20220704.html Specifically in the "running make" part: There was one more file that DMD couldn't compile: dmd -g -O -P=-DEMACS -P=-DVI -ofexpr.o -c expr.c expr.c(204): Error: cannot modify `const` expression `(*es).tok` expr.c(205): Error: cannot modify `const` expression `(*es).val` I wonder if this is a bug in ImportC. No other C compiler we've tried fails on this code. Having translated C code myself, and running into const issues where I've had to cast away const, I do not think this is a wise decision. Walter should reconsider. An ImportC that can't compile pretty standard C code as-is is nearly useless. -Steve
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 11:19:21 UTC, Steven Schveighoffer wrote: Having translated C code myself, and running into const issues where I've had to cast away const, I do not think this is a wise decision. Walter should reconsider. An ImportC that can't compile pretty standard C code as-is is nearly useless. Something that got lost in my revisions: Walter believes supporting head const will blow up the type system.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 09:42:27 UTC, Mike Parker wrote: On Wednesday, 2 November 2022 at 09:12:02 UTC, zjh wrote: On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: The tutorial series is focused on contributing to DMD. Hope the tutorial has a `text version`. Taking the time to do the text version means less time to do the videos. It's up to Dennis if he wants to do it, but I wouldn't expect it. It is recommended that the video has English subtitles, and the subtitles are proofread, so that it is helpful for non-native English speakers.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: The D Language Foundation's October 2022 meeting was a quarterly, meaning that several industry representatives attended. It took place via Jitsi Meet on October 7, 2022, at 14:00 UTC. The following people attended (those with DLF next to their names are either D Language Foundation board members, paid employees, or affiliated volunteers): [snip] Thanks for doing these. They are always informative and I'm sure time-consuming for you to produce. And another thanks to Martin Nowak for all the work he did over the years as release manager.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: Following that, he had begun adding colors in the stack trace because he thought they were unreadable, and adding colors was not that much work. He had a proof-of-concept but still had a few things to work out. That's a little detail, but it makes a big impact, thanks!
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On 11/2/22 8:58 AM, ryuukk_ wrote: On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: Following that, he had begun adding colors in the stack trace because he thought they were unreadable, and adding colors was not that much work. He had a proof-of-concept but still had a few things to work out. That's a little detail, but it makes a big impact, thanks! Seconded! I even asked for this recently on discord. Looking forward to it! -Steve
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 11:19:21 UTC, Steven Schveighoffer wrote: On 11/2/22 12:42 AM, Mike Parker wrote: [...] Having translated C code myself, and running into const issues where I've had to cast away const, I do not think this is a wise decision. Walter should reconsider. An ImportC that can't compile pretty standard C code as-is is nearly useless. -Steve Yeah, I reported this bug back in February: https://issues.dlang.org/show_bug.cgi?id=22759 It comes up in C code bases from time to time.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: The D Language Foundation's October 2022 meeting was a quarterly, meaning that several industry representatives attended. It took place via Jitsi Meet on October 7, 2022, at 14:00 UTC. The following people attended (those with DLF next to their names are either D Language Foundation board members, paid employees, or affiliated volunteers): [...] Thank you for the summary. It's very informative. Thank you to Martin Nowak for all his as release manager. Happy to hear that someone like Ian took over.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wed, Nov 02, 2022 at 06:11:12PM +, M. M. via Digitalmars-d-announce wrote: > On Wednesday, 2 November 2022 at 04:42:06 UTC, Mike Parker wrote: > > The D Language Foundation's October 2022 meeting was a quarterly, > > meaning that several industry representatives attended. It took > > place via Jitsi Meet on October 7, 2022, at 14:00 UTC. The following > > people attended (those with DLF next to their names are either D > > Language Foundation board members, paid employees, or affiliated > > volunteers): > > > > [...] > > Thank you for the summary. It's very informative. > > Thank you to Martin Nowak for all his as release manager. Happy to > hear that someone like Ian took over. I'm just curious why Martin stepped down. If he doesn't mind sharing the reason. T -- Knowledge is that area of ignorance that we arrange and classify. -- Ambrose Bierce
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On 11/2/2022 4:19 AM, Steven Schveighoffer wrote: On one of the only articles using ImportC (which otherwise shines a positive light on the feature), this specific issue is the only one that comes up as a blocker: The easiest option would be to simply ignore "const" when it is "const pointer to mutable".
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On 11/2/2022 4:19 AM, Steven Schveighoffer wrote: https://briancallahan.net/blog/20220704.html That's now in the "new" section of HackerNews! https://news.ycombinator.com/newest
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On 11/2/22 6:06 PM, Walter Bright wrote: On 11/2/2022 4:19 AM, Steven Schveighoffer wrote: On one of the only articles using ImportC (which otherwise shines a positive light on the feature), this specific issue is the only one that comes up as a blocker: The easiest option would be to simply ignore "const" when it is "const pointer to mutable". Please see the mentioned bug report, that's what we all are suggesting as well! -Steve
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Wednesday, 2 November 2022 at 18:20:42 UTC, H. S. Teoh wrote: On Wed, Nov 02, 2022 at 06:11:12PM +, M. M. via Digitalmars-d-announce wrote: Thank you to Martin Nowak for all his as release manager. Happy to hear that someone like Ian took over. I'm just curious why Martin stepped down. If he doesn't mind sharing the reason. From what I've heard, Martin started his own business, which takes up all his time. Wishing you success, Martin! -- Bastiaan.
Re: D Language Foundation October 2022 Quarterly Meeting Summary
On Fri, Nov 04, 2022 at 03:57:05PM +, Bastiaan Veelo via Digitalmars-d-announce wrote: > On Wednesday, 2 November 2022 at 18:20:42 UTC, H. S. Teoh wrote: > > On Wed, Nov 02, 2022 at 06:11:12PM +, M. M. via > > Digitalmars-d-announce wrote: > > > Thank you to Martin Nowak for all his as release manager. Happy to > > > hear that someone like Ian took over. > > > > I'm just curious why Martin stepped down. If he doesn't mind sharing > > the reason. > > From what I've heard, Martin started his own business, which takes up > all his time. > > Wishing you success, Martin! [...] +1, best wishes, Martin! T -- Obviously, some things aren't very obvious.