On Monday, 27 April 2015 at 06:52:11 UTC, Manu wrote:
On 27 April 2015 at 15:58, Vlad Levenfeld via Digitalmars-d
<digitalmars-d@puremagic.com> wrote:
Phobos containers already support the first line, and it would be a
natural extension to make them support the second.


Sure, it's not complicated. It's something I had done in this other code and
showing for example.


Yeah, see I don't feel making a simple thing like an array into
something more complex by wrapping it in templates is ever a good
thing to do.
I just think it's a missed opportunity that the compiler doesn't
support any of this in the language.

It would appear at face value to be a great opportunity for lowering. Assignment can lower to .copy(), operators can lower to map!(...)

builtin slicesopSliceAssign (and opSliceOpAssign) understanding ranges as source operands is a good idea. I might even see if I can implement it.

Lowering array operations to lazy ranges seems like a huge can of worms. Not so keen. Lazy array ops are great, but I don't see it working out as a builtin feature unless it had it's own syntax.

Reply via email to