Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created April 26, 2023 11:39
Show Gist options
  • Save Whateverable/7db3ace67d886a653dbbd89f91ca4935 to your computer and use it in GitHub Desktop.
Save Whateverable/7db3ace67d886a653dbbd89f91ca4935 to your computer and use it in GitHub Desktop.
bisectable6
old=2023.04 (1..10).lazy.sort # meh
Bisecting: 6 revisions left to test after this (roughly 3 steps)
[7ac661126d08f836a44c54201dfe421ee44dc50f] RakuAST: simplify Doc::Block hierarchy
»»»»» Testing 7ac661126d08f836a44c54201dfe421ee44dc50f
»»»»» Script output:
Cannot sort a lazy list
in block <unit> at /tmp/zcbHpXG8D7 line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot sort a lazy list
in block <unit> at /tmp/zcbHpXG8D7 line 1
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 7267e7f1b3f7555ebc91fb801018fce4a8179f50
»»»»» Script output:
Cannot sort a lazy list
in block <unit> at /tmp/zcbHpXG8D7 line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot sort a lazy list
in block <unit> at /tmp/zcbHpXG8D7 line 1
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 13e9628496430786251b8b27eb6a43f0e90c950f
»»»»» Script output:
Cannot sort a lazy list
in block <unit> at /tmp/zcbHpXG8D7 line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot sort a lazy list
in block <unit> at /tmp/zcbHpXG8D7 line 1
»»»»» The output is identical
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 2edcaa351251ff33ebd48de7cdc18ac69b6edf0d
»»»»» Script output:
The iterator of this Seq is already in use/consumed by another Seq (you
might solve this by adding .cache on usages of the Seq, or by assigning
the Seq into an array)
in block <unit> at /tmp/zcbHpXG8D7 line 1
»»»»» Script exit code: 1
»»»»» Bisecting by output
»»»»» Output on “old” revision is:
Cannot sort a lazy list
in block <unit> at /tmp/zcbHpXG8D7 line 1
»»»»» The output is different
»»»»» Therefore, marking this revision as “new”
2edcaa351251ff33ebd48de7cdc18ac69b6edf0d is the first new commit
commit 2edcaa351251ff33ebd48de7cdc18ac69b6edf0d
Author: Elizabeth Mattijsen <liz@raku.rocks>
Date: Wed Apr 26 10:33:21 2023 +0200
Add `is-monotonically-increasing` method to Iterators
Returns False by default. If returning True, then .sort() can pass
on the underlying iterator unchanged in a new Seq.
This now allows:
say (1..*).sort; # (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14...
to work, rather than throwing because the underlying iterator is lazy.
src/core.c/Any-iterable-methods.pm6 | 23 +++++++++++++----------
src/core.c/Iterator.pm6 | 18 +++++++++++-------
src/core.c/Rakudo/Iterator.pm6 | 5 +++++
src/core.c/Range.pm6 | 3 ++-
4 files changed, 31 insertions(+), 18 deletions(-)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment