gpt4 book ai didi

haskell - 将状态添加到 HXT 解析

转载 作者:行者123 更新时间:2023-12-04 06:36:57 27 4
gpt4 key购买 nike

我正在尝试编写一个箭头,该箭头将从使用 HXT 的 XML 解析生成编号元素。似乎应该使用状态箭头来完成,例如 State monad,但是我可以在 HXT 包中找到的所有示例以及访问状态的方法( XmlState )都使用 IOStateArrow,我宁愿保留它使用 StateArrow 来简化测试过程。是否存在这样的变体?如果没有,我如何将状态添加到 HXT 解析而不必求助于在 IO 中运行 Arrow?

最佳答案

您可以使用 ArrowState SLA 的实例为了那个原因。
一个例子:假设我们需要连接所有的二级文本元素。

Prelude Text.XML.HXT.Core> fst $ runSLA (xread >>> getChildren >>> getChildren >>> isText >>> getText >>> changeState (++)) "" "<xml><item>a</item><item>b</item></xml>" 
"ab"

请注意,您不能使用 IOSLA因为 in 没有 ArrowIO实例。

希望,这是你需要的。

关于haskell - 将状态添加到 HXT 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4767978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com