Haskell: Пользовательские типы с условиями

Я - haskell новичок, и я не мог найти ответ на этот вопрос.

Мы можем определить типы с условиями? Например, простой пользовательский тип данных был бы:

data MyList = MyList [a]

Я могу так или иначе изменить этот код, таким образом, конструктор MyList может взять только списки с четным числом элементов? Что-то как

data MyList = MyList [a] where (even (length a))

Спасибо!

5
задан Don Stewart 20 April 2011 в 22:45
поделиться