Maintainer | Ertugrul Soeylemez <es@ertes.de> |
---|
Unique identifiers.
- context :: forall a b m. (Ord a, Monad m) => Wire m a b -> Wire m a b
- contextInt :: forall b m. Monad m => Wire m Int b -> Wire m Int b
- contextLimited :: forall a b m. (Ord a, Monad m) => Wire m a b -> Wire m (Int, Time, a) b
- contextLimitedInt :: forall b m. Monad m => Wire m Int b -> Wire m (Int, Time, Int) b
- identifier :: MonadIO m => Wire m a Int
Context-sensitive time
context :: forall a b m. (Ord a, Monad m) => Wire m a b -> Wire m a bSource
Make the given wire context-sensitive. The input signal is a context and the argument wire will evolve individually for each such context.
Inherits inhibition and feedback behaviour from the current context's wire.
contextLimited :: forall a b m. (Ord a, Monad m) => Wire m a b -> Wire m (Int, Time, a) bSource
Same as context
, but with a time limit. The left signal
specifies a threshold and the middle signal specifies a maximum age.
If the current number of contexts exceeds the threshold, then all
contexts exceeding the maximum age are deleted.
Inherits inhibition and feedback behaviour from the current context's wire.
contextLimitedInt :: forall b m. Monad m => Wire m Int b -> Wire m (Int, Time, Int) bSource
Specialized version of contextLimited
. Use this one, if your
contexts are Int
s and you have a lot of them.
Inherits inhibition and feedback behaviour from the current context's wire.
Identifiers.
identifier :: MonadIO m => Wire m a IntSource
Choose a unique identifier when switching in and keep it.
Never inhibits.