Queue is simple FIFO (first in, first out) datastructure.
Determine if Queue is empty
Queue.isEmpty Queue.empty == True
Queue.isEmpty (Queue.fromList [ 1, 2 ]) == FalseGet size of Queue
Queue.size empty == 0
Queue.size (Queue.fromList [ 1, 2 ]) = 2Add item to Queue
Queue.length (Queue.enqueue 1 Queue.empty) == 1
Queue.length (Queue.enqueue 1 (Queue.fromList [ 1, 2 ])) == 3Take item from Queue
Queue.dequeue Queue.empty == ( Nothing, Queue.empty )
Queue.dequeue (Queue.fromList [ 1 ]) == ( Just 1, Queue.empty )Ask for front item without removing it from Queue
Queue.front Queue.empty == Nothing
Queue.front (Queue.fromList [ 1, 2 ]) == Just 1Build Queue from List
Queue.fromList [] == Queue.empty
Queue.length (Queue.fromList [ 1, 2, 3 ])) == 3Convert Queue to List
Queue.toList (Queue.fromList []) == []
Queue.toList (Queue.fromList [ 1, 2, 3 ]) == [ 1, 2, 3 ]Map function over Queue
Queue.toList (Queue.map identity (Queue.fromList [ 1, 2 ])) == [ 1, 2 ]
Queue.toList (Queue.map ((+) 1) (Queue.fromList [ 1, 2 ])) == [ 2, 3 ]
Equality checks (
==) onQueueare unreliable due to dynamic distribution of elements.If you need need qeuality checks use
toList.