October 02

On Wednesday, 1 October 2025 at 23:49:12 UTC, Clouudy wrote:

>

This is one of my bigger gripes about the way the DLF handles things. What's the point of things like a borrow checker, fancy DFAs for move semantics, or Phobos v3, if the language doesn't even have a debugger for every platform that is able to properly display its native types?

It's because nobody wants to spend their time peering over DWARF info and then writing plugins for GDB, WinDBG and LLDB (or even just one of them!). IMO, they should have a system where the whole community gets to vote on one tooling/bug proposal every so often, and then the DLF has to work on that alongside whatever else they do.

It is not how things working :)
And even for big-corp langs

4 days ago
On Wednesday, 1 October 2025 at 23:49:12 UTC, Clouudy wrote:
> What's the point of things like […]
> if the language doesn't even have a debugger for every platform that is able to
> properly display its native types?

Good ol' whataboutism ;)
4 days ago

On Wednesday, 1 October 2025 at 23:49:12 UTC, Clouudy wrote:

>

This is one of my bigger gripes about the way the DLF handles things. What's the point of things like a borrow checker, fancy DFAs for move semantics, or Phobos v3, if the language doesn't even have a debugger for every platform that is able to properly display its native types?

DLF this, DLF that... It's getting kinda tiring lol.

We already have debuggers, so not sure what the issue is. If they are "bad" at showing information, then that's a debugger problem. The RAD Debugger might be nice, though I haven't tried it myself.

3 days ago
On Saturday, 4 October 2025 at 21:11:19 UTC, 0xEAB wrote:
> On Wednesday, 1 October 2025 at 23:49:12 UTC, Clouudy wrote:
>> What's the point of things like […]
>> if the language doesn't even have a debugger for every platform that is able to
>> properly display its native types?
>
> Good ol' whataboutism ;)

I don't see how that's the case when I'm not attempting to evade a valid point. Do you mean that it's hypocritical, or something else?
3 days ago

On Sunday, 5 October 2025 at 03:51:54 UTC, Kapendev wrote:

>

On Wednesday, 1 October 2025 at 23:49:12 UTC, Clouudy wrote:

>

This is one of my bigger gripes about the way the DLF handles things. What's the point of things like a borrow checker, fancy DFAs for move semantics, or Phobos v3, if the language doesn't even have a debugger for every platform that is able to properly display its native types?

DLF this, DLF that... It's getting kinda tiring lol.

We already have debuggers, so not sure what the issue is. If they are "bad" at showing information, then that's a debugger problem. The RAD Debugger might be nice, though I haven't tried it myself.

One of the nice things about a good debugger is that you can view everything as it is at runtime; it's much easier to understand certain variables and data structures if you can actually look inside them at the time of execution instead of relying on stuff like print statements or your own expectations/knowledge of the code base.

I've tried to find any possible debugger that could solve this problem, including the RAD Debugger, but none of them could do everything I needed. And AFAIK there already were complaints about debugging in DMD, to the point that they're even on the GitHub for the compiler IIRC.

I think that a lot of the complaints about no visual progress being made on tooling or the language in general could be solved by a roadmap or some way to direct the community towards making their own contributions towards a specific goal, and then choosing a new goal after that one's been completed. Anything that makes the experience more streamlined would help, tbh.

3 days ago

On Sunday, 5 October 2025 at 22:41:36 UTC, Clouudy wrote:

>

I think that a lot of the complaints about no visual progress being made on tooling or the language in general could be solved by a roadmap or some way to direct the community towards making their own contributions towards a specific goal, and then choosing a new goal after that one's been completed. Anything that makes the experience more streamlined would help, tbh.

Sometimes people ask Walter for tasks to work on. After hearing the tasks he gives, the enthusiasm quickly dies down. For example, apparently no one wants to write an 80 bit floating point emulator.

Many attempts have been made to organize priority issues and motivate new contributors, including:

  • Bi-annual vision statements
  • DMD strike teams on Slack
  • Bug bounty program on Flipcause
  • Quarterly Bugzilla rewarding cycle
  • Ucora's IVY program
  • #dbugfix campaign

While they have resulted in positive effects, they weren't very successful. That doesn't mean the ideas are unsound, they could have just been executed poorly. But it goes to show: it's not as simple as just raising the idea "have a vision document" or "direct the community to work on specific issues". Unless you can give a specific implementation of those ideas with a track record of success, I don't expect it to go any differently than previous attempts unfortunately.

>

And AFAIK there already were complaints about debugging in DMD, to the point that they're even on the GitHub for the compiler IIRC.

It's good that you raise awareness for issues like this, but it's even better if you include links to the GitHub issues whenever they come up.

3 days ago

On Monday, 6 October 2025 at 11:48:57 UTC, Dennis wrote:

>

[snip]

Sometimes people ask Walter for tasks to work on. After hearing the tasks he gives, the enthusiasm quickly dies down. For example, apparently no one wants to write an 80 bit floating point emulator.

To be fair, not many people could write an 80bit floating point emulator. When people are complaining about stuff over and over, it's usually not low-hanging fruit that someone could figure out how to do in an hour. It comes back to the number of people in the community with both the skills to do these things and the motivation to do them. That's a hard problem when it's a voluntary project.

