(sort -> xs@(least:_)) = ...
Компилятор видит неполный паттерн и даёт warning, хотя человеку ясно, что сортировка непустого списка даст непустой список.
Возможно ли, чтобы убрать предупреждение, указать компилятору, что конкретно в данном случае всё правильно? Или тут только можно выключить предупреждение, вынести least = head xs или собрать f = g . sort?
человеку может быть "ясно" много всякой фигни. в отсутствии refinement types (liquid haskell) из типа sort не следует что он сохраняет это свойство. лучше вынести sort, а потом на него уже смотреть.
в данном случае я бы выбрал head
Обсуждают сегодня