В стандартной библиотеке (Data.Foldable) имеется функция
> :t asum
asum :: (Alternative f, Foldable t) => t (f a) -> f a
> asum [Nothing, Just 1, Just 2]
Just 1
> asum [[1,2,3],[4,5]]
[1,2,3,4,5]
Можете ли вы написать afold с естественной для своего типа семантикой:
> :t afold
(
Read more... )
Comments 6
Reply
Reply
Reply
1.1 Определение аппликативного функтора
1.2 Представители класса типов Applicative
1.3 Аппликативные парсеры (возможно 2 урока?)
1.4 Композиция на уровне типов
2. Управление эффектами
2.1 Класс типов Foldable
2.2 Класс типов Traversable
2.3 Связь классов Monad и Applicative
2.4 Классы типов Alternative и MonadPlus
2.5 Монада Except
2.6 Монада Cont ??
3. Трансформеры монад
4. Линзы
5. Что-то еще
Первые два модуля готовы в смысле видео, но задачки пока не вставляли.
Reply
Reply
Reply
Leave a comment