Я пытаюсь залезть и работать со стрелами, и мне сложно. У меня есть контекст, где мне нужен Arrow [a] [b]
, и я хочу написать Arrow a b
и отобразить/упорядочить его внутри стрелки, a la mapM
. В частности, стрелка представляет собой Hakyll Compiler
, но я не думаю, что это имеет большое значение для ответа.
Учитывая стрелку
myInnerArrow :: Arrow a => a b c
Как я могу поднять это в стрелку
myOuterArrow :: Arrow a => a [b] [c]
?
Я просмотрел базовую библиотеку, особенно в Data.List
и Control.Arrow
, но я не могу найти ничего похожего на то, что она выполнит эту работу. Существует ли это под именем, которого я не ожидаю? Предоставляется ли она какой-либо другой библиотекой? Невозможно ли писать по какой-либо причине?