May 04, 2012
H. S. Teoh:

> This makes me wonder if such a thing is implementable in D
> without sacrificing efficiency.

Part of it is surely implementable. But if it's not in Phobos no one will use it, and even if you put those things in Phobos, I suspect you will not see a lot of D code in the wild using them.


> but the converse assignment will have a check,
> either runtime or compile-time if possible, to ensure the assigned value is within range).

Performing those tests at compile-time is currently generally not possible in D because despite D has strong compile-time skills, the code is run at compile time only if's evaluated in a static context. At best you have to wrap your literals in some template call, that calls CT code, but it's not natural coding and I am not sure it's enough in all cases. There are ways to solve this problem introducing some extra capabilities in D, in the last years I have suggested several alternative ideas to do similar things, but they were ignored every time.

Bye,
bearophile
1 2
Next ›   Last »