-- 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