-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Type-level serialization of type constructors
--
-- Any type-spine-enabled type constructor can be converted to a
-- unique type-digits type-level numeral.
@package type-cereal
@version 0.3
-- | Type-level serialization (i.e. type -> type-digit
-- type-level numeral).
module Type.Serialize.Base
-- | Serialize maps a type to its unique type-level serialization.
-- | Encode uses the cereal package serializer to encode the value
-- and then uses type-digits to reflect it as a type-level
-- numeral.
encode :: Serialize a => a -> Type
-- | Generates the Serialize instance corresponding to the
-- serialization of the type constructor's globally unique name (i.e.
-- TH's NameG).
serializeType_data :: Name -> Q [Dec]
serializeType_pro :: Name -> Q [Dec]
serializeType_ :: Monad m => (Name -> Type) -> Name -> m [Dec]
-- | serializeType can result in very large types, so we prefer
-- the data-hash hash of the NameG's serialization.
serializeTypeAsHash_data :: Name -> Q [Dec]
serializeTypeAsHash_pro :: Name -> Q [Dec]
serializeTypeAsHash_ :: Monad m => (Name -> Type) -> Name -> m [Dec]
-- | Type-level serialization for the basic types: Bool, Char, Either, etc.
module Type.Serialize