| Portability | see LANGUAGE pragmas (... GHC) |
|---|---|
| Stability | experimental |
| Maintainer | nicolas.frisby@gmail.com |
| Safe Haskell | None |
Type.Serialize.Base
Description
Type-level serialization (i.e. type -> type-digit type-level numeral).
- type family Serialize a :: Digit
- encode :: Serialize a => a -> Type
- serializeType_data :: Name -> Q [Dec]
- serializeType_pro :: Name -> Q [Dec]
- serializeType_ :: Monad m => (Name -> Type) -> Name -> m [Dec]
- serializeTypeAsHash_data :: Name -> Q [Dec]
- serializeTypeAsHash_pro :: Name -> Q [Dec]
- serializeTypeAsHash_ :: Monad m => (Name -> Type) -> Name -> m [Dec]
Documentation
encode :: Serialize a => a -> TypeSource
Encode uses the cereal package serializer to encode the value and then
uses type-digits to reflect it as a type-level numeral.
serializeType_data :: Name -> Q [Dec]Source
Generates the Serialize instance corresponding to the serialization of
the type constructor's globally unique name (i.e. TH's NameG).
serializeType_pro :: Name -> Q [Dec]Source
serializeTypeAsHash_data :: Name -> Q [Dec]Source
serializeType can result in very large types, so we prefer the
data-hash hash of the NameG's serialization.
serializeTypeAsHash_pro :: Name -> Q [Dec]Source