Lysxia / generic-data

Generic data types in Haskell, utilities for GHC.Generics
https://hackage.haskell.org/package/generic-data
MIT License
44 stars 9 forks source link

Better simplfiication for big types #40

Open Lysxia opened 3 years ago

Lysxia commented 3 years ago

The generic machinery is sadly not getting simplified away for big enough types. For an example, see the test case eqBigR =/= eqBigG in test/inspection.hs. The generically derived (==) (eqBigG) simplifies to a join point applied to a Rep in each of the 5 branches after pattern-matching on the first argument. How to get this join point to be inlined?