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