Many thanks for the replies, Max and Janis.

Yes - exactly - I wanted some sort of size combinator, couldn't find one 
and just experimented to see what would happen.  It would be lovely to have 
this built in to Fuzz.

Max - many thanks for pointing out Fuzz - I wasn't aware of it. I see that 
elm-check is now deprecated - I guess it must have happened quite recently. 
 I'd be very happy to make the recursion depth explicit as in your second 
example.  I'll play with it for a bit and report back what I find.  I very 
much like the fact that you can indicate frequencies for the different ADT 
constructors and also that (I presume) you no longer have to write your own 
shrinkers.  I was a initially a bit concerned about *frequencyOrCrash *but 
it seems that if you're sensible with your frequencies, then actual crashes 
won't happen.

On Friday, 12 August 2016 15:14:05 UTC+1, John Watson wrote:
>
> I have simplified my data type to:
>
>     type Music =
>       Note Int
>       | Rest Int
>       | Seq Music Music
>       | Par Music Music
>
> I have attempted to write a Producer (see this gist 
> <https://gist.github.com/newlandsvalley/733ced7c86b738732028b4480e83980e>) 
> where the runtime crashes with:
>
>     TypeError: _user$project$Producers$parseq is not a function
>
> If I replace the recursive generation step in the parseq 
> <https://gist.github.com/newlandsvalley/733ced7c86b738732028b4480e83980e#file-producers-elm>
>  
> Producer, then I get no crash, the check works (but of course on limited 
> data).  Judging by the lack of any log output, I don't think I'm recursing 
> forever - I wonder if perhaps it could be another manifestation of this 
> <https://github.com/elm-lang/elm-compiler/issues/873> problem?
>
> Any help gratefully accepted.
>

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to