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

Avoid orphan instances #7

Open
iphydf opened this issue Dec 18, 2016 · 1 comment
Open

Avoid orphan instances #7

iphydf opened this issue Dec 18, 2016 · 1 comment
Assignees

Comments

@iphydf
Copy link
Member

iphydf commented Dec 18, 2016

This breaks client code in confusing ways.

iphydf added a commit to iphydf/hs-msgpack-rpc-conduit that referenced this issue Dec 18, 2016
Ideally we would not have orphan instances. PR TokTok#5 introduced them. See
https://stackoverflow.com/questions/3079537/orphaned-instances-in-haskell
for some reasons why we want to avoid them.
@SX91
Copy link
Contributor

SX91 commented Dec 29, 2016

The main reason we have orphans for IsReturnType and IsClientType is simple: instances for Returns a are implementation dependent, but instances for o -> r are not.

I've separated server/client implementations from types to allow package split to server, client and base packages. It needs some more refactoring though.

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