【发布时间】:2015-03-21 06:48:23
【问题描述】:
假设我有一些v,既是Applicative,也是Traversable。如何获得具有v 索引的v?举一个具体的例子,考虑Linear 中的V3。我要V3 0 1 2。
一种方法是将mapAccumL 与假人一起使用,例如:
snd $ T.mapAccumL
(\idx _ -> (idx + 1, idx))
0 (pure "") :: V3 Int
但是(pure "") dummy 感觉不雅。我们怎样才能以更优雅的方式做到这一点?
【问题讨论】:
-
空字符串是怎么回事?如果你想要一个“没什么意思”的值,规范的选择是
()。 -
@dfeuer 链接的帖子包含几个不错的替代方法,但它们都不需要初始值来给出形状。 (但是那个问题也没有要求。)
标签: haskell applicative traversable