News for hackers. Stuff that matters.
Re:Pythonic monotonic by eesmith on Friday August 13, 2021 @01:21PM (#28171776)
Neat link to working code!

"⟨3, 2, 1⟩" generates "⟨ 2 1 3 ⟩". I expected "⟨1, 2, 3⟩".

Re:Pythonic monotonic by mlochbaum on Friday August 13, 2021 @01:30PM (#28171865)
Good spot, edited in a fix. I had ⌽ instead of ⌽∘⊢ before, which would end up rotating runs by 1 instead of reversing them (downsides of ambivalent functions).
Re:Pythonic monotonic by eesmith on Friday August 13, 2021 @02:57PM (#28172915)
⟨1, 1, 2⟩ goes to ⟨ ⟨ 1 1 ⟩ ⟨ 2 ⟩ ⟩. I expected ⟨ ⟨1, 1, 2⟩ ⟩

This task is surprisingly tricky!

Re:Pythonic monotonic by mlochbaum on Friday August 13, 2021 @03:25PM (#28173375)
That's by design (or rather, I knew it would do this and took the vague "ascending" and "descending" in the description to mean adjacent elements wouldn't be equal). Using < in d means ascending runs are strict but descending ones aren't. Probably better to use ≤ to swap these. That would match the run-splitting scheme used by Timsort.