Skip to content

dwayne/elm-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elm-queue

A queue.

An example

import Queue as Q

Q.isEmpty Q.empty == True

Q.toList (Q.enqueue 2 (Q.enqueue 1 Q.empty)) == [ 1, 2 ]

Q.peek (Q.fromList [ 1, 2 ]) == Just 1

Q.dequeue (Q.fromList [ 1, 2, 3 ]) == Just (1, Q.fromList [ 2, 3 ])

Q.toList (Q.fromList [ 1, 2, 3, 4 ]) == [ 1, 2, 3, 4 ]

Public API

type Queue a

-- Construct

empty : Queue a
fromList : List a -> Queue a

-- Query

isEmpty : Queue a -> Bool
peek : Queue a -> Maybe a

-- Modify

enqueue : a -> Queue a -> Queue a
dequeue : Queue a -> Maybe ( a, Queue a )

-- Convert

toList : Queue a -> List a

Resources