Вы никому не присваиваете результаты sort
.
Поскольку F # (в значительной степени) является функциональным языком, он настоятельно рекомендует использовать неизменяемые структуры данных. Это означает, что ваши данные никогда не меняются, они просто передаются функциям, которые используют данные для создания новых представлений этих данных.
Таким образом, ваша функция сортировки не меняет порядок списка, скорее она должна вернуть новый список, который представляет упорядоченное представление переданного списка.
Поскольку F # ожидает такого поведения, если вы ничего не делаете с результатами, F # достаточно умен, чтобы знать, что вы, вероятно, делаете что-то глупое.
Итак, вы должны идти:
let orderedList = sort nonSortedList
printList orderedList
Если вы действительно хотите игнорировать результаты - что иногда бывает, если у вашего метода есть побочные эффекты, и вы просто вызываете его для получения побочных эффектов - вы можете передать результаты на ignore
sort nonSortedList |> ignore