Сортировка абстрактных типов данных в Haskell

Например, у меня есть следующее:

type something = (Float, Float, Int, Aa, Bb, Cc, Int)

Если бы я хотел найти наименьшее что-то в основе их первого элемента (Float) , как бы я мог сделай это? Я рассуждал следующим образом: но я не могу понять, как это реализовать

Поскольку у меня есть список somethings , самым простым способом должно быть создание моей собственной min вспомогательной функции, которая сравнивает 2 somethings и возвращает наименьшее из двух. Однако он пытается сделать этот "более простой способ", из-за которого я застрял с ошибками компиляции типа ...

findMin :: something -> something -> somthing
findMin x y = sortBy (compare `on` fst) x y

Я не знаком с sortBy и сравните на , я только что столкнулся с аналогичным вопросом здесь, в SO, но мне не удалось заставить его работать. Есть ли другой способ приблизиться к этому, если вы новичок в Haskell?

6
задан Fabian 27 April 2011 в 23:29
поделиться