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

"Apply's ap; derivable as" mentioned in both Chain and Monad #133

Closed
rpominov opened this issue Apr 11, 2016 · 4 comments
Closed

"Apply's ap; derivable as" mentioned in both Chain and Monad #133

rpominov opened this issue Apr 11, 2016 · 4 comments

Comments

@rpominov
Copy link
Member

Is this intentional? Monad depends on Chain anyway, so it seems redundant.

Also I noticed it says "Apply's ap" not "Applicative's ap", so with Chain or Monad we only get Apply for free, not Applicative?

Just a thought: maybe there should be duplication, but in Monad it should say "Applicative's ap"?

@CrossEye
Copy link

I'm not sure what you're saying. ap is defined by the Apply spec. So if ap is derivable, it's "the ap method of Apply" or "Apply's ap" that we would discuss. With Chain, we do not get Applicative for free. (There are non-Applicative Chains, and Applicatives that are not Chains.) With Monad, we must implement both Chain's chain and Applicative's of, but we can derive Apply's ap.

@rpominov
Copy link
Member Author

That makes sense, I came to the similar conclusion after thinking more about it. The only thing that bugs me now is:

Monad depends on Chain anyway, so it seems redundant.

@CrossEye
Copy link

Yes, that is a bit redundant.

@rpominov
Copy link
Member Author

Fixed by #134

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

No branches or pull requests

2 participants