Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Packed.TH.Utils
Synopsis
- type Tag = Word8
- getParentTypeFromConstructorType :: Type -> Type
- resolveAppliedType :: Name -> Q (Type, [Name])
- getNameAndBangTypesFromCon :: Con -> (Name, [BangType])
- sanitizeConName :: Name -> String
- getBranchesTyList :: Name -> [PackingFlag] -> Q [[Type]]
- getBranchTyList :: Con -> [PackingFlag] -> Q [Type]
- typeIsFieldSize :: Type -> Bool
- getConFieldsIdxAndNeedsFS :: Con -> [PackingFlag] -> [(Type, Int, Bool)]
Documentation
sanitizeConName :: Name -> String Source #
Sanitize constructor name so that it can be used as a symbol name
getBranchesTyList :: Name -> [PackingFlag] -> Q [[Type]] Source #
for a given type, and the packing flags, gives back the list of types for each branch
getBranchesTyList ''Tree [InsertFieldSize
]
> [[FieldSize, Int], [FieldSize, Tree a, FieldSize, Tree a]]
getBranchTyList :: Con -> [PackingFlag] -> Q [Type] Source #
typeIsFieldSize :: Type -> Bool Source #
getConFieldsIdxAndNeedsFS :: Con -> [PackingFlag] -> [(Type, Int, Bool)] Source #