www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D Language Foundation Meeting September 2022 Monthly Meeting Summary

reply Mike Parker <aldacron gmail.com> writes:
The D Language Foundation's monthly meeting for September 2022 
took place on September 2nd at 14:00 UTC. The following were in 
attendance:

* Andrei Alexandrescu
* Walter Bright
* Iain Buclaw
* Ali Çehreli
* Max Haughton
* Martin Kinkelin
* Dennis Korpel
* Razvan Nitu
* Mike Parker
* Robert Schadek


Over the preceding month, Iain had little going on with D due to 
a personal situation. Most of the work he'd done had been on the 
infrastructure project and not on the compiler. He noted that I 
had migrated the dlang.org and dlang.io DNS servers to 
Cloudflare, and that several records had failed to transfer 
across (we had some other hiccups, but Iain, Vladimir Panteleev, 
Petar Kirov, and Mathias Lang, provided invaluable assistance in 
resolving those). We had managed to recover most of them.

The dlang.io domain had been maintained mostly by volunteers from 
the community. When Iain went through the DNS records, he 
discovered that a number of them were pointing to documentation 
sites on servers that were no longer available. He cleaned that 
up for us.

He talked about how he had set up a bucket for 
docarchives.dlang.io and downloads.dlang.org on the Backblaze 
account. The DNS for the doc archives was now pointing to the new 
bucket (via a Cloudflare worker), and all of the documentation 
for 2.068 - 2.099 was available there. The DNS for the latter was 
still pointing to the AWS download site, as Martin Nowak was 
still packaging and uploading the 2.100.2 release. Once that was 
out, Iain planned to set up a Cloudflare worker to point 
downloads/download.dlang.org at our new Backblaze downloads 
bucket. Those are now live. He would like to eventually work out 
how to automatically deploy to our new setup via GitHub Actions.

