什么时候想要使用OneTuple?

Tar*_*sch 8 haskell tuples

在包装我只是偶然OneTuple 上hackage.我想知道它的目的,我确信作者并不是为了它的乐趣而创造它.那么这什么时候有用呢?很清楚它的作用,但不会在人们使用它的时候.

那么,当你可以从中受益时,任何人都知道任何很酷的例子吗?或者也许展示它背后的数学美?

ham*_*mar 4

它与 monad 几乎相同Identity,monad 常被用作 monad 变压器堆栈的基础,只不过因为OneTupleusedata而不是newtype它有一个额外的底部值。

它很有趣,因为从某种意义上说,它是它实现的大多数类型类中最简单的示例。不过,我认为它没有太多实际用途。

  • 我只看到创建额外的间接层的实际用途,例如保护内部的 thunk 不被评估。 (2认同)