Microsoft chose Go instead of C# or Rust to rewrite TypeScript
Dennis
dkorpel at gmail.com
Mon Oct 6 19:41:47 UTC 2025
On Monday, 6 October 2025 at 17:37:07 UTC, Clouudy wrote:
> 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.
D has 32-bit `float`, 64-bit `double`, and `real` which is either
80 bit or 64-bit depending on the target. Sometimes the compiler
not only needs to generate float instructions for those sizes,
but also perform floating point math for CTFE or constant folding:
```D
real x = 1.0 / 3.0;
```
Usually the compiler uses the same native processor instructions
it generates to compute the value of 0.3333333... at `real`
precision, but what if you are running dmd on a target with
64-bit real but creating an executable for a target with 80-bit
real? Then it should emulate those 80-bit float operations using
integer instructions.
Walter's post a linked has some pointers to get you started, but
honestly, don't feel pressured to work on it. Your language
server work is probably much more valuable, 80-bit floats are a
bit of a failure and not a priority issue, but if this sounds
interesting, it is a very accessible issue because it's a
well-defined and self-contained problem that doesn't require any
knowledge of compiler internals.
> I suppose you're right, but even if past attempts haven't been
> as successful we should at least keep trying, IMO.
We are. This year, we have a new [Project Coordinator
role](https://forum.dlang.org/post/pzrsrbwcdnysdgbyjijq@forum.dlang.org) for example.
> [Here, there's a whole list of things that I'm talking
> about.](https://github.com/dlang/vision-document/blob/main/gripes-wishes-feedback.md#toolsecosystem)
I'm talking about the [issue
list](https://github.com/dlang/dmd/issues) specifically. The key
difference is that items on there contain a reduced code example,
expected behavior, and actual behavior. That means a programmer
can pick it up, fix the compiler to exhibit the expected
behavior, and close it. For example:
https://github.com/dlang/dmd/issues/20004
That's something you can ask someone to fix. 'debug info doesn't
work well' can't be fixed like that, it first needs to be broken
down into actionable items such as the above issue. I know that's
a lot of work and I don't expect you to do all of that, but if
you want to do more than raise awareness for high level issues
but don't have enough time/expertise to create the fixes
yourself, filing issues or raising awareness about existing
overlooked issues in the tracker is a good intermediate way to
contribute.
More information about the Digitalmars-d-learn
mailing list