Safe Haskell  None 

Language  Haskell2010 
 data ResamplingBuffer m cla clb a b = ResamplingBuffer {
 put :: TimeInfo cla > a > m (ResamplingBuffer m cla clb a b)
 get :: TimeInfo clb > m (b, ResamplingBuffer m cla clb a b)
 hoistResamplingBuffer :: (Monad m1, Monad m2) => (forall c. m1 c > m2 c) > ResamplingBuffer m1 cla clb a b > ResamplingBuffer m2 cla clb a b
Documentation
data ResamplingBuffer m cla clb a b Source #
A stateful buffer from which one may get
a value,
or to which one may put
a value,
depending on the clocks.
ResamplingBuffer
s can be clockpolymorphic,
or specific to certain clocks.
m
: Monad in which theResamplingBuffer
may have side effectscla
: The clock at which data enters the bufferclb
: The clock at which data leaves the buffera
: The input typeb
: The output type
ResamplingBuffer  

hoistResamplingBuffer :: (Monad m1, Monad m2) => (forall c. m1 c > m2 c) > ResamplingBuffer m1 cla clb a b > ResamplingBuffer m2 cla clb a b Source #
Hoist a ResamplingBuffer
along a monad morphism.