D Language Foundation October 2022 Quarterly Meeting Summary

2022-11-01 Thread Mike Parker via Digitalmars-d-announce
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

2022-11-01 Thread ag0aep6g via Digitalmars-d-announce

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

2022-11-02 Thread Iain Buclaw via Digitalmars-d-announce

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

2022-11-02 Thread zjh via Digitalmars-d-announce

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

2022-11-02 Thread Mike Parker via Digitalmars-d-announce

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

2022-11-02 Thread zjh via Digitalmars-d-announce

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

2022-11-02 Thread Steven Schveighoffer via Digitalmars-d-announce

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

2022-11-02 Thread Mike Parker via Digitalmars-d-announce
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

2022-11-02 Thread electricface via Digitalmars-d-announce

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

2022-11-02 Thread jmh530 via Digitalmars-d-announce

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

2022-11-02 Thread ryuukk_ via Digitalmars-d-announce

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

2022-11-02 Thread Steven Schveighoffer via Digitalmars-d-announce

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

2022-11-02 Thread Dave P. via Digitalmars-d-announce
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

2022-11-02 Thread M. M. via Digitalmars-d-announce

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

2022-11-02 Thread H. S. Teoh via Digitalmars-d-announce
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

2022-11-02 Thread Walter Bright via Digitalmars-d-announce

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

2022-11-02 Thread Walter Bright via Digitalmars-d-announce

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

2022-11-02 Thread Steven Schveighoffer via Digitalmars-d-announce

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

2022-11-04 Thread Bastiaan Veelo via Digitalmars-d-announce

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

2022-11-04 Thread H. S. Teoh via Digitalmars-d-announce
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.