The forked elephant in the room
Richard (Rikki) Andrew Cattermole
richard at cattermole.co.nz
Tue Jan 16 20:37:25 UTC 2024
On 17/01/2024 8:50 AM, Walter Bright wrote:
> On 1/16/2024 12:23 AM, Richard (Rikki) Andrew Cattermole wrote:
>> However on that topic, I was going to do a Unicode talk for DConf
>> Online this year, but alas that kinda depended upon UAX31 identifiers,
>> and you haven't been too keen to approve that line of work so I
>> haven't done it.
>
> I have actually approved it. My mistake it was not properly communicated
> to you.
The updated plan was not as you never replied. The earlier plan of
removing non-starters was (but that is a breaking change and strategy
surrounding that changed before I could implement it fully).
https://github.com/dlang/dmd/pull/15307#issuecomment-1620636247
I'm double checking that we are meaning the same thing. Regardless,
breaking change prevention means I need to check in with you about how
to move forward.
>> Now if only I could convince you about having reference counting...
>> that's another lesson that came from it. Good chance I'm going to have
>> to drop DIP1000/scope if that cross behavior isn't resolved tbh. I can
>> bare the pain, but I can't ask others to.
>
> We've investigated ref counting several times, but never figured out a
> way to make it both efficient and memory safe.
That is not our job.
Efficiency is a problem for the backend to deal with (LLVM/GCC only).
Doing it with copy constructors and destructors removes all possibility
of ever optimizing it. They can't be elided, nor be communicated to the
backend that this is what they are.
Such backends have the capability for other languages like Objective-C.
We'd need to figure out how to tap into it, but it is there in some form.
Regardless it won't be any worse than what we have now. The only
difference being is that we'll be able to encode that it is a lifetime
mechanic in the type system allowing it to override scope and hopefully
be key to helping get D classes working in -betterC (decoupling it from
druntime is something I want to look into).
More information about the Digitalmars-d
mailing list