AP
Size: a a a
AP
AY
MP
AP
Cmd a
Cmd b
Cmd c
Cmd d
type State = {
fieldA : a
fieldB : b,
fieldC : c,
fieldD : d,
}AP
AP
AP
Result String StateAP
Cmd StateAP
Cmd State из Cmd a .. Cmd dAP
n * три стейта для каждого CmdAP
AP
AP
AP
AY
AP
Cmd.map : (a -> b) -> Cmd a -> Cmd bAP
AP
AP
State <$> async1 <*> async2 <*> async3 <*> async4
:: Async State
без обработки промежуточных состояний и прочего. Для коротких функций есть liftA2, liftA3, а комбинаторы годятся для функций подлиннее (по кол-ву аргументов).AP