Safe Haskell | Safe-Inferred |
---|
Queues implemented with two stacks to ensure fast writes.
- type LQueue a = ([a], [a])
- newLQueue :: LQueue a
- nullLQueue :: LQueue a -> Bool
- trimLQueue :: LQueue (Maybe a) -> LQueue (Maybe a)
- tryReadLQueue :: LQueue a -> Maybe (a, LQueue a)
- writeLQueue :: LQueue a -> a -> LQueue a
Documentation
nullLQueue :: LQueue a -> BoolSource
Check if the queue is empty.
trimLQueue :: LQueue (Maybe a) -> LQueue (Maybe a)Source
Remove all but the last written non-Nothing
element of the queue.
tryReadLQueue :: LQueue a -> Maybe (a, LQueue a)Source
Try reading a queue. Return Nothing
if empty.
writeLQueue :: LQueue a -> a -> LQueue aSource
Write to the queue. Faster than reading.