Haskell - фильтр типов классов - PullRequest
0 голосов
/ 13 февраля 2019

Существует ли класс типов, который абстрагирует функцию filter?

Я думаю о чем-то вроде

class Filterable t where
  filter :: (a -> Bool) -> t a -> t a

Если это не так, есть ли явная причина дляэто?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Да, пакет обеспечивает Filterable, с несколькими экземплярами для распространенных типов.

0 голосов
/ 13 февраля 2019

Существует метод mfilter в Control.Monad ( ссылка )

mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a 
...