问题标签 [arrows]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - haskell 中的箭头说明
什么是了解箭头的好地方?理想情况下,我只是从一些好的例子中寻找一个具有简洁定义的地方,类似于 Wadler 对 monads 的阐述。
haskell - 带有箭头语法的 Haskell/Yampa 中的简单 putStrLn
我将 Haskell 与使用箭头语言扩展的 Yampa FRP 库一起使用。
我怎样才能在 SF 中做一个简单的 putStrLn?
箭头语法抱怨表达式不在箭头中(当然),但即使有箭头我也没有输出
haskell - 理解 Haskell 中的箭头
我一直试图掌握箭头,因为它们是大多数FRP实现的基础。我想我理解了基本思想——它们与 monad 相关,但在每个绑定运算符中存储静态信息,因此您可以穿过一连串箭头并查看静态信息,而无需评估整个箭头。
但我在我们开始讨论第一、第二和交换时迷失了方向。2元组与箭头有什么关系?教程展示了元组的东西,好像它是一个明显的下一步,但我并没有真正看到联系。
就此而言,箭头语法直观地意味着什么?
haskell - Haskell:我是否误解了如何使用箭头?
我编写了一些玩具代码来玩弄箭头的概念。我想看看我是否可以编写一个箭头来编码有状态函数的概念——在不同的调用后给出不同的值。
因此,在我浏览了各种类型类定义之后(不确定 ArrowZero 是否或如何工作,所以我跳过了它),我定义了一些辅助函数
并制定了一个使用示例
但是,当我尝试编译时,我得到andcountExample
的“不在范围内”错误,我想这意味着我需要回到教程并阅读什么时候可以使用的内容。我想我真正喜欢的东西更像是count'
count''
但这有点尴尬,我希望有一些更自然的东西。
谁能解释我如何误解箭头的工作原理以及如何使用它们?我是否缺少Arrows的基本哲学?
f# - 你能在 F# 中定义一个运算符(***)吗?
我正在使用 F# 中的箭头,我想创建一个***
运算符。但是,我注意到,(***)
在函数定义中表达运算符的必要方式与 F# 块注释语法重叠。那么你怎么能真正表达这一点呢?
我想过也许,.***.
但我认为这实际上会将点视为运算符的一部分,我宁愿避免。
xml - 折叠箭头以列出
我在使用HXT时遇到了一些问题,尽管我怀疑这只是我对箭头的遗漏。
我有一个类似的 XML 结构
和内部结构一样
有没有办法在箭头的一步收集元素?
对 getXmlData 的递归调用需要收集它的答案并包装在 XmlList 构造函数中,但我不知道如何收集术语。目前,我正在对输出进行一些后处理(以相同的名称收集)来完成此操作,但我想要一个更好的解决方案。
haskell - 什么是箭头,我该如何使用它们?
我试图学习箭头的含义,但我不明白它们。
我使用了 Wikibooks 教程。我认为 Wikibook 的问题主要在于它似乎是为已经了解该主题的人编写的。
有人可以解释什么是箭头以及如何使用它们吗?
haskell - HXT:左因子非确定性箭头?
我正在尝试与 Haskell 的 XML 工具箱 ( HXT ) 达成协议,但我在某处碰壁,因为我似乎没有完全掌握箭头作为一种计算工具。
这是我的问题,我希望使用 GHCi 会话更好地说明:
所以 Parse 是一个小的辅助函数,它将我给它的任何箭头应用到琐碎的 XML 文档
我定义了另一个辅助函数,这次是提取具有给定名称的节点下面的文本:
在这个函数的帮助下,很容易使用&&&
组合器来配对两个不同节点的文本,然后,比如说,将它传递给构造函数,如下所示:
现在到了我不明白的部分:我想左因子!extract
两次调用getChildren
根节点。相反,我希望它只调用一次!所以我首先得到根节点的孩子
请注意,我已尝试重新排序对 isElem 等的调用,以确定是否是问题所在。但就目前而言,我只是不知道为什么这不起作用。Haskell wiki上有一个箭头“教程” ,按照我的理解,它应该可以做我想做的事情——即使&&&
用来配对两个计算的结果。
它也确实有效——但只是在箭头链的开始,而不是在低谷的中间,当我已经有了一些结果时,我想保持“共享”。我有一种感觉,就是无法理解正常函数组合和箭头符号之间的想法差异。我会非常感谢任何指针!(即使它只是一些比 Haskell-wiki 更深入的通用箭头教程。)
谢谢!
haskell - 一对如何与箭头函数的类型统一
一些与箭头一起使用的函数在对上使用时非常方便。但我不明白这些函数的类型是如何与一对统一的。一般来说,我发现与箭头相关的函数的类型相当混乱。
例如,我们有first :: a b c -> a (b, d) (c, d)
,这对我来说意义不大。但它可以用来增加一对中的第一个数字:
和
有人可以解释一下这是如何工作的吗?