Orace

Results 78 comments of Orace

For readability, I use the not yet merged `ValueTuple` providing overloads of `Lead` and `Lag`. Current behavior is: ```C# var nums = new[] {1,2,3 }; nums.Lag(1); // [1,0],[2,1],[3,2] nums.Lead(1); //...

This PR fix #630 It depends on #655 that fix #652 It also do a part of #654

@atifaziz you can review #655 first

GroupBy will consume the full sequence on first iteration. A handcrafted implementation may avoid that.

`ports` is an array of lazy sequences. And with the help of some buffer the source sequence is not enumerate more than needed. Not like GroupBy that will consume the...

I will try to build a useful example. Let says that you have the logs of a connection between a client and a server. All client request start with `Q`...

some overload of `Partition` actually implement dispatch with 2 ports.

> Perhaps something is missing in my understanding but I don't see how you can do this with sequences that are _lazy._ Also, your return value is a read-only list...

I think you can avoid the introduction of `Tuple` with `Lead` and `SkipLast`: ```C# var nums = new[] { -5, 1, 2, 3, 15, 16, 17, 95, 100, 101, 102,...

> Both of your Solutions would enumerate the source collection multiple times. I don't think so, both `Lead` and `Lag` use a `Queue` (here of size 1) in their implementation...