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

Break into combinator/backend packages #25

Closed
imalsogreg opened this issue May 21, 2018 · 4 comments · Fixed by #26
Closed

Break into combinator/backend packages #25

imalsogreg opened this issue May 21, 2018 · 4 comments · Fixed by #26

Comments

@imalsogreg
Copy link
Collaborator

We use servant-checked-exceptions in the frontend, and would like to avoid a transitive dependency on servant-server, servant-client, conduit etc.

What do you think of having two packages here servant-checked-exceptions-core (just types and pure functions) and servant-checked-exceptions (instances and functions that depend on server-side code)?

@cdepillabout
Copy link
Owner

Yes, this is definitely a good idea. I'm actually surprised I didn't have a ticket listing this.

If you or anyone else wanted to get started working on this, I would definitely merge in a PR, or help clean it up.

@imalsogreg
Copy link
Collaborator Author

Thanks, I'll get started!

@cdepillabout
Copy link
Owner

@imalsogreg I also have an issue about breaking up stuff that is currently in the Servant.Checked.Exceptions module.

#18

If doing that would help you with this issue, please feel free to do what is necessary 👍

@imalsogreg
Copy link
Collaborator Author

This is the directory structure I have in mind - trying to stick to the style you are using already:

Current:

src/Servant/Checked
 - Exceptions.hs
 - Exceptions
   - Internal.hs
   - Internal
     - Envelope.hs
     - Prism.hs
     - Utils.hs
     - Servant.hs
     - Servant
       - API.hs
       - Client.hs
       - Docs.hs
       - Server.hs

Future:

servant-checked-exceptions-core/src/Servant/Checked
  - Exceptions.hs
  - Exceptions
    - Verbs.hs
    - Envelope.hs
    - Internal.hs
    - Internal
      - Envelope.hs
      - Prism.hs
      - Utils.hs
      - Servant.hs
      - Servant
        - API.hs
        - Docs.hs

servant-checked-exceptinos/src/Servant/Checked
  - Exceptions.hs
  - Exceptions
    - Internal.hs
    - Internal
      - Servant.hs
      - Servant
        - Client.hs
        - Server.hs

Open to suggestions! Are you bothered by having to maintain two hackage packages instead of 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 a pull request may close this issue.

2 participants