use "utility.sml"; (* final 10au *) fun range([]) = 0 | range(L as first::rest) = let fun minMax([], minimum, maximum) = maximum - minimum + 1 | minMax(head::tail, minimum, maximum) = minMax(tail, Int.min(minimum, head), Int.max(maximum, head)) in minMax(rest, first, first) end; val rangetest1 = [9, 6, 8, 4, 7, 5]; val rangetest2 = [10, 10, 19, 3, 6, 21, 37, 11]; val acronym = implode o (List.filter Char.isUpper) o (map (hd o explode)); val acrotest1 = ["Self", "Contained", "Underwater", "Breathing", "Apparatus"]; val acrotest2 = ["National", "Association", "for", "the", "Advancement", "of", "Colored", "People"];