To build the 'vivid' package (on Hackage) with recent versions of GHC (I 
believe the problem is with 8.0+, didn't see it before then), I need to compile 
with -fconstraint-solver-iterations=0. (0 meaning unbounded)

However, I noticed today that the GHC docs say "Typically one iteration 
suffices; so please yell if you find you need to set it higher than the 
default."

The code (in Vivid.SynthDef.FromUA) uses a large amount of type family 
recursion. Is this not a case where I should be yelling? If I should be, I can 
provide a smaller repro case.

If this is expected, are there techniques for rewriting the code in a way 
that'll fit under the default number of iterations? I've tried rewriting, 
making the number of iterations logarithmic instead of linear (e.g. by 
appending lists instead of cons-ing), but still hit the problem (even with an 
increased but bounded number of iteration steps).

Thanks!
Tom
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to