0 | module Queue 1 | 2 | %default total 3 | 4 | public export 5 | interface Queue (q : Type -> Type) where 6 | empty : q a 7 | isEmpty : q a -> Bool 8 | 9 | snoc : q a -> a -> q a 10 | head : q a -> a 11 | tail : q a -> q a 12 |