Beeflang - open source performance-oriented compiled programming language

H. S. Teoh hsteoh at quickfur.ath.cx
Thu Jan 9 18:51:18 UTC 2020


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. 


>   2. sane `switch` with implicit `break` and explicit `fallthrough`.

Yeah, I agree `fallthrough` is a much better construct that implicit
fallthrough with mandatory repetitive `break`s. I doubt this is possible
to change in D at this point, though.  Unless people get onboard with
D3. But so far the official stance appears to be that D3 will never
happen.

Also, did you know D's switch statement has allow insane syntax, like
Duff's device (and many -- far more horrible -- things)?  I'd love to
get rid of that, as it needlessly obfuscates code, and any optimizing
compiler worth its salt ought to be able to emit that sort of code
automatically without needing the programmer to explicitly write it that
way.


T

-- 
Fact is stranger than fiction.


More information about the Digitalmars-d mailing list