У меня есть функция a -> [b]
, и я ищу функцию, которая преобразует ее в аналогичную функцию, но с элементами списка, которые обертываются в некоторый newtype/data: a -> [t b]
. Поэтому мне нужно найти функцию, которая выполняет следующие функции: (a -> [b]) -> (a -> [t b])
.Обернуть вывод функции в новый тип данных
Hoogle дает traverse
в качестве ближайшего совпадения, но это не совсем то, что я ищу. Есть ли способ построить функцию, которая мне нужна, используя мощные классные классы Haskell?
Без этого я могу управлять, но код должен быть более подробным, например Boardable <$> makeBListFrom a
, где Boardable
строительный стенд для t
.
Я не думаю, что для этой цели есть что-то конкретное. Мое единственное предложение состоит в том, что точечное написание того, что вы предлагаете в последнем абзаце, возможно, немного опрятно: 'fmap Boardable. makeBListFrom' – duplode
Да! В точку. Это то, что я имею в виду. Спасибо. – Dahan