问题标签 [traversable]

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.

0 投票
1 回答
615 浏览

scala - Scala 防止混合方法

我想创建以下特征:

返回

但我不希望案例类中的 toString 方法被可遍历的方法之一覆盖!我该如何克服呢?

我希望最终输出为:

如果可能的话,我想在 IntSet 中做以下事情:

这行得通,但我真的不想重新发明轮子。

0 投票
2 回答
387 浏览

haskell - Traversable 除了 Foldable 之外还有什么“独特的方法”?

Foldable是 的超类Traversable,类似于andFunctor的超类。ApplicativeMonad

与 的情况类似,Monad基本上可以实现fmap

我们也可以模仿foldMap

使用Monoid m => (,) m单子。所以超类和方法的结合在这两种情况下都有一定的冗余。

在单子的情况下,可以说类型类的“更好”定义将是(我将跳过应用程序/monoidal)

至少那是范畴论中使用的。这个定义在不使用Functor超类的情况下是不允许liftM,所以它没有这种冗余。

班级是否可以进行类似的转变Traversable


澄清一下:我所追求的是重新定义,我们称之为,

这样我们就可以使实际的Traverse方法成为顶级函数

但一般无法制作

我不是在问,因为我需要这个来做一些特别的事情;这是一个概念性问题,以便更好地理解 和 之间的Foldable区别Traversable。再次很像Monadvs Functor:虽然>>=join日常的 Haskell 编程更方便(因为你通常需要和的这种组合),但后者更容易掌握 monad 的含义。fmapjoin

0 投票
3 回答
936 浏览

haskell - Testing Haskell traversable with a simple example

I am trying to traverse all members of a data structure in haskell using Data.Traversable, which is documented at the following urls:

http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-Traversable.html http://www.haskell.org/haskellwiki/Foldable_and_Traversable

So far I have come up with the following code which is as far as I know missing a proper implementation of the Tr.Traversable instancing.

I am trying to print all the items in exampleData, member by member and using show. Am I on the right track and how should the traversable instancing be implemented?

0 投票
2 回答
559 浏览

haskell - 相当于 Haskell 的 Foldable 和 Traversable 仅仅是 Clojure 中的一个序列吗?

在 Haskell 中,我们看到Foldable 和 Traversable 在 Haskell prelude 中落地

这些都对序列进行操作。

我的问题是Haskell 的 Foldable 和 Traversable 是否相当于Clojure 中的一个序列

假设:

0 投票
3 回答
946 浏览

haskell - Haskell 镜头:如何使视图与 traverse 配合得很好?

我正在尝试通过在 Haskell 中实现镜头来了解镜头。我已经实现了view组合器,如下所示:

但是,当我尝试将它与我一起使用时,traverse我收到以下错误消息:

不幸的是,我不明白这个错误信息。请解释它的含义以及我如何解决它。

0 投票
6 回答
2045 浏览

list - 如何在 Haskell 中折叠状态?

我有一个简单的功能(实际上用于欧拉项目的一些问题)。它将数字列表转换为十进制数。

我意识到这种类型[Int]并不理想。fromDigits应该能够接受其他输入,例如序列,甚至可能foldables......

我的第一个想法是用一种“带状态的折叠”替换上面的代码。上述函数的正确(= 最小)Haskell 类别是什么?

0 投票
1 回答
61 浏览

haskell - 获取 Applicative Traversable 的索引而不使用 dummy

假设我有一些v,既是Applicative又是Traversable。我怎样才能得到 av的索引v?举一个具体的例子,考虑V3Linear. 我想要V3 0 1 2

一种方法是使用mapAccumL假人,例如:

(pure "")假人感觉不雅。我们怎样才能以更优雅的方式做到这一点?

0 投票
1 回答
398 浏览

haskell - 如何将 Haskell Traversable 转换为 Vector?

如果我有一个Traversable实例,xs如何将其转换为Vector

0 投票
2 回答
747 浏览

scala - 为什么序列不适用于验证列表

我想我明白什么是序列。我想知道为什么它不适用于List[ValidationNel]. 例如:

工作sequence正常List[Option]]

...但不适用于List[ValidationNel]

...但是sequenceU 确实适用于List[ValidationNel]

我的问题是:为什么不sequence使用List[ValidationNel]?为什么要sequenceU使用它?

0 投票
1 回答
160 浏览

haskell - “Data.Traversable”中的“fmapDefault”有什么意义?

我正在查看文档Data.Traversable并遇到了fmapDefault- https://downloads.haskell.org/~ghc/latest/docs/html/libraries/base/Data-Traversable.html#g:3

该文件指出 -

如果定义了 traverse,则此函数可以用作 Functor 实例中 fmap 的值。

所以大概它可以用来导出fmap一个Traversable实例。然而,Traversable作为Functor一个超类。

所以你不能在不先定义Traversable实例的情况下定义Functor实例!并且无论你有一个Traversable,你都可以访问一个fmap,这相当于(并且可能比更有效)fmapDefault

那么将在哪里使用fmapDefault,而不是更熟悉fmap