У меня есть функция
f : a -> b -> ( a, c )
, и мне нужно применить f
к списку b
, в то время как a
накапливается и c
добавляется в список, получая ( a, List c )
. Я думаю, что подпись того, что я хочу сделать, это
( a -> b -> ( a, c ) ) -> a -> List b -> ( a, List c )
Реальный сценарий здесь заключается в том, что у меня есть
getThing : Model -> Thing -> ( Model, Cmd Msg )
и мне нужно запустить getThing
в списке Thing
, передавая Model
каждому вызову getThing
и возвращая модель и все Cmd
s, которые должны быть выполнены в Platform.Cmd.batch
.
Я думаю, что эта проблема должна быть разбить на несколько частей, но я не уверен, с чего начать. Такое ощущение, что использование * сгиба подходит для Model
, но мне нужна карта для Cmd
части.