Metadata in GHC.Generic should give access to strictness annotation
|Reported by:||StefanWehr||Owned by:|
|Keywords:||Generics||Cc:||adamgundry, kosmikus, goldfire|
|Type of failure:||None/Unknown||Test Case:|
|Related Tickets:||Differential Rev(s):||Phab:1646|
Currently, the metadata in the GHC.Generics module do not give access to the strictness annotations attached to a field of a datatype. It would be great if this piece of information could be added.
Background: we are using a class FullyStrict for ensuring that a datatype is fully strict (in the sense that all fields have bang patterns and the types of all fields are also fully strict). Currently we are using TemplateHaskell to derive the instances automatically. The TemplateHaskell function also checks that all fields have bang patterns.
To improve compilation speed, I would like to derive the instances with DeriveGeneric. But this is not possible because then I cannot implement the check whether all fields have bang patterns.