Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Re-imagine infectiousness (Part 1/N)
- lose the $!buffer attribute on the ParaSeq class: initiall, a BufferIterator will be made as the source: if nothing special happens, then this will produce the values transparently. If a !start *does* happen, the buffer will be zapped from the BufferIterator and become the first buffer to be handled, and the sourc iterator of the BufferIterator will become the source iterator of the ParaSeq object. This also allows losing the $!parent attribute in BufferIterator - added many invocant constraints - replace the !pass-the-chain method by !re-source: this will no longer create a new ParaSeq object because it is not needed: swapping source/result iterators is enough, as each iterator itself should have all it needs. - the default state of $!result is now nqp::null Sadly this does not fix all issues with infectiousness yet, hence only the Part 1/N
- Loading branch information