我对HXT箭头API感到困惑。与列表monad类似,任何不产生结果的箭头都将确定[]
的结果,匹配将成为所有匹配的笛卡尔积的一维中的元素。
我有一个带有嵌套可选元素的XML文件,如下所示:
<root>
...
<b>
<x>1</x>
<y>2</y>
...
</b>
<x>3</x>
<y>4</y>
...
</root>
如何构造一个箭头,该箭头将遍历此树一次,并产生与下面类似的固定结构的结果?我只关心结构的一小部分。
[(Just 1, Just 2), (Just 3, Just 4)] :: [(Maybe a, Maybe b), (Maybe a, Maybe b)]
或
[(Nothing, Nothing), (Just 3, Just 4)] :: [(Maybe a, Maybe b), (Maybe a, Maybe b)]