Свернуть сворачиваемое в альтернативу

Jul 27, 2016 14:01

В стандартной библиотеке (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... )

haskell, сборник задач и упражнений по Хаскелю, fp

Leave a comment

Comments 6

kodt_rsdn July 29 2016, 15:36:48 UTC
Где можно взять волшебной травы, чтобы узреть современное состояние хаскела? А то совсем от жизни отстал.

Reply

deni_ok July 29 2016, 20:31:06 UTC
В октябре-ноябре на степике запустим вторую часть курса, с рабочим названием "Haskell: интерфейсы для вычислений с эффектами". Но можно самостоятельно поизучать, например, библиотеку lens.

Reply

kurilka July 29 2016, 21:13:37 UTC
О, здорово, а нет примерной программы курса в каком-нибудь виде?

Reply

deni_ok July 30 2016, 10:36:22 UTC
1. Аппликативные функторы

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


lelf September 22 2016, 19:31:15 UTC
asum . map pure . toList - это какое из них?

Reply

deni_ok September 25 2016, 04:07:46 UTC
Второе.

Reply


Leave a comment

Up