Build fails because "Simplifier ticks exhausted"
I'm working with WSL2 to build the project but I failed miserably.
I have tried different versions of ghc (8.10.7, 9.2.8, 9.4.5, 9.6.2) & cabal (3.6.2.0, 3.8.1.0, 3.10.1.0) and I still can't build the project. The furthest that I got was to the following error. Also it was very difficult to search for this error and I only found this issue to get started.
cabal build all
...
[47 of 48] Compiling Statistics.Correlation ( Statistics/Correlation.hs, dist/build/Statistics/Correlation.p_o )
Simplifier ticks exhausted
When trying UnfoldingDone pearsonMatByRow
To increase the limit, use -fsimpl-tick-factor=N (default 100).
In addition try adjusting -funfolding-case-threshold=N and
-funfolding-case-scaling=N for the module in question.
Using threshold=1 and scaling=5 should break most inlining loops.
If you need to increase the tick factor substantially, while also
adjusting unfolding parameters please file a bug report and
indicate the factor you needed.
If GHC was unable to complete compilation even with a very large factor
(a thousand or more), please consult the "Known bugs or infelicities"
section in the Users Guide before filing a report. There are a
few situations unlikely to occur in practical programs for which
simplifier non-termination has been judged acceptable.
To see detailed counts use -ddump-simpl-stats
Total ticks: 9684
Error: cabal: Failed to build reanimate-svg-0.13.0.1 (which is required by
exe:showcase from hgeometry-showcase-0.13.0). See the build log above for
details.
Failed to build statistics-0.16.2.0 (which is required by
exe:hgeometry-showcase from hgeometry-showcase-0.13.0, exe:hgeometry-devel
from hgeometry-devel-0.1.0.0 and others). See the build log above for details.
Found similar issue! https://gitlab.haskell.org/ghc/ghc/-/issues/14637
Thanks for your interest in HGeometry! I'm currently working on a rewrite of some of the primitives that should hopefully make the library faster and easier to use, so I haven't payed that much attention to the current master branch in a while.
Note that the hgeometry-showcase really just are some examples that David wrote at some point. You might simply want to disable them for now by commenting the hgeometry-showcase line in the cabal.project.