问题标签 [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 - GHC 无法使用 GADT 和箭头确定类型相等性
我无法让 GHC 注意到箭头表达式中的两种类型相等。
完整的错误是:
为什么它不能告诉它as
已经有类型PolyList as
?
编辑:这最终还是有点没用,因为修复似乎触发了ghc #344,但仍未解决。最好知道问题出在哪里。
xml - 使用 HXT 以一致的方式解析外部文档和当前元素
更新:我现在已经解决了我的主要问题,所以我将奖励赏金,以评估我的解决方案是否是好的风格。
最近我一直在尝试解析TMX文件,它们是描述地图的 XML 文件。格式中一个有趣的地方是您可以指定外部图块集。
由于它已经处理了大部分工作,我一直在尝试扩展htiled
库,以便它处理外部图块集,但到目前为止还没有成功。
所以基本上,我在这里要完成的任务是,给定两个文件map.tmx
:
和ground.tsx
:
返回结构:
解析(仅限内部)图块集的工作方法是:
我尝试调整该tilesets
方法,使其根据当前元素的source
属性使用当前元素或外部文档,但无济于事:
(这是我的许多尝试之一)。
通常我会到达一个点,GHC 告诉我我没有使用箭头命令,或者我的值在箭头内,而它不应该。我知道我不能以类型安全的方式透明地执行 IO(也许还有 XHT 中间操作?),但我被困在这里。我真的不确定如何进行。
parsing - 在 Haskell Arrow 解析器中实现“零或更多”时的无限循环
我正在学习如何在 Haskell 中使用箭头并实现了以下解析器。
除了最后两个测试外,所有测试都可以正常工作:
这些测试陷入了无限循环。问题是为什么?据我所知,它应该可以正常工作吗?
haskell - HXT 中的逻辑或,不重复结果
我在使用HXT时遇到了一点麻烦:我正在尝试在文档中找到与某些条件匹配的所有节点,并且我正在尝试以类似 OR 的方式将 lens/XPaths 组合为谓词,使用Control.Arrow.<+>
, 就像这样指南建议。但是,当我尝试“运行”文档上的箭头时,我得到了重复的结果。有没有一种简单的方法可以删除重复项,或者以更有意义的方式组合测试?这是我的代码:
然而,每次我运行它(在任何网页上),我都会得到重复的结果/节点。我注意到它<+>
是ArrowPlus 类型类的一部分,它模仿了一个幺半群,而ArrowXML是ArrowList和ArrowTree的一个实例,这给了我很多工作要做。我是否必须构造ArrowIf谓词?对此的任何帮助都会很棒:)
haskell - 箭头完全等同于应用函子?
根据著名论文Idioms are oblivious, arrows are meticulous, monads are promiscuous,箭头的表达能力(没有任何额外的类型类)应该严格介于 applicative functors 和 monads 之间:monads 等价于ArrowApply
,并且Applicative
应该等价于论文称“静态箭头”。但是,我不清楚这种“静态”意味着什么限制。
玩弄有问题的三个类型类,我能够建立应用函子和箭头之间的等价性,我将在下面介绍 和 之间众所周知的等价Monad
性ArrowApply
。这种结构正确吗?(在厌倦之前我已经证明了大多数箭头定律)。这不是说Arrow
和Applicative
完全一样吗?
haskell - FRP 中的无颠簸传输
我可以使用为s提供的实例在 Haskell FRP 库netwire中构建一个PID 控制器。loop
ArrowLoop
Wire
我还可以使用switch
.
如何实现无扰传输,例如使用此处解释的“跟踪”策略(或任何数量的控制工程文章/书籍)?如果它具有良好的性能,另一种策略可能是可以接受的,但是跟踪方法对我的应用程序很有吸引力,因为它还解决了抗饱和问题。
我很难眯着眼睛看框图,使它看起来像两个(或一个?)loop
应用程序的类型。
haskell - 在 Haskell 中,通过某种转换来“提升”二进制函数的两个参数,哪种方式是最惯用的方式?
在 Haskell 中,通过某种转换来“提升”二进制函数的两个参数,哪种方式是最惯用的方式?让这个运算符命名为“lift”,所以我希望它的类型是
一个天真的定义将是
haskell - 与 Netwire 一起使用时对 ArrowLoop 的误解
遵循这篇文章中出色答案的引导中出色答案的引导下,我试图获得一个ArrowLoop
不使用箭头符号的工作示例。在我完全理解箭头在引擎盖下的工作原理之前,我对使用箭头表示法感到不舒服。话虽如此,我已经构建了一个基于我对 Arrows 的(有限)理解的小程序应该可以工作。但是,它最终以可怕的<<loop>>
异常终止:
我的直觉告诉我<<loop>>
当您不向循环提供初始值时,通常会出现异常。我没有用包含的行做到这一点fn i 0.0
吗?输出不同意:
有谁知道我做错了什么?
jquery - Carousel-Arrows 会根据显示的图片改变颜色?
我怎样才能让旋转木马箭头改变它们的颜色,这取决于它们下面显示的图片?
例如,如果我有一张明亮的图片,箭头是黑色的;当我有一个黑暗的图片时,箭头是白色的。
这是一个效果示例:http ://www.herschelsupply.com/
谢谢你!