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

Applicative is Functor #77

Merged
merged 1 commit into from
Dec 25, 2019
Merged

Applicative is Functor #77

merged 1 commit into from
Dec 25, 2019

Conversation

liyishuai
Copy link
Member

@liyishuai liyishuai commented Dec 22, 2019

Help needed:

  • Instance "PApplicative is PFunctor"

@liyishuai liyishuai requested a review from gmalecha December 22, 2019 03:32
@gmalecha
Copy link
Collaborator

I don't know how useful people find the P-versions of things. Does it make sense to just remove them? What we do with them can be accomplished via dependent types at some computation cost.

@liyishuai
Copy link
Member Author

I haven't used them yet. We can remove them if that doesn't break any dependant (CI can tell that).

@gmalecha
Copy link
Collaborator

I think this is a good way to go.

I also wonder if there would be interest from the community to pull out Monad, Functor, Applicative as a separate library. There are a lot of libraries with exactly the same definitions and it is kind of annoying to have the same code in multiple dependencies because they don't interoperate. Specifically, I am thinking about stdpp, extlib, and meta-coq, but I wouldn't be surprised if there are others.

@vzaliva
Copy link
Contributor

vzaliva commented Dec 24, 2019

I support the idea of pulling monads into a separate package. It should be lean and minimalistic so it could be easily combined with other libraries.

@liyishuai
Copy link
Member Author

Should we start another repo for that monad package?

@gmalecha
Copy link
Collaborator

I think so. I think it deserves a bit of thought though as we would like a light weight solution that is still sufficient to do almost everything that people already do.

I think it is also important to find who has existing implementations of this functionality and what would get them to switch to a dependency.

@vzaliva vzaliva mentioned this pull request Dec 25, 2019
@liyishuai liyishuai merged commit d97d562 into coq-community:master Dec 25, 2019
@liyishuai
Copy link
Member Author

Discussions are continued in #79

@liyishuai liyishuai mentioned this pull request Jan 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants