cats
cats copied to clipboard
Optimize `Alternative` (part 4): add `prependK`/`appendK` specializations for Cats monad transformers
Adds optimized specializations for the new prependK
/appendK
methods introduced in the initial PR (#4014).
Previous PRs:
- #4052.
- #4055
The PR is created as "Draft" because this work was done quite a long ago and I just want to make sure I didn't lose something after lots of merges and rebases. But perhaps it is good to go already.
I've made a deep inhale and re-reviewed the changes here. I would say they look good to me and seems all the tests and Mima checks are happy as well. So I would dare to claim the PR is ready to go)
I think that all the concerns have been addressed here. Could you take one more look please?
Sorry, haven't forgotten. Rather than "one more look" it needs "one proper look" actually 😅
@armanbilge I added direct NonEmptyAlternativeLaws
tests for IRWST
type.
But besides that I could not refrain from cleaning that file up a little bit:
-
class ReaderWriterStateTSuite
renamed toIndexedReaderWriterStateTSuite
to make it corresponding to the file name. - "Organize imports" from VSCode.
- The test for
AlternativeLaws
is made looking more alike other law tests around it. - Fixed compiler warnings (just in that file – yes, I did it there too!)
Nowadays, there's a lot of hype on AI technologies around – lots of people try to ruminate on what the AI can or cannot do and how it can be useful or even dangerous to all of us.
I personally think though, that at least one of the things that the AI could really help with – is to review such huge and boring PRs like this one.
is to review such huge and boring PRs like this one.
Sorry I dropped the ball on reviewing this 😢 also I think your force-pushes erased my review progress 😅
Hi, @armanbilge, @johnynek , Sorry for the ping. Just to confirm with you – does it make sense to maintain this PR? Actually, I'm not asking about rushing reviewing it, but if you think it still could be useful (somewhen later), then I could allocate some time to actualize it – rebase on main, resolve conflicts, etc. Otherwise, I am fine just to go close it, no problem from my side – it does not look that critical anyway. Thanks!