Safe Haskell | None |
---|---|

Language | Haskell2010 |

## Synopsis

- deriveManyStoreFromStorable :: (Type -> Bool) -> Q [Dec]
- deriveTupleStoreInstance :: Int -> Dec
- deriveGenericInstance :: Cxt -> Type -> Dec
- deriveGenericInstanceFromName :: Name -> Q Dec
- deriveManyStorePrimVector :: Q [Dec]
- deriveManyStoreUnboxVector :: Q [Dec]
- deriveStore :: Cxt -> Type -> [DataCon] -> Q Dec
- makeStore :: Name -> Q [Dec]
- getAllInstanceTypes1 :: Name -> Q [Type]
- isMonoType :: Type -> Bool

# TH functions for generating Store instances

deriveTupleStoreInstance :: Int -> Dec Source #

deriveManyStorePrimVector :: Q [Dec] Source #

makeStore :: Name -> Q [Dec] Source #

Given the name of a type, generate a Store instance for it, assuming that all type variables also need to be Store instances.

Note that when used with datatypes that require type variables, the ScopedTypeVariables extension is required.

# Misc utilties used in Store test

isMonoType :: Type -> Bool Source #