|
|
@ -248,6 +248,14 @@ instance Seq FingerTree where
|
|
248
|
248
|
Deep p (append (Node3 a b c) t) (Two d x)
|
|
249
|
249
|
append x (Deep p t s) = Deep p t (append x s)
|
|
250
|
250
|
|
|
|
251
|
instance Queue FingerTree where
|
|
|
252
|
enqueue x ft = append x ft
|
|
|
253
|
|
|
|
254
|
dequeue Empty = Nothing
|
|
|
255
|
dequeue (Single x) = Just (x, Empty)
|
|
|
256
|
dequeue ft =
|
|
|
257
|
case last ft of
|
|
|
258
|
Just x -> Just (x, rest ft) -- broken, we'd need a different version of rest
|
|
251
|
259
|
-- examples
|
|
252
|
260
|
sl = fromList [1..10] :: List Integer
|
|
253
|
261
|
bq = fromList [1..10] :: BankersQueue Integer
|