For those who missed my mentions of this in the past, by moving 
to Backblaze + Cloudflare, we are paying only for storage. Both 
are part of the Bandwidth Alliance. As long as we have Cloudflare 
in front of our Backblaze buckets, [we have free data 
transfer](https://www.backblaze.com/blog/backblaze-and-cloudflare-partner-to-provide-free-data-transfer/).

I reminded him that at our DConf meeting he had complained about 
the state of our build system and how it needed to be cleaned up. 
At the time, Atila said something like, "Sounds like you're 
volunteering." He was joking, but he there was also a serious 
question there. I asked Iain if he would be up to taking it on. 
He agreed to oversee it. I don't know what his plans are in terms 
of priorities, but I'm sure we'll hear more about this in the 
not-too-distant future.


One of the problems we had in migrating the DNS records was an 
issues.dlang.org outage. That was a bit of a scare. Because of 
it, Robert ran one of the scripts he'd developed for the 
Bugzilla->GitHub migration to collect all of the Bugzilla issues 
as JSON files on his disk. As a next step, he needed to get the 
software in a state so that, with a GitHub access token, he can 
migrate the issues. He said the code was "about 95% there". He 
would need to run it one more time to make sure everything is 
right, then make the move.

One thing he'll need when the time comes is to put Bugzilla into 
read-only mode during the migration.

Martin reminded Robert that the compiler suggests posting to 
issues.dlang.org in certain error messages, so that will need to 
be updated as well. Robert said he would do so.

Iain noted that Vladimir had also been working on a way to backup 
all of the Bugzilla issues.


Martin started by complimenting the DConf speakers. He had 
watched the livestreams and said the talks were at a "great 
level".

In recent weeks he'd had little time for D development of any 
kind. For LDC, he worked on bitfield support for the upcoming 
release for ImportC. He said it seemed ImportC was now able to 
compile zlib thanks to Walter's work, and if it really works on 
all platforms, then it's a nice acheivement that shows ImportC 
has potential. That said, he found that implementing bitfield 
support in LDC was the PITA he'd expected it to be. It means that 
now LDC has to use 24-bit and 48-bit integer types and such in 
their LLVM IR like clang does.

He encountered a frontend problem in the very first test cases 
where the bitfields end up with an 8-byte struct when it should 
be 4 bytes as with GCC and clang on Linux. He filed an issue for 
it. So there are still corner cases that need to be ironed out.

Other than that, Nicholas Wilson had been working on LLVM 15 
support and had asked for help in the forums. It's not trivial 
work. But Martin's first priority was the D 2.101.0 release, 
primarily work involving the shift to the DMD/DRuntime monorepo. 
He'd not had time to follow through with that on stable, so it 
was going to take some time before the next LDC release.

Finally, he brought up again a persistent DMD issue that has been 
affecting him with his work at Symmetry. It's a problem with the 
reliance on the semantic order of the root modules being 
processed. In some cases, switching the order of root modules 
results in compilation errors. At first, it was specific to using 
`-allinst`, but now they're seeing an error related to ` safe` in 
one case, and linker errors in another. It can be triggered by 
just removing an unused import. He's found no workaround for it.

Max (also a Symmetry employee) told Martin he had worked out 
roughly what the problem was and suggested they get together for 
a few hours to work out a fix. Martin went on vacation for a 
couple of weeks shortly after the meeting, and they hadn't gotten 
together yet last I heard.


Razvan said that he and Dennis had been working on extracting 
some tasks from the vision document and [created some projects in 
our GitHub project 
planner](https://github.com/orgs/dlang/projects). He walked us 
through what they had done so far, said that it should be 
publicly viewable, and talked about how we could use it. The main 
goal is that it should serve as a one-stop-shop for contributors 
looking for impactful projects to work on. One thing they would 
like to use this for is to help in new contributors get started 
with some Bootcamp projects. He suggested that Walter and Atila 
could create some projects there for some of the things on their 
plates and maybe someone else can pick them up.

[He has since posted about it in the 
forums](https://forum.dlang.org/thread/ktfdceqpxpoplwzdpnkf forum.dlang.org).


Dennis only had one remark: migrating our Bugzilla issues to 
GitHub will benefit our use of GitHub Projects.


Max said he had little to report but needed to get his TODO list 
sorted. He said he would like to help Nicholas with the LLVM 15 
support for LDC. (In a subsequent meeting Max and I had, he said 
that of all the projects on his TODO list, the one for 8-bit 
floating point emulation was the one he could probably finish 
first and is working on that.)

He said that he and Steven Schveighoffer had found a bug in the 
way that DMD merges the types of pointers, e.g., it will merge 
`int*` and `void*` to `int*`, and that is now fixed. Fixing that 
also fixed a bug in the template argument matching code, so it 
was a two-birds-with-one-stone thing.


I let everyone know that I had finally received the footage from 
the camera in the back of the room at DConf. I'd already been 
granted access to the recorded versions of the talks, which are 
identical to what is in the livestream. Those were free, but 
Symmetry had to pay an additional fee for the camera footage (and 
a big thanks to them for doing so). I let everyone know I would 
start editing the videos the following week. (I'll be finished 
with day two in a few days; I'm working on Max's talk now).

Next, I gave an update on some boring admin stuff regarding 
reimbursements for DConf speakers.

Finally, I noted that I had spoken to Weka's Eyal Lotem at DConf. 
He said their biggest remaining sticking point is what happens 
after a move, which is what originally prompted [one of their 
employees to write 
DIP1014](https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1014.md),
which introduced `opPostMove` and was accepted. It was never implemented and
now never will be, thanks to [the approval of copy constructors in
DIP1018](https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1018.md)
intended to replace post blits. That eventually led Walter to introduce
[DIP1040 to propose move
constructors](https://github.com/dlang/DIPs/blob/master/DIPs/DIP1040.md), among
other things. Max has since taken over responsibility for the DIP.

At DConf, I'd asked Eyal if he and/or his coworkers could take a 
good look at the DIP and let us know if that solves their 
problem. He agreed, and has since provided Max with feedback. I 
believe Max has a question or two yet to answer, but we're hoping 
the collaboration here will result in a stronger DIP for the next 
review round.


Walter had begun going through all the DIP 1000 bugs. He and 
Dennis had submitted fixes for several of them, but they were all 
stalled due to failures in the Buildkite projects. A general 
problem he finds with the Buildkite projects: if something goes 
wrong, what are we supposed to do about it? He finds this quite 
frustrating.

Dennis noted that the DIP 1000 Buildkite failures were related to 
the preview switch. It's only a few projects that actually fail, 
others have deprecation warnings. He has been going through the 
failing projects and submitting PRs to them. It's taking time, as 
it depends on the maintainers merging the PRs and tagging new 
releases for code.dlang.org. A benefit of this is it has led him 
to find the causes of some DIP 1000 bugs.

Another problem was that std.logger was crashing in its unit 
tests, preventing the test suite from running [as described in 
https://issues.dlang.org/show_bug.cgi?id=23286). 
Razvan noted this was only happening in 32-bit builds. Robert was 
the original author of std.experimental.logger, so he looked into 
it [and submitted a fix a few days 
later](https://github.com/dlang/phobos/pull/8557) that has since 
been merged.

Finally, Walter said that he finds that the test suite "just 
seems to stall on things", causing massive delays and 
interrupting his workflow. This led to a discussion about how 
Buildkite works, and through this we learned that Walter had 
never been set up with a Buildkite account, so he doesn't have an 
interface to restart builds.

Aside from his frustrations with the autotesters, he's happy 
about the current state of the DIP 1000 bugs. The issues he and 
Dennis have been closing have been fixable and they had whittled 
down the list to a small number. Overall, he thinks we're in good 
shape with it. He's also been working on ImportC, and he's happy 
with how things are progressing overall with the language.


Ali informed us of his invitation from Mike Shah to speak at 
Northeastern University on September 30. Steven Schveighoffer was 
also planning to attend. The plan was a talk and then a Boston 
meetup. Steve had invited some people who used to attend the 
Boston meetups. Ali subsequently [posted a link to the recorded 
talk here in the Announce 
forum](https://forum.dlang.org/thread/thggap$1lqi$1 digitalmars.com). I noted
that Mike Shah had submitted a DConf Online talk, and that [he has a D tutorial
series on YouTube](https://www.youtube.com/playlist?list=PLvv0ScY6vfd9Fso-3cB4CGnSlW0E4btJV).

Ali had also been working on the hobby project that [he had 
talked about in his DConf '22 lightning 
talk](https://youtu.be/ksNGwLTe0Ps?t=20372). He expects he'll 
eventually post it on code.dlang.org, and that the discoveries 
he's made while working on it could make for a potential future 
DConf talk. He didn't submit anything to me for this year's DConf 
Online, so maybe we'll see something down the road. But he has 
since [announced his new `alid` 
package](https://forum.dlang.org/thread/tfmtfe$1a5b$1 digitalmars.com) in the
dub repository.


The next meeting was a quarterly meeting that took place on 
October 7. I plan to post the summary for that meeting on the 
last Friday of this month.

As always, if you have something you'd like us to put on the 
agenda of one of our meetings, please let me know and I'll see 
about arranging it (though I may recommend [posting in the forums 
first](https://forum.dlang.org/thread/vphguaninxedxopjkzdk forum.dlang.org),
depending on the topic).
Oct 17 2022
next sibling parent rikki cattermole <rikki cattermole.co.nz> writes:
On 18/10/2022 3:10 AM, Mike Parker wrote:

 Over the preceding month, Iain had little going on with D due to a 
 personal situation. Most of the work he'd done had been on the 
 infrastructure project and not on the compiler. He noted that I had 
 migrated the dlang.org and dlang.io DNS servers to Cloudflare, and that 
 several records had failed to transfer across (we had some other 
 hiccups, but Iain, Vladimir Panteleev, Petar Kirov, and Mathias Lang, 
 provided invaluable assistance in resolving those). We had managed to 
 recover most of them.
I wonder if this has anything to do with run.dlang.org is using a certificate for run.dlang.io for a while now (and hence not usable). But either way, awesome work everyone!
Oct 17 2022
prev sibling next sibling parent reply Dukc <ajieskola gmail.com> writes:
On Monday, 17 October 2022 at 14:10:49 UTC, Mike Parker wrote:
 Finally, I noted that I had spoken to Weka's Eyal Lotem at 
 DConf. He said their biggest remaining sticking point is what 
 happens after a move, which is what originally prompted [one of 
 their employees to write 
 DIP1014](https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1014.md),
which introduced `opPostMove` and was accepted. It was never implemented and
now never will be, thanks to [the approval of copy constructors in
DIP1018](https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1018.md)
intended to replace post blits.
Huh? First off, DIP1018 replaces postblits, not postmoves. DIP1040, if accepted, will replace postmoves, but it's currently post community 1, not accepted. Second, the readme file at dips directory says DIP1014 is implemented in dmd 2.088.1. Something is wrong here. Regardless, thanks for keeping us up to date.
Oct 17 2022
parent Mike Parker <aldacron gmail.com> writes:
On Monday, 17 October 2022 at 20:21:10 UTC, Dukc wrote:
 On Monday, 17 October 2022 at 14:10:49 UTC, Mike Parker wrote:
 Finally, I noted that I had spoken to Weka's Eyal Lotem at 
 DConf. He said their biggest remaining sticking point is what 
 happens after a move, which is what originally prompted [one 
 of their employees to write 
 DIP1014](https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1014.md),
which introduced `opPostMove` and was accepted. It was never implemented and
now never will be, thanks to [the approval of copy constructors in
DIP1018](https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1018.md)
intended to replace post blits.
Huh? First off, DIP1018 replaces postblits, not postmoves. DIP1040, if accepted, will replace postmoves, but it's currently post community 1, not accepted.
Yes, I know. My point is that 1018 motivated 1040: 1018 replaced postblits with copy constructors, and 1040 replaces `opPostMove` with move constructors for consistency. And I didn't say that 1040 has been accepted, I said 1014 was accepted. And regarding 1040, I said "we're hoping the collaboration here will result in a stronger DIP for the next review round."
 Second, the readme file at dips directory says DIP1014 is 
 implemented in dmd 2.088.1. Something is wrong here.
As far as I know, they aren't yet implemented. The changelog for 2.088.1 says nothing about it. So yes, that looks like it's incorrect. I hadn't noticed that before.
 Regardless, thanks for keeping us up to date.
You're welcome.
Oct 17 2022
prev sibling parent Imperatorn <johan_forsberg_86 hotmail.com> writes:
On Monday, 17 October 2022 at 14:10:49 UTC, Mike Parker wrote:
 The D Language Foundation's monthly meeting for September 2022 
 took place on September 2nd at 14:00 UTC. The following were in 
 attendance:

 [...]
Thank for all the work you're doing
Oct 27 2022