[Haskell-cafe] Re: Functions of type foo :: f a - g a

2010-05-13 Thread Gordon J. Uszkay
Thank you for all these answers - I learned a lot (especially that the responses come in REALLY quickly, so the digest option is not a good choice). I think I need to rephrase the problem, taking into account what I have learned. class (Functor f, Functor g) = Foo f g where foo :: f a -

Re: [Haskell-cafe] Re: Functions of type foo :: f a - g a

2010-05-13 Thread Stephen Tetley
On 13 May 2010 20:25, Gordon J. Uszkay uszka...@mcmaster.ca wrote: [SNIP]  The f container is a potentially infinite stream of data obtained from a generator, and I want to be able to control how much data is extracted, so an eager 'fmap' won't be sufficient (an eager process will be applied

Re: [Haskell-cafe] Re: Functions of type foo :: f a - g a

2010-05-13 Thread Edward Kmett
There is also a (naive) metamorphism combinator in my category-extras library: http://hackage.haskell.org/packages/archive/category-extras/0.53.4/doc/html/Control-Morphism-Meta-Gibbons.html Though it is definitely worth pursuing the optimizations that Gibbons talks about in his very good spigot

Re: [Haskell-cafe] Re: Functions of type foo :: f a - g a

2010-05-13 Thread Gordon J. Uszkay
The problem does follow a generator / reducer model. I think between metamorphisms, hylomorphisms and monoids, I should be able to structure my solution correctly. Thanks! Gordon J. Uszkay uszka...@mcmaster.ca On May 13, 2010, at 3:42 PM, Edward Kmett wrote: There is also a (naive)

Re: [Haskell-cafe] Re: Functions of type foo :: f a - g a

2010-05-13 Thread Jacques Carette
[I work with Gordon on this] The problem domain is test frameworks, more specifically proposition-based testing.  We are most of the way through unifying QuickCheck and SmallCheck (as well as untangling the various 'stages'), and are now generalizing. The generator is obvious.  The 'reducer'