Я прохожу через книгу «Семь языков в семинедельной книге», и я работаю с Haskell.Haskell 'Не удалось совместить ожидаемый тип с фактическим типом'
Я борюсь с проблемой:
Написать своего рода, которая принимает список и функцию, которая сравнивает два своих аргумента, а затем возвращает отсортированный список.
Я искал в Интернете помощь и нашел решение, но я даже не могу получить решение для запуска из-за ожидаемой фактической ошибки типа.
Вот код, я пытался:
module Main where
import Data.List
sortList :: (Ord a) => (a -> a -> Ordering) -> [a] -> [a]
sortList comparator list = sortBy comparator list
Здесь ошибка:
*Main> sortList [5,4,2,7,8,1]
<interactive>:1:10:
Couldn't match expected type `a -> a -> Ordering'
with actual type `[t]'
In the first argument of `sortList', namely `[5, 4, 2, 7, ....]'
In the expression: sortList [5, 4, 2, 7, ....]
In an equation for `it': it = sortList [5, 4, 2, ....]
Мои мысли и попытки:
Может быть, я я неправильно нахожу функцию? Я довольно новичок в Haskell. Я тоже много делал. Все, что я мог заключить, это то, что типы не совпадают. Я полагаю, что объяснение и руководство для скрипта были бы очень полезны для меня.
Ну ваша подпись alrea dy говорит: для вызова 'sortList' требуется' compator', который вы не предоставили ... –