On 8/30/10 14:16 PDT, Tomek Sowiński wrote:
Dnia 30-08-2010 o 21:10:10 Tomek Sowiński <j...@ask.me> napisał(a):

How about reduce!fun(range)? It's pure/nothrow when fun is
pure/nothrow. Plenty of std.algorithm would benefit.

Eh, nevermind. popFront() must mutate the range so it can't be pure.
Need to get some sleep...

It can still be nothrow depending on input, which makes a solid point. Arguments against qualifier/attribute propagation based on sheer semantics ("it's abs so it must be pure") break badly in the face of higher-order functions.

It's pretty clear we need an attribute propagation mechanism if we want e.g. to make Phobos const-aware.


Andrei

Reply via email to