fn keyCmp comp1 comp2 = ( case of ( (comp1[1] > comp2[1]): 1 (comp1[1] < comp2[1]): -1 default: 0 ) ) people = #(#("joe", 39), #("dave", 37), #("bob", 42)) qsort people keyCmp print people