| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Feldspar.Data.Queue
Description
Indexable FIFO queues
Synopsis
- data Queue a = Queue {}
 - initQueueFromBuffer :: forall m a. (Syntax a, MonadComp m) => Arr a -> m (Queue a)
 - initQueue :: (Manifestable m vec a, Finite vec, Syntax a, MonadComp m) => vec -> m (Queue a)
 - newQueue :: (Syntax a, MonadComp m) => Data Length -> m (Queue a)
 - initQueueFromBuffer2 :: forall m a. (Syntax a, MonadComp m) => Data Length -> Arr a -> m (Queue a)
 - initQueue2 :: (Pushy m vec a, Finite vec, Syntax a, MonadComp m) => vec -> m (Queue a)
 - newQueue2 :: (Syntax a, MonadComp m) => Data Length -> m (Queue a)
 
Documentation
Indexable FIFO queue
initQueueFromBuffer :: forall m a. (Syntax a, MonadComp m) => Arr a -> m (Queue a) Source #
Create a new cyclic queue using an existing array as buffer. The length of the array determines the queue size.
Arguments
| :: (Manifestable m vec a, Finite vec, Syntax a, MonadComp m) | |
| => vec | Initial content (also determines the queue size)  | 
| -> m (Queue a) | 
Create a new cyclic queue initialized by the given vector (which also determines the size)
newQueue :: (Syntax a, MonadComp m) => Data Length -> m (Queue a) Source #
Create a new cyclic queue of the given length without initialization