Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module exports TH utilities intended to be useful to users.
However, the visible exports do not show the main things that will be
useful, which is using TH to generate Store
instances, via
TH.Derive. It's used like this:
data Foo = Foo Int | Bar Int $($(derive [d| instance Deriving (Store Foo) |]))
One advantage of using this Template Haskell definition of Store
instances is that in some cases they can be faster than the instances
defined via Generics. Specifically, sum types which can yield
ConstSize
from size
will be faster when used in array-like types.
The instances generated via generics always use VarSize
for sum
types.