I needed to make some changes to Control.RateLimit for my own purposes (i.e. to take MonadIO m instead of IO actions), but had to bring things up-to-date first before I could do that.
The two major changes I made were to:
remove the use of a datatype context on RateLimit a
Before making my own (MonadIO) changes, I also took the liberty to reformat the module to try to reflect more recent Galois code on GitHub (at least as far as I could gather :). The reformatting occurs in the last commit in this PR if you'd prefer to drop that change.
If you'd happen to be interested in a version of Control.RateLimit that deals in MonadIO m instead of IO (using monadIO), then let me know and I can open another PR.
Hi Adam,
Thanks for this library!
I needed to make some changes to
Control.RateLimit
for my own purposes (i.e. to takeMonadIO m
instead ofIO
actions), but had to bring things up-to-date first before I could do that.The two major changes I made were to:
RateLimit a
Chan
toTChan
due tounGetChan
andisEmptyChan
now being deprecated (see http://ghc.haskell.org/trac/ghc/ticket/4154). This adds a dependency onstm
.Before making my own (
MonadIO
) changes, I also took the liberty to reformat the module to try to reflect more recent Galois code on GitHub (at least as far as I could gather :). The reformatting occurs in the last commit in this PR if you'd prefer to drop that change.If you'd happen to be interested in a version of
Control.RateLimit
that deals inMonadIO m
instead ofIO
(usingmonadIO
), then let me know and I can open another PR.Thanks, Brian