-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Encoding-independent schemas for Haskell data types. -- -- A Haskell implementation of encoding-independent schemas. @package schema @version 0.0.3 module Data.Schema.Type data SchemaF a Empty :: SchemaF a Atom :: Type -> SchemaF a List :: a -> SchemaF a Prod :: [a] -> SchemaF a Field :: String -> a -> SchemaF a Sum :: Maybe DatatypeName -> [a] -> SchemaF a Con :: String -> a -> SchemaF a Module :: String -> [a] -> SchemaF a Schema :: [a] -> SchemaF a type Schema = Fix SchemaF data Type TyBool :: Type TyWord8 :: Type TyWord16 :: Type TyWord32 :: Type TyWord64 :: Type TyBin :: Type TyFixedBin :: Int -> Type TyName :: String -> Type sumType :: Schema -> Schema -> Schema prodType :: Schema -> Schema -> Schema instance GHC.Classes.Eq Data.Schema.Type.Type instance GHC.Read.Read Data.Schema.Type.Type instance GHC.Show.Show Data.Schema.Type.Type instance Data.Functor.Classes.Eq1 Data.Schema.Type.SchemaF instance Data.Functor.Classes.Read1 Data.Schema.Type.SchemaF instance Data.Functor.Classes.Show1 Data.Schema.Type.SchemaF instance Data.Traversable.Traversable Data.Schema.Type.SchemaF instance Data.Foldable.Foldable Data.Schema.Type.SchemaF instance GHC.Base.Functor Data.Schema.Type.SchemaF instance GHC.Generics.Generic1 Data.Schema.Type.SchemaF instance GHC.Generics.Generic (Data.Schema.Type.SchemaF a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Schema.Type.SchemaF a) instance GHC.Read.Read a => GHC.Read.Read (Data.Schema.Type.SchemaF a) instance GHC.Show.Show a => GHC.Show.Show (Data.Schema.Type.SchemaF a) instance GHC.Base.Semigroup Data.Schema.Type.Schema module Data.Schema.Builder data Builder a Builder :: a -> Schema -> Builder a [zero] :: Builder a -> a [getSchema] :: Builder a -> Schema class ToSchema a toSchema :: ToSchema a => Builder a toSchema :: (ToSchema a, Generic a, GToSchema (Rep a)) => Builder a atom :: Type -> a -> Builder a instance GHC.Show.Show a => GHC.Show.Show (Data.Schema.Builder.Builder a) instance GHC.Read.Read a => GHC.Read.Read (Data.Schema.Builder.Builder a) instance Data.Schema.Builder.ToSchema a => Data.Schema.Builder.ToSchema [a] instance Data.Schema.Builder.ToSchema a => Data.Schema.Builder.GToSchema (GHC.Generics.K1 i a) instance Data.Schema.Builder.GToSchema GHC.Generics.U1 instance (Data.Schema.Builder.GToSchema a, Data.Schema.Builder.GToSchema b) => Data.Schema.Builder.GToSchema (a GHC.Generics.:*: b) instance (Data.Schema.Builder.GToSchema a, Data.Schema.Builder.GToSchema b) => Data.Schema.Builder.GToSchema (a GHC.Generics.:+: b) instance (GHC.Generics.Datatype d, Data.Schema.Builder.GToSchema f) => Data.Schema.Builder.GToSchema (GHC.Generics.D1 d f) instance (GHC.Generics.Constructor c, Data.Schema.Builder.GToSchema f) => Data.Schema.Builder.GToSchema (GHC.Generics.C1 c f) instance (GHC.Generics.Selector s, Data.Schema.Builder.GToSchema f) => Data.Schema.Builder.GToSchema (GHC.Generics.S1 s f) instance Data.Schema.Builder.GToSchema a => Data.Schema.Builder.GToSchema (GHC.Generics.M1 t c a) instance GHC.Base.Semigroup (Data.Schema.Builder.Builder a) instance GHC.Base.Functor Data.Schema.Builder.Builder instance GHC.Base.Applicative Data.Schema.Builder.Builder module Data.Schema data SchemaF a Empty :: SchemaF a Atom :: Type -> SchemaF a List :: a -> SchemaF a Prod :: [a] -> SchemaF a Field :: String -> a -> SchemaF a Sum :: Maybe DatatypeName -> [a] -> SchemaF a Con :: String -> a -> SchemaF a Module :: String -> [a] -> SchemaF a Schema :: [a] -> SchemaF a type Schema = Fix SchemaF data Type TyBool :: Type TyWord8 :: Type TyWord16 :: Type TyWord32 :: Type TyWord64 :: Type TyBin :: Type TyFixedBin :: Int -> Type TyName :: String -> Type data Builder a Builder :: a -> Schema -> Builder a [zero] :: Builder a -> a [getSchema] :: Builder a -> Schema class ToSchema a toSchema :: ToSchema a => Builder a toSchema :: (ToSchema a, Generic a, GToSchema (Rep a)) => Builder a module Data.Schema.Pretty ppSchema :: Schema -> Doc module Data.Schema.Deinline deinline :: Schema -> Schema module Data.Schema.C genC :: Schema -> Doc namespaceFor :: [String] -> String data StructField StructField :: Doc -> Type -> StructField [sfField] :: StructField -> Doc [sfType] :: StructField -> Type data StructName StructName :: Doc -> Doc -> StructName [snType] :: StructName -> Doc [snFun] :: StructName -> Doc flattenFields :: String -> String -> Schema -> (StructName, [StructField]) genDatatype :: StructName -> [StructField] -> Doc genHeader :: StructName -> [StructField] -> Doc genSource :: StructName -> [StructField] -> Doc genTypedef :: StructName -> Doc -- | Generate the C struct definition. genStruct :: StructName -> [StructField] -> Doc eventParam :: Doc -> Doc -> Doc -> Doc getterDecl :: Doc -> Doc -> String -> Doc -> Doc setterDecl :: Doc -> Doc -> String -> Doc -> Doc -> Doc getterDeclFor :: (String -> Doc -> Doc) -> StructField -> Doc genGetterDecls :: StructName -> [StructField] -> Doc genGetterDefn :: StructName -> StructField -> Doc genSetterDefn :: StructName -> StructField -> Doc -- |
-- fieldName' -> field_name --fieldName :: String -> Doc tyName :: String -> String -> Type -- |
-- TypeName -> Type_Name --toCamelSnake :: String -> String instance GHC.Show.Show Data.Schema.C.StructField instance GHC.Show.Show Data.Schema.C.StructName