Safe Haskell | None |
---|---|
Language | Haskell2010 |
Code generation shared by TH and QQ
Since these can also be used by QQ, these functions cannot take Options
.
Synopsis
- recordTypeE :: Record a -> Q Exp
- recordConstrE :: Record a -> Q Exp
- recordTypeT :: Qualifier -> Record a -> Q Type
- recordToVectorE :: Qualifier -> Record a -> Q Exp
- recordFromVectorDontForceE :: Qualifier -> Record a -> Q Exp
- recordIndexedAccessorE :: Qualifier -> Record a -> Q Exp
- recordIndexedOverwriteE :: Qualifier -> Record a -> Q Exp
- recordUndefinedValueE :: Qualifier -> Record a -> Q Exp
- fieldNameE :: Field a -> Q Exp
- fieldNameT :: Field a -> Q Type
- fieldTypeT :: Field a -> Q Type
- fieldIndexE :: Field a -> Q Exp
- fieldUntypedAccessorE :: Qualifier -> Record a -> Field a -> Q Exp
- fieldUntypedOverwriteE :: Qualifier -> Record a -> Field a -> Q Exp
Records
recordTypeT :: Qualifier -> Record a -> Q Type Source #
The saturated type of the record (that is, with all type vars applied)
recordToVectorE :: Qualifier -> Record a -> Q Exp Source #
Coerce the record to the underlying Vector Any
recordFromVectorDontForceE :: Qualifier -> Record a -> Q Exp Source #
Construct record from the underlying Vector Any
This doesn't force any elements in the vector, so this can be used if
- the record has lazy fields, or
- we know through other means that all values are already forced.
See also recordFromVectorForceE
.
recordIndexedAccessorE :: Qualifier -> Record a -> Q Exp Source #
The (unsafe) indexed field accessor
recordIndexedOverwriteE :: Qualifier -> Record a -> Q Exp Source #
The (unsafe) indexed field overwrite