Создание нового экземпляра Ord для списков

Это моя первая попытка создать пользовательский экземпляр класса, такого как Ord.

Я определил новую структуру данных для представления списка:

data List a = Empty | Cons a (List a)
    deriving (Show, Eq)

Теперь я хочу определить новый экземпляр Ord для списка таким образом, что список a <= список b подразумевает, что «сумма элементов в списке a равна меньше или равно сумме элементов в списке b"

Во-первых, необходимо ли определить новую функцию "сумма", поскольку сумма, определенная в Prelude, не будет работать с новым типом данных List? тогда как мне определить новый экземпляр Ord для списка?

спасибо

5
задан cdk 25 May 2012 в 04:39
поделиться