Понимание аппликативного стиля

Я хотел бы написать что-то вроде следующего:

(+) <$> Just 3 <*> Just 5 <*>' (+) <*> Just 6

Однако проблема в том, что мне нужно как-то flip <*>. Каков идиоматический способ в Haskell сделать тип цепочки, который я пытаюсь?


person user3139545    schedule 14.06.2015    source источник
comment
Вы пытаетесь суммировать список значений Num a => Maybe a? Если да, то fmap sum . sequence должен это сделать.   -  person    schedule 14.06.2015


Ответы (1)


<**> из Control.Applicative равно flip <*>. Ваш пример может работать с этим, слегка переставленным:

>((+) <$> Just 3 <*> Just 5) <**> ((+) <$> Just 6)
Just 14
person András Kovács    schedule 14.06.2015