Safe Haskell | None |
---|
Dependency tracking
- newtype DepT m a = DepT {
- unDepT :: StateT LocalHistory m a
- runDepT :: DepT m a -> m (a, LocalHistory)
- data LocalHistory = LocalHistory {
- expDependency :: Maybe E
- newLocalVarId :: Int
- depT :: Monad m => E -> DepT m E
- depT_ :: Monad m => E -> DepT m ()
- mdepT :: Monad m => MultiOut [E] -> MultiOut (DepT m [E])
- stripDepT :: Monad m => DepT m a -> m a
- stmtOnlyT :: Monad m => Exp E -> DepT m ()
- execDepT :: Monad m => DepT m a -> m E
- newLocalVar :: Monad m => Rate -> m E -> DepT m Var
- newLocalVars :: Monad m => [Rate] -> m [E] -> DepT m [Var]
- writeVar :: Monad m => Var -> E -> DepT m ()
- readVar :: Monad m => Var -> DepT m E
- readOnlyVar :: Var -> E
- initVar :: Monad m => Var -> E -> DepT m ()
- appendVarBy :: Monad m => (E -> E -> E) -> Var -> E -> DepT m ()
Documentation
Csound's synonym for IO
-monad. Dep
means Side Effect.
You will bump into Dep
trying to read and write to delay lines,
making random signals or trying to save your audio to file.
Instrument is expected to return a value of Dep [Sig]
.
So it's okay to do some side effects when playing a note.
DepT | |
|
runDepT :: DepT m a -> m (a, LocalHistory)Source
data LocalHistory Source
Dependencies
Variables
readOnlyVar :: Var -> ESource