[Haskell-cafe] QuickCheck

Sebastian Sylvan sebastian.sylvan at gmail.com
Mon Mar 17 14:02:08 EDT 2008


On Mon, Mar 17, 2008 at 1:54 PM, Thomas Schilling <nominolo at googlemail.com>
wrote:

>
> On 17 mar 2008, at 14.37, rodrigo.bonifacio wrote:
>
> > Hi all,
> >
> > Is it possible to define a limit for the size of children list bellow?
> >
> > I've tried:
> >
> > children <- resize (10 (listGen featureGenNormal))
> >>
>
> You are calling a number as a function.
>
> Also, listGen has to use the size argument.  Try something like (not
> tested):
>
>   listGen =
>     sized (\maxSize -> do
>         n <- arbitrary
>         x <- g
>         xs <- frequency [ (1, return []), (n, listGen g) ]
>         return (x:xs)
>

In retrospect, this function isn't very good at all, because it never
generates the empty list... Something like this is probably better
(untested):

listGen g = sized (\maxSize -> do
   count <- choose (0, maxSize - 1)
   replicateM count g )


-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20080317/9f8983c6/attachment.htm


More information about the Haskell-Cafe mailing list