Beeflang - open source performance-oriented compiled programming language

Basile B. b2.temp at gmx.com
Thu Jan 9 20:38:31 UTC 2020


On Thursday, 9 January 2020 at 18:51:18 UTC, H. S. Teoh wrote:
> On Thu, Jan 09, 2020 at 04:58:16PM +0000, Basile B. via 
> Digitalmars-d wrote: [...]
>> A few good points however
>> 
>>   1. `??` and `?.` operators. D failed to get those.
>
> Wasn't there a proposal for the "Elvis operator" a while back? 
> Did nobody follow up on it with an actual DIP?  I would support 
> this. It's a pretty useful thing to have to not have to 
> continually check for null-ness in a long chain of dots. A 
> library solution is *possible* but ugly and has corner cases 
> that are not easily handled.

Yes there was an attempt by Razvan7 [1] and following a big 
discussion on the NG.
The attempt did not succeed because the implementation was, 
according to Walter, naive in the sense that there were cases 
where I don't remember what was doubly evaluated, leading to 
possible side-effects.

The attempt was for the Elvis so "?:" and not "??" (which makes 
less sense in D because of implicit bool eval of class instance, 
array, etc.).

[1] https://github.com/dlang/dmd/pull/7242


More information about the Digitalmars-d mailing list