来自haskell列表的连续对

Bil*_*ack 3 haskell tuples list

如何在没有递归的情况下从列表中获取连续对(元组)的列表?

例如:[1, 2, 3, 4][(1, 2), (2, 3), (3, 4)]

Gur*_*las 11

\xs -> zip xs $ tail xszip <*> tail.

  • 对于像我这样的其他新手,使用的Applicative的相关实例是常见的第一个参数类型`(( - >)r)`的函数的实例,你有`<*> fgx = fx(gx)` ,显然也被称为S组合子. (3认同)
  • 后者最好写成`zip <*> tail`.我实际上不是这些函数 - 函子黑客的忠实粉丝,但我不得不承认这里非常好. (2认同)
  • `ap`现在有点过时,因为`Applicative`是`Monad`的超类(至少在GHC中,假设它被Haskell 2014标准采用). (2认同)