Tristan Brindle

Results 68 comments of Tristan Brindle
trafficstars

(An "after pred() has returned false" read isn't going to be UB as the access to the underlying sequence is still going to be bounds checked, but we should still...

Another good question that I really ought to document somewhere! I actually changed this recently -- previously `filter`, `drop_while` etc did the same sort of caching as Ranges. The new...

To explain the seemingly asymmetric requirement that `last()` should be `O(1)`, it's because I suspect that people coming from ranges will write things like `while (cur != seq.last()) { ......

> > * `is_last()` implementations must be `O(1)` > > Which I guess means either `flux::drop_last_while` must be non-const-iterable (so it can cache the last cursor, and would I guess...

So the theory that `is_last()` must be `O(1)` but `first()` can be linear is all very well, but not when I do things like this: https://github.com/tcbrindle/flux/blob/1c128b50af95fc39b6683d437f9210239e219836/include/flux/op/reverse.hpp#L61-L64 This is... really not...

Thanks Barry for asking tricky questions and making me think deeply about this! I think that silent, unexpected quadratic behaviour is absolutely unacceptable. That means that `is_last(seq, cur)` **must** be...

Returning to this after a while... my latest thinking is as follows: * The `last()` function, if provided, must be `O(1)` (otherwise there's no point to it, as for any...

I agree that we should definitely have a logo! I quite like this proposal -- the boxes suggest a sequence or pipeline of operations, which seems appropriate. I'd like to...

One idea I had a while ago was to have something like a stylised version of the "closed integral" symbol from maths: $$\oint$$ It looks a bit like a lowercase...

Hi @isaacy2012, > I'm currently working on the products feature and I have a rough implementation that produces the correct output for the example `seq = [a, b, c, d]`....