module PQueue: sig .. end
Priority queue definitions and implementation
module type PQ = sig .. end
The signature for a priority queue type
Priority Queue Implementations
module ListImpl: PQ 
A priority queue implementation based on sorted lists
module HeapImpl: PQ 
A priority queue implementation using a binary heap
Heapsort 
module Heapsort: functor (PQ : PQ) -> sig .. end
A heapsort implementation using the given priority queue implementation