
10 Jul
2016
10 Jul
'16
4:27 p.m.
Hi, we've been debating the usefulness of Monad instances for Stream [2] or homogeneous tuples (fixed-length vectors). The Applicative implementation for them is simply zipping, very useful indeed. The "join" of their Monad instances takes the diagonal of a 2-dimensional plane (finite for tuples, infinite for Stream). (See also [1].) The question is, are such monad instances used in the wild? Are they actually useful or interesting for anything? [1] https://mail.haskell.org/pipermail/haskell-cafe/2009-April/thread.html#59079 [2] https://hackage.haskell.org/package/Stream-0.4.7.2/docs/Data-Stream.html Thanks Petr