0 | module Heap
 1 |
 2 | %default total
 3 |
 4 | public export
 5 | interface Heap (h : Type -> Type) where
 6 |   empty : Ord a => h a
 7 |   isEmpty : Ord a => h a -> Bool
 8 |
 9 |   insert : Ord a => a -> h a -> h a
10 |   merge : Ord a => h a -> h a -> h a
11 |
12 |   findMin : Ord a => h a -> a
13 |   deleteMin : Ord a => h a -> h a
14 |