Fix ghc Monoid/Semigroup Issue for cabal-based builds with newer versions of base #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm playing around with this package in a project that generates OpenSCAD geometries from Haskell. I found that when running
cabal v2-build
on a project which includes this package, ghc pukes:Looks like the Monoid instance in
OpenSCAD.hs
predates the split inbase
from a single Monoid typeclass (base < 4.11) which has bothmappend
andmempty
to separate Monoid and Semigroup classes (base >=4.11) for these two functions. Currently, cabal selects base-4.12.0.0, given the constraints inOpenSCAD.cabal
.I was able to fix this for my project by defining separate Semigroup and Monoid instances for Model in 8405259. This could probably also be fixed by constraining base < 4.11 in
OpenSCAD.cabal
.