Skip to content
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

Consider moving Unapply out of cats #1607

Closed
kailuowang opened this issue Apr 17, 2017 · 11 comments
Closed

Consider moving Unapply out of cats #1607

kailuowang opened this issue Apr 17, 2017 · 11 comments
Assignees
Milestone

Comments

@kailuowang
Copy link
Contributor

After #1583, cats no longer uses the Unapply machinery to overcome SI-2712.
There are other projects using it, e.g. @wheaties's AutoLifts and my henkan We should consider moving Unapply to a separate project since it's no longer needed by cats and it is not a cohesive part of the what cats' offering, i.e. lib for pure functional programming.

@kailuowang kailuowang added this to the 1.0.0-MF milestone Apr 17, 2017
@ceedubs
Copy link
Contributor

ceedubs commented Apr 17, 2017

There was a pre-SI-2712 fix issue similar to this: #574. I think that it's largely irrelevant now, though.

FWIW, I'm 👍 on removing Unapply from Cats. Since the SI-2712 fix, it's a lot less common to want it than previously, and I don't think it's very closely related to Cats.

@wheaties
Copy link

Once I get TwoTails to a point, I will happily remove Unapply from AutoLifts. Just not enough free time to prioritize.

@milessabin
Copy link
Member

I think it would be good to remove it before Cats 1.0.

@kailuowang
Copy link
Contributor Author

How about we move this to kittens? @milessabin

@milessabin
Copy link
Member

Haven't we just removed unapply from Kittens though?

@kailuowang
Copy link
Contributor Author

@milessabin yes we did. I am not sure if kittens is the right place for it either. I think the Unapply machinery could be helpful for scenarios where the left-to-right partial unification doesn't apply, but I don't know where it should go either. Maybe everyone just copy it to their own project since the usage will be so limited?

@johnynek
Copy link
Contributor

johnynek commented Apr 24, 2017 via email

@ceedubs
Copy link
Contributor

ceedubs commented Apr 28, 2017

@johnynek I could get behind a micro-library that just provides Unapply (though I personally don't have a use-case for it). But I really don't see any motivation to tie it to Cats. Cats wouldn't depend on it, and it wouldn't depend on Cats.

@kailuowang
Copy link
Contributor Author

@ceedubs that's a good point. Another thing that we could move to this micro library would be the Trivial class removed in this PR #1621. If we decide to create a new repo for them, shall we create it directly under typelevel github org, or shall we create under another account and go through the incubation process?

@johnynek
Copy link
Contributor

johnynek commented Apr 28, 2017 via email

@milessabin
Copy link
Member

@kailuowang kittens already has Trivial1 ... I'd be happy to see Trivial join it.

kailuowang added a commit to kailuowang/cats that referenced this issue May 18, 2017
@kailuowang kailuowang self-assigned this May 18, 2017
kailuowang added a commit to kailuowang/cats that referenced this issue May 18, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants