heads up: GHC gets a new constraint solver (again)
Daniel Fischer
daniel.is.fischer at googlemail.com
Wed Nov 16 21:36:14 CET 2011
On Wednesday 16 November 2011, 19:22:53, Dimitrios Vytiniotis wrote:
> Friends,
>
> After a very busy period of hard work with Simon, we've re-engineered
> GHCs constraint solver and I just pushed a big patch on master along
> with modifications in the testsuite.
>
> The new constraint solver is based on the existing in its core ideas but
> is shorter, much cuter, and for many programs much faster (for others
> performance is roughly the same)
>
> If you had a program that was taking very long to compile in the past,
> we'd be very interested to see how this reengineered constraint solver
> performs on it. Same if you spot problems or notable regressions.
Seems to be a clear win for T5030:
bytes allocated 943772224 is less than minimum allowed 1200000000
If this is because you have improved GHC, please
update the test so that GHC doesn't regress again
*** unexpected failure for T5030(normal)
:D
But due to its greater efficiency, it's dangerous in cases like
SkolemOccursLoop.
It seems the new solver gets as far with a context-stack of N as the old
got with a context-stack of 2N+1 there.
When, like in SkolemOccursLoop, the context grows exponentially in size,
you're running out of memory even with a relatively small context-stack.
Cheers,
Daniel
More information about the Glasgow-haskell-users
mailing list