monad-bayes
monad-bayes copied to clipboard
Consider moving pipes dependency to separate library?
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.
@reubenharry what do you think about that?
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.
How about the following proposed directory structure:
-
monad-bayes
: Main library, containingsrc
,test
,benchmark
,models
,monad-bayes.cabal
-
monad-bayes-pipes
: All parts that also have pipes as a dependency
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?