haskell-servant / servant-quickcheck

40 stars 21 forks source link

Servant <-> Servant-Quickcheck dependency loop #74

Open akhesaCaro opened 3 years ago

akhesaCaro commented 3 years ago

A small part of servant's documentation depends on servant-quickcheck (see this)

It makes it difficult to keep both projects synchronized and buildable since they're not in the same repository. For instance, the servant cookbook doesn't compile because servant-quickcheck doesn't compile against current master. We are in a dependency loop somehow.

How should we fix that?

IMO, there are 2 possibles fixes for this problem :

  1. Move servant-quickcheck into the same repository as servant. This way we would avoid breaking one with the other. Why have they been separated in the first place? Maybe there is a reason that I am not aware of.
  2. Move servant's cookbook testing part into servant-quickcheck repository since it depends on it. It would remove servant's dependency on servant-quickcheck and make it compile with its cookbook.

What do you think?

jkarni commented 3 years ago

I think both are reasonable (though if 2, maybe only remove the servant-quickcheck-specific parts of testing for the main servant repo/cookbook?)

akhesaCaro commented 3 years ago

I prefer the first solution, but, in the first place, I will obviously remove the servant-quickcheck-specific parts of testing from the servant repository to make the cookbook compile.

alpmestan commented 3 years ago

My vote goes to 1 if @jkarni doesn't mind.

tchoutri commented 2 months ago

I will enact 1.