cdepillabout / servant-rawm

Effectful Raw handler for Servant servers.
https://hackage.haskell.org/package/servant-rawm
BSD 3-Clause "New" or "Revised" License
16 stars 7 forks source link

Move client, docs, server into separate packages #15

Closed Krasjet closed 4 years ago

Krasjet commented 4 years ago

This pull request separates client, docs, server, api, into four different packages to address the issue mentioned in #14.

The base package servant-rawm re-exports everything from sub-packages, so after the update, applications should compile without any modifications. If breaking changes are not a concern, we could merge servant-rawm-api and servant-rawm to a single package.

Krasjet commented 4 years ago

The alternative implementation can be found here: https://github.com/Krasjet/servant-rawm/tree/merge. In this implementation, servant-rawm defines the API and other packages defines the implementation.

It will cause some breaking changes, but it only requires three extra packages and can be easier to maintain. I personally prefer this solution.

cdepillabout commented 4 years ago

@Krasjet If you recommend the other approach, then please open a PR for that as well.

Also, are you using servant-rawm professionally or anything? Would you be interested in helping maintain it moving forward?

Krasjet commented 4 years ago

Of course. It's used by one of my side projects (karasu). It's not professional or something, but I'm actively using it.

Krasjet commented 4 years ago

superseded by #16