Constraint solver iterations
Simon Peyton Jones
simonpj at microsoft.com
Thu Apr 27 14:25:22 UTC 2017
I'd love to see the repo case.
with -ddump-simpl-iterations -ddump-simpl-stats you'll see the result after each iteration, and what was done. I bet you get to the point where only one thing happens per iteration and that's bad.
Make a ticket!
Thanks
Simon
| -----Original Message-----
| From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of
| amindfv at gmail.com
| Sent: 27 April 2017 16:18
| To: ghc-devs at haskell.org
| Subject: Constraint solver iterations
|
| 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 at haskell.org
| https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.h
| askell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-
| devs&data=02%7C01%7Csimonpj%40microsoft.com%7C897af52446cd4b1cefd608d4
| 8d785fa6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6362889955277201
| 33&sdata=POYwck2lKRtnKCfC%2FNAASG8ZBvm2lFiuFaCCDminogc%3D&reserved=0
More information about the ghc-devs
mailing list