Стрелочный эквивалент mapM?

Я пытаюсь разобраться и работать со Стрелами, и у меня возникают некоторые трудности. У меня есть контекст, в котором мне нужен Arrow [a] [b], и я хочу написать Arrow a bи отобразить/упорядочить его внутри стрелки, а-ля mapM. В частности, стрелка — это Hakyll Compiler, но я не думаю, что это имеет большое значение для ответа.

Учитывая стрелу

myInnerArrow :: Arrow a => a b c

Как я могу поднять это в стрелу

myOuterArrow :: Arrow a => a [b] [c]

?

Я прошерстил базовую библиотеку, особенно в Data.Listи Control.Arrow, но не нашел ничего похожего на то, что оно подойдет. Существует ли он под именем, которого я не ожидаю? Предоставляется ли она какой-либо другой библиотекой? Писать почему-то нельзя?

14
задан Michael Ekstrand 3 July 2012 в 02:16
поделиться