Skip to content

Remove redundant Monad requirement when Parallel is provided #2180

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

Closed
wants to merge 1 commit into from

Conversation

ceedubs
Copy link
Contributor

@ceedubs ceedubs commented Mar 2, 2018

I believe this will break binary compatibility, so it probably won't
be able to make it in until the eventual Cats 2.0. I'm not sure what the
current branch strategy is for this sort of thing (if we have one yet).

I believe this will break binary compatibility, so it probably won't
be able to make it in until the eventual Cats 2.0. I'm not sure what the
current branch strategy is for this sort of thing (if we have one yet).
@ceedubs ceedubs requested a review from LukaJCB March 2, 2018 16:02
Copy link
Member

@LukaJCB LukaJCB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, thank you! :)

@LukaJCB
Copy link
Member

LukaJCB commented Mar 2, 2018

Is this going to be MiMa compatible though? 🤔

@ceedubs
Copy link
Contributor Author

ceedubs commented Mar 2, 2018

@LukaJCB see comment above :)

@LukaJCB
Copy link
Member

LukaJCB commented Mar 2, 2018

Oh, duh, sorry about that!

@johnynek
Copy link
Contributor

johnynek commented Mar 2, 2018

I wonder when we are breaking if we should do:

trait Parallel[M[_]] {
  type F[_]
}

Since F is generally only used as an intermediate type, this could make it easier to specify the types when you need to.

@kailuowang
Copy link
Contributor

we don't have a branch strategy yet. we might have a cats 2.0 that is bin compat on scala 2.11 and 2.12.
So this may have to wait until Cats 3.0.

@johnynek
Copy link
Contributor

johnynek commented Mar 2, 2018

Why call it 2.0 if it is binary compatible?

@kailuowang
Copy link
Contributor

kailuowang commented Mar 2, 2018

@johnynek, TBC it's just a possibility, we might be forced to drop scala 2.10 if we upgrade scalajs. We would want to reserver 1.x versions for 2.10 if we want to continue support 2.10 and back port features to it, which means that the main branch (with the latest scalajs and discipline (also dropping 2.10) will have to be on 2.x version numbers.

@LukaJCB
Copy link
Member

LukaJCB commented Mar 5, 2018

I was also thinking about that @johnynek (RE: making F an abstract type member), this would make things easier a lot of the time I think, it might have some drawbacks in other situations that we haven't explored yet. IMO abstract type members are a really cool feature that Haskell/PureScript seem to lack and in hindsight I think we could have probably made that F an abstract type member.
Oh well, maybe in Cats 3.0 😄

@diesalbla
Copy link
Contributor

@LukaJCB @ceedubs This looks like an old and deprecated PR. The current version has no Monad in parTraverse.

@LukaJCB LukaJCB closed this Dec 7, 2019
@tnielens
Copy link
Contributor

tnielens commented Apr 8, 2021

I think this PR was still relevant. The issue noted that parTraverse has no Monad constraint while its syntax method in ParallelTraversableOps.parTraverse unnecessarily has one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants