http://www-lsi.upc.es/~rbaeza/handbook/algs/4/444.sort.c.html
http://www.dcs.kcl.ac.uk/DevJavaSoft/ADS_Manual/ADS.PolyphaseMergeSort.html

They're not Ada, but you can translate.  :-)