-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Removed deprecation of >> and changed its param to be a by-name #2043
Conversation
657a41b
to
8f74c9c
Compare
I'm generally +1 on this, but should we maybe move it to |
I thought about that but settled on leaving |
I see, yeah I think that makes sense! :) |
I think you'll need to add a mima exception |
Yeah, just pushed a mima fix. |
Codecov Report
@@ Coverage Diff @@
## master #2043 +/- ##
==========================================
+ Coverage 95.05% 95.07% +0.01%
==========================================
Files 311 311
Lines 5255 5255
Branches 114 124 +10
==========================================
+ Hits 4995 4996 +1
+ Misses 260 259 -1
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me.
In FS2, we rely heavily on recursive functions that return values of type
Pull[F,O,R]
. These functions typically take a form similar to:Recently, @pchlupacek noticed that FS2 defines
*>
with a by-name param whereas cats defines*>
with a strict param. Such recursive programs are broken if we use a strict param. Hence, we are going to change the FS2 definition of*>
to be strict and reintroduce>>
with a by-name param and then use>>
in all recursive pulls.Ideally, cats would have the same definition for
>>
, so in this PR I removed the deprecation of>>
and defined it with a by-name param, making it a true alias forflatMap(_ => fb)
. Note that we already havefollowedByEval
andforEffectEval
, though the syntax overhead of using those is way too high IMO.