Haskell :Как определить класс типов для множеств?

Полный новичок здесь, изо всех сил.

Я пытаюсь определить класс типов для наборов. В этом случае потребуется только определение «существует». 'exists' будет принимать набор и функцию для элемента набора и возвращать логическое значение. Как я могу определить это в Haskell?

Является ли следующее даже в правильном направлении? Итак, есть определение класса типов и реализация set со списком, для которого 'exists' пока возвращает true..

-- Set.hs --

class Set a b where

  exists :: a -> (b -> Bool) -> Bool


-- ListSet.hs --

instance Set ListSet a where 

  exists a f = True

--

(результат :Слишком много параметров для класса `Набор')

8
задан duri 16 July 2012 в 17:00
поделиться