monad-bayes icon indicating copy to clipboard operation
monad-bayes copied to clipboard

Consider moving pipes dependency to separate library?

Open turion opened this issue 2 years ago • 4 comments

Right now, when one wants to install monad-bayes, it pulls in pipes as a dependency, and with that many other dependencies completely unrelated to monad-bayes. I'd recommend splitting out the parts that use pipes (I think it's just a streaming example?) into a separate library monad-bayes-pipes in the same repository. That way, the dependency tree of monad-bayes is much more lightweight, which makes it easier for other to use it.

turion avatar Feb 16 '23 17:02 turion

@reubenharry what do you think about that?

turion avatar Feb 16 '23 17:02 turion

That's fine with me. Especially now that rhine-bayes exists, the streaming stuff is not so important. I think the docs may mention the tui, which uses mcmcP, but other than that, I think splitting it out should be straightforward.

reubenharry avatar Feb 17 '23 00:02 reubenharry

How about the following proposed directory structure:

  • monad-bayes: Main library, containing src, test, benchmark, models, monad-bayes.cabal
  • monad-bayes-pipes: All parts that also have pipes as a dependency

turion avatar Jun 13 '23 11:06 turion

Fine with me, although if it requires more than a little work, it seems to me like not a good use of time, since monad-bayes is unlikely to have many users beyond us. Note btw that the notebooks have a wide variety of dependencies, and those are separated, using nix, from the main dependencies of monad-bayes. Perhaps the pipes examples could just be put in notebooks too?

reubenharry avatar Jun 13 '23 17:06 reubenharry