I know there was a big back and forth a few months ago about using AI in the D code base. Rather than re-litigate that, I'm curious if you are aware of Retrieval-augmented generation (RAG) [1], or know if any of the other major D developers are aware of it. I have heard of some people working on one for a less well-known probabilistic programming language that I follow (Stan).

This is basically a technique where you can take an off-the-shelf AI and provide it with some information that provides some additional context. The idea would be that off-the-shelf AIs may hallucinate more for D because it is a less well-known language. But if you feed in additional context, then you may get better results.

OpenAI has a pretty easy way to make Custom GPTs and add knowledge to it. So for instance, we could load in the D language specification and docs. We could load in the style guide. Maybe load in Ali's book. It might take a little coding, but there would probably be a way to load in the DMD code base itself. The limitation here is that you only load in 20 files up to 512MB and I don't think zip files work, so you would need to convert multiple files into one large text file. The end goal would be a custom GPT that is more specific to the D language.

So for instance, suppose we create a custom D GPT, then feed in the standard for 80bit floating point (maybe also an example of another type of emulator), then ask the custom GPT to write an emulator for it. See what happens. At least with a project like this we can create unit tests to compare the behavior of the hardware vs the emulator. That makes it a good test case. And if the concern is something being pure AI, then a human with more experience could take this as a starting point to clean up into a final version. I think it would be less work than starting from scratch.

And there might be other problems where this approach might provide a good starting point. Like how no one wants to be getting debuggers to work better.

I'm not saying that AI is a panacea, but it keeps getting better. I've had better success with ChatGPT5 than prior versions. It still hallucinates and gets stuff wrong, but the rate is lower than before. A custom GPT for D might help reduce hallucinations and incorrect responses further for D code. it could help kickstart some of these more difficult projects or otherwise reduce the burden on experienced D developers. Or otherwise, it could help people new to D come to the language, like how run.dlang.org can make it easy to get started with D (heck I bet you could combine the two, talk to the GPT in natural language to get it to write the code, then put it into run.dlang.org).

[1] https://en.wikipedia.org/wiki/Retrieval-augmented_generation

3 days ago

On Monday, 6 October 2025 at 13:54:12 UTC, jmh530 wrote:

>

I'm curious if you are aware of Retrieval-augmented generation
(RAG) [1], or know if any of the other major D developers are aware of it.

I'm not aware of that specific term but I am aware AIs can be specialized for specific domains. I haven't done anything like that myself yet.

>

So for instance, suppose we create a custom D GPT, then feed in the standard for 80bit floating point (maybe also an example of another type of emulator), then ask the custom GPT to write an emulator for it. See what happens.

80 bit floating point is almost completely decoupled from dmd and could be implemented in C, I don't see why the AI needs D-specific knowledge to write such an emulator. But the idea is interesting, and indeed maybe it can help improve the backend's debug info emission.

Even without a custom GPT it's already nice that I can ask an LLM how DWARF works, and on https://deepwiki.com/dlang/dmd I can ask where the DWARF emission is currently implemented in dmd. I remember at DConf '22 asking Luís Ferreira about enum member debug info generation because online I couldn't easily find info on how to do that.

But still, I'd be interested in seeing AI specialized in dmd / D, it's just not something I myself plan to look into short term.

3 days ago

On Monday, 6 October 2025 at 15:21:51 UTC, Dennis wrote:

>

On Monday, 6 October 2025 at 13:54:12 UTC, jmh530 wrote:

>

[...]

I'm not aware of that specific term but I am aware AIs can be specialized for specific domains. I haven't done anything like that myself yet.

[...]

Thanks.

3 days ago

On Monday, 6 October 2025 at 11:48:57 UTC, Dennis wrote:

>

Sometimes people ask Walter for tasks to work on. After hearing the tasks he gives, the enthusiasm quickly dies down. For example, apparently no one wants to write an 80 bit floating point emulator.

Alright I have no idea what an 80 bit floating point emulator is or why it's useful but if you can point me in the direction to making one I can try, I guess.

>

Many attempts have been made to organize priority issues and motivate new contributors, including:

  • Bi-annual vision statements
  • DMD strike teams on Slack
  • Bug bounty program on Flipcause
  • Quarterly Bugzilla rewarding cycle
  • Ucora's IVY program
  • #dbugfix campaign

While they have resulted in positive effects, they weren't very successful. That doesn't mean the ideas are unsound, they could have just been executed poorly. But it goes to show: it's not as simple as just raising the idea "have a vision document" or "direct the community to work on specific issues". Unless you can give a specific implementation of those ideas with a track record of success, I don't expect it to go any differently than previous attempts unfortunately.

I suppose you're right, but even if past attempts haven't been as successful we should at least keep trying, IMO.

> >

And AFAIK there already were complaints about debugging in DMD, to the point that they're even on the GitHub for the compiler IIRC.

It's good that you raise awareness for issues like this, but it's even better if you include links to the GitHub issues whenever they come up.

Here, there's a whole list of things that I'm talking about.