On 6 January 2012 23:23, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
On 1/6/12 1:11 PM, Walter Bright wrote:
On 1/6/2012 10:25 AM, Brad Roberts wrote:
How is making __v128 a builtin type better than defining it as:

align(16) struct __v128
{
ubyte[16] data;
}

Then the back end knows it should be mapped onto the XMM registers
rather than the usual arithmetic set.

If it's possible, then it would be great to express the new constructs within the existing language (optionally by leaving it to the implementation to strengthen guarantees of certain constructs).

Now you're at odds with Walter's new take on it.. He seems to have changed his mind and decided library implementation of the complex/strict types is a bad idea now..?
 
I very warmly recommend avoiding defining things in the language and compiler wherever the same is possible within a library (however non-portable). Confining features to the language/compiler drastically reduces the number of people that can work on them.

Aye, and my proposal requests only the minimum support required from the language, allowing libraries to do the rest.
For some reason Walter seems to have done a bit of a 180 in the last few hours ;)