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 |