[Haskell-cafe] Properties for Foldable

2011-07-29 Thread Conal Elliott
Is there a collection of laws associated with the Foldable class? Or for Traversable? - Conal ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Re: [Haskell-cafe] Properties for Foldable

2011-07-29 Thread David Barbour
On Fri, Jul 29, 2011 at 1:15 PM, Conal Elliott co...@conal.net wrote: Is there a collection of laws associated with the Foldable class? Or for Traversable? - Conal Judging by the documentation in the source, I think all the laws are in terms of 'toList'...

Re: [Haskell-cafe] Properties for Foldable

2011-07-29 Thread Henning Thielemann
On Fri, 29 Jul 2011, Conal Elliott wrote: Is there a collection of laws associated with the Foldable class? Or for Traversable?  - Conal Recently I asked the same question: http://www.haskell.org/pipermail/libraries/2011-June/016429.html and got the answer:

Re: [Haskell-cafe] Properties for Foldable

2011-07-29 Thread Jan Christiansen
Hi, On Jul 29, 2011, at 10:15 PM, Conal Elliott wrote: Is there a collection of laws associated with the Foldable class? Or for Traversable? - Conal if you are not aware of The essence of the Iterator pattern by Jeremy Gibbons and Bruno Oliveira

Re: [Haskell-cafe] Properties for Foldable

2011-07-29 Thread Sebastian Fischer
 http://www.cs.ox.ac.uk/jeremy.gibbons/publications/iterator.pdf Interesting. However I don't understand why the instance in Section 5.5 is not already forbidden by the purity law traverse pure = pure and a 'no duplication' constraint would be necessary. For example: traverse Id

Re: [Haskell-cafe] Properties for Foldable

2011-07-29 Thread Jan Christiansen
On Jul 30, 2011, at 12:40 AM, Sebastian Fischer wrote: Interesting. However I don't understand why the instance in Section 5.5 is not already forbidden by the purity law traverse pure = pure and a 'no duplication' constraint would be necessary. For example: traverse Id [1,2,3] =

Re: [Haskell-cafe] Properties for Foldable

2011-07-29 Thread Sebastian Fischer
What am I missing? I suspect you missed the use of const Doh! I completely overlooked that it's about duplication of *effects*. Thanks, Sebastian ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org