I thought this would work, but it seems that when I insert items in
ascending order (and the heap is supposed to be descending), my "heap" is
getting messed up. Is something wrong with my `ord` function?
In [448]: matches = (String,Float64)[]
Out [448]: 0-element Array{(String,Float64),1}
In [449]: o = ord((x,y)->isless(x[2],y[2]),identity,true)
Out [449]: ReverseOrdering{Lt}(Lt((anonymous function)))
In [450]: heappush!(matches,("Jeff",0.4),o)
Out [450]: 1-element Array{(String,Float64),1}:
("Jeff",0.4)
In [451]: heappush!(matches,("Jerry",0.5),o)
Out [451]: 2-element Array{(String,Float64),1}:
("Jerry",0.5)
("Jeff",0.4)
In [452]: heappush!(matches,("Jim",0.6),o)
Out [452]: 3-element Array{(String,Float64),1}:
("Jim",0.6)
("Jeff",0.4)
("Jerry",0.5)
In [453]: heappush!(matches,("Jacob",0.7),o)
Out [453]: 4-element Array{(String,Float64),1}:
("Jacob",0.7)
("Jim",0.6)
("Jerry",0.5)
("Jeff",0.4)
In [454]: heappush!(matches,("Mike",0.8),o)
Out [454]: 5-element Array{(String,Float64),1}:
("Mike",0.8)
("Jacob",0.7)
("Jerry",0.5)
("Jeff",0.4)
("Jim",0.6)
In [455]: heappush!(matches,("John",0.9),o)
Out [455]: 6-element Array{(String,Float64),1}:
("John",0.9)
("Jacob",0.7)
("Mike",0.8)
("Jeff",0.4)
("Jim",0.6)
("Jerry",0.5)