inline-c 0.5.5.1 → 0.5.5.2
raw patch · 3 files changed
+27/−1 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Language.C.Inline: instance (Storable a, Storable b) => WithPtrs (a, b)
- Language.C.Inline: instance (Storable a, Storable b, Storable c) => WithPtrs (a, b, c)
- Language.C.Inline: instance (Storable a, Storable b, Storable c, Storable d) => WithPtrs (a, b, c, d)
- Language.C.Inline: instance (Storable a, Storable b, Storable c, Storable d, Storable e) => WithPtrs (a, b, c, d, e)
- Language.C.Inline: instance (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f) => WithPtrs (a, b, c, d, e, f)
- Language.C.Inline: instance (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f, Storable g) => WithPtrs (a, b, c, d, e, f, g)
- Language.C.Inline.Context: aqMarshaller :: AntiQuoter a -> Purity -> TypesTable -> Type CIdentifier -> a -> Q (Type, Exp)
- Language.C.Inline.Context: aqParser :: AntiQuoter a -> forall m. CParser HaskellIdentifier m => m (CIdentifier, Type CIdentifier, a)
- Language.C.Inline.Context: ctxAntiQuoters :: Context -> AntiQuoters
- Language.C.Inline.Context: ctxFileExtension :: Context -> Maybe String
- Language.C.Inline.Context: ctxOutput :: Context -> Maybe (String -> String)
- Language.C.Inline.Context: ctxTypesTable :: Context -> TypesTable
- Language.C.Inline.Context: instance Eq Purity
- Language.C.Inline.Context: instance Monoid Context
- Language.C.Inline.Context: instance Show Purity
- Language.C.Inline.Context: instance Storable a => VecCtx (IOVector a)
- Language.C.Inline.Context: instance Storable a => VecCtx (Vector a)
- Language.C.Inline.HaskellIdentifier: instance Arbitrary HaskellIdentifier
- Language.C.Inline.HaskellIdentifier: instance Eq HaskellIdentifier
- Language.C.Inline.HaskellIdentifier: instance Hashable HaskellIdentifier
- Language.C.Inline.HaskellIdentifier: instance IsString HaskellIdentifier
- Language.C.Inline.HaskellIdentifier: instance Ord HaskellIdentifier
- Language.C.Inline.HaskellIdentifier: instance Pretty HaskellIdentifier
- Language.C.Inline.HaskellIdentifier: instance Show HaskellIdentifier
- Language.C.Inline.HaskellIdentifier: instance Typeable HaskellIdentifier
- Language.C.Inline.Internal: codeCallSafety :: Code -> Safety
- Language.C.Inline.Internal: codeDefs :: Code -> String
- Language.C.Inline.Internal: codeFunName :: Code -> String
- Language.C.Inline.Internal: codeType :: Code -> TypeQ
- Language.C.Inline.Internal: instance Eq ParameterType
- Language.C.Inline.Internal: instance Eq SomeEq
- Language.C.Inline.Internal: instance Show ParameterType
- Language.C.Inline.Internal: instance Show SomeEq
- Language.C.Inline.Internal: ptcBody :: ParseTypedC -> String
- Language.C.Inline.Internal: ptcParameters :: ParseTypedC -> [(CIdentifier, Type CIdentifier, ParameterType)]
- Language.C.Inline.Internal: ptcReturnType :: ParseTypedC -> Type CIdentifier
- Language.C.Types: functionSpecifiers :: Specifiers -> [FunctionSpecifier]
- Language.C.Types: instance Eq Sign
- Language.C.Types: instance Eq Specifiers
- Language.C.Types: instance Eq TypeSpecifier
- Language.C.Types: instance Eq UntangleErr
- Language.C.Types: instance Eq i => Eq (ParameterDeclaration i)
- Language.C.Types: instance Eq i => Eq (Type i)
- Language.C.Types: instance Foldable ParameterDeclaration
- Language.C.Types: instance Foldable Type
- Language.C.Types: instance Functor ParameterDeclaration
- Language.C.Types: instance Functor Type
- Language.C.Types: instance Monoid Specifiers
- Language.C.Types: instance Ord Sign
- Language.C.Types: instance Ord TypeSpecifier
- Language.C.Types: instance Pretty TypeSpecifier
- Language.C.Types: instance Pretty UntangleErr
- Language.C.Types: instance Pretty i => Pretty (ParameterDeclaration i)
- Language.C.Types: instance Pretty i => Pretty (Type i)
- Language.C.Types: instance Show Sign
- Language.C.Types: instance Show Specifiers
- Language.C.Types: instance Show TypeSpecifier
- Language.C.Types: instance Show UntangleErr
- Language.C.Types: instance Show i => Show (ParameterDeclaration i)
- Language.C.Types: instance Show i => Show (Type i)
- Language.C.Types: instance Traversable ParameterDeclaration
- Language.C.Types: instance Traversable Type
- Language.C.Types: instance Typeable ParameterDeclaration
- Language.C.Types: instance Typeable Sign
- Language.C.Types: instance Typeable Specifiers
- Language.C.Types: instance Typeable Type
- Language.C.Types: instance Typeable TypeSpecifier
- Language.C.Types: instance Typeable UntangleErr
- Language.C.Types: parameterDeclarationId :: ParameterDeclaration i -> Maybe i
- Language.C.Types: parameterDeclarationType :: ParameterDeclaration i -> (Type i)
- Language.C.Types: storageClassSpecifiers :: Specifiers -> [StorageClassSpecifier]
- Language.C.Types: typeQualifiers :: Specifiers -> [TypeQualifier]
- Language.C.Types.Parse: abstractDeclaratorDirect :: AbstractDeclarator i -> Maybe (DirectAbstractDeclarator i)
- Language.C.Types.Parse: abstractDeclaratorPointers :: AbstractDeclarator i -> [Pointer]
- Language.C.Types.Parse: cpcIdentName :: CParserContext i -> String
- Language.C.Types.Parse: cpcIdentToString :: CParserContext i -> i -> String
- Language.C.Types.Parse: cpcParseIdent :: CParserContext i -> forall m. CParser i m => m i
- Language.C.Types.Parse: cpcTypeNames :: CParserContext i -> TypeNames
- Language.C.Types.Parse: declaratorDirect :: Declarator i -> (DirectDeclarator i)
- Language.C.Types.Parse: declaratorPointers :: Declarator i -> [Pointer]
- Language.C.Types.Parse: instance Arbitrary CIdentifier
- Language.C.Types.Parse: instance Arbitrary FunctionSpecifier
- Language.C.Types.Parse: instance Arbitrary Pointer
- Language.C.Types.Parse: instance Arbitrary StorageClassSpecifier
- Language.C.Types.Parse: instance Arbitrary TypeQualifier
- Language.C.Types.Parse: instance Eq CIdentifier
- Language.C.Types.Parse: instance Eq DeclarationSpecifier
- Language.C.Types.Parse: instance Eq FunctionSpecifier
- Language.C.Types.Parse: instance Eq Pointer
- Language.C.Types.Parse: instance Eq StorageClassSpecifier
- Language.C.Types.Parse: instance Eq TypeQualifier
- Language.C.Types.Parse: instance Eq TypeSpecifier
- Language.C.Types.Parse: instance Eq a => Eq (OneOfSized a)
- Language.C.Types.Parse: instance Eq i => Eq (AbstractDeclarator i)
- Language.C.Types.Parse: instance Eq i => Eq (ArrayOrProto i)
- Language.C.Types.Parse: instance Eq i => Eq (ArrayType i)
- Language.C.Types.Parse: instance Eq i => Eq (Declarator i)
- Language.C.Types.Parse: instance Eq i => Eq (DeclaratorOrAbstractDeclarator i)
- Language.C.Types.Parse: instance Eq i => Eq (DirectAbstractDeclarator i)
- Language.C.Types.Parse: instance Eq i => Eq (DirectDeclarator i)
- Language.C.Types.Parse: instance Eq i => Eq (ParameterDeclaration i)
- Language.C.Types.Parse: instance Eq i => Eq (ParameterDeclarationWithTypeNames i)
- Language.C.Types.Parse: instance Foldable AbstractDeclarator
- Language.C.Types.Parse: instance Foldable ArrayOrProto
- Language.C.Types.Parse: instance Foldable ArrayType
- Language.C.Types.Parse: instance Foldable Declarator
- Language.C.Types.Parse: instance Foldable DeclaratorOrAbstractDeclarator
- Language.C.Types.Parse: instance Foldable DirectAbstractDeclarator
- Language.C.Types.Parse: instance Foldable DirectDeclarator
- Language.C.Types.Parse: instance Foldable ParameterDeclaration
- Language.C.Types.Parse: instance Functor AbstractDeclarator
- Language.C.Types.Parse: instance Functor ArrayOrProto
- Language.C.Types.Parse: instance Functor ArrayType
- Language.C.Types.Parse: instance Functor Declarator
- Language.C.Types.Parse: instance Functor DeclaratorOrAbstractDeclarator
- Language.C.Types.Parse: instance Functor DirectAbstractDeclarator
- Language.C.Types.Parse: instance Functor DirectDeclarator
- Language.C.Types.Parse: instance Functor ParameterDeclaration
- Language.C.Types.Parse: instance Hashable CIdentifier
- Language.C.Types.Parse: instance IsString CIdentifier
- Language.C.Types.Parse: instance Ord CIdentifier
- Language.C.Types.Parse: instance Pretty CIdentifier
- Language.C.Types.Parse: instance Pretty DeclarationSpecifier
- Language.C.Types.Parse: instance Pretty FunctionSpecifier
- Language.C.Types.Parse: instance Pretty Pointer
- Language.C.Types.Parse: instance Pretty StorageClassSpecifier
- Language.C.Types.Parse: instance Pretty TypeQualifier
- Language.C.Types.Parse: instance Pretty TypeSpecifier
- Language.C.Types.Parse: instance Pretty i => Pretty (AbstractDeclarator i)
- Language.C.Types.Parse: instance Pretty i => Pretty (ArrayOrProto i)
- Language.C.Types.Parse: instance Pretty i => Pretty (ArrayType i)
- Language.C.Types.Parse: instance Pretty i => Pretty (Declarator i)
- Language.C.Types.Parse: instance Pretty i => Pretty (DirectAbstractDeclarator i)
- Language.C.Types.Parse: instance Pretty i => Pretty (DirectDeclarator i)
- Language.C.Types.Parse: instance Pretty i => Pretty (ParameterDeclaration i)
- Language.C.Types.Parse: instance Show CIdentifier
- Language.C.Types.Parse: instance Show DeclarationSpecifier
- Language.C.Types.Parse: instance Show FunctionSpecifier
- Language.C.Types.Parse: instance Show Pointer
- Language.C.Types.Parse: instance Show StorageClassSpecifier
- Language.C.Types.Parse: instance Show TypeQualifier
- Language.C.Types.Parse: instance Show TypeSpecifier
- Language.C.Types.Parse: instance Show a => Show (OneOfSized a)
- Language.C.Types.Parse: instance Show i => Show (AbstractDeclarator i)
- Language.C.Types.Parse: instance Show i => Show (ArrayOrProto i)
- Language.C.Types.Parse: instance Show i => Show (ArrayType i)
- Language.C.Types.Parse: instance Show i => Show (Declarator i)
- Language.C.Types.Parse: instance Show i => Show (DeclaratorOrAbstractDeclarator i)
- Language.C.Types.Parse: instance Show i => Show (DirectAbstractDeclarator i)
- Language.C.Types.Parse: instance Show i => Show (DirectDeclarator i)
- Language.C.Types.Parse: instance Show i => Show (ParameterDeclaration i)
- Language.C.Types.Parse: instance Show i => Show (ParameterDeclarationWithTypeNames i)
- Language.C.Types.Parse: instance Traversable AbstractDeclarator
- Language.C.Types.Parse: instance Traversable ArrayOrProto
- Language.C.Types.Parse: instance Traversable ArrayType
- Language.C.Types.Parse: instance Traversable Declarator
- Language.C.Types.Parse: instance Traversable DeclaratorOrAbstractDeclarator
- Language.C.Types.Parse: instance Traversable DirectAbstractDeclarator
- Language.C.Types.Parse: instance Traversable DirectDeclarator
- Language.C.Types.Parse: instance Traversable ParameterDeclaration
- Language.C.Types.Parse: instance Typeable AbstractDeclarator
- Language.C.Types.Parse: instance Typeable ArrayOrProto
- Language.C.Types.Parse: instance Typeable ArrayType
- Language.C.Types.Parse: instance Typeable CIdentifier
- Language.C.Types.Parse: instance Typeable DeclarationSpecifier
- Language.C.Types.Parse: instance Typeable Declarator
- Language.C.Types.Parse: instance Typeable DeclaratorOrAbstractDeclarator
- Language.C.Types.Parse: instance Typeable DirectAbstractDeclarator
- Language.C.Types.Parse: instance Typeable DirectDeclarator
- Language.C.Types.Parse: instance Typeable FunctionSpecifier
- Language.C.Types.Parse: instance Typeable OneOfSized
- Language.C.Types.Parse: instance Typeable ParameterDeclaration
- Language.C.Types.Parse: instance Typeable ParameterDeclarationWithTypeNames
- Language.C.Types.Parse: instance Typeable Pointer
- Language.C.Types.Parse: instance Typeable StorageClassSpecifier
- Language.C.Types.Parse: instance Typeable TypeQualifier
- Language.C.Types.Parse: instance Typeable TypeSpecifier
- Language.C.Types.Parse: parameterDeclarationDeclarator :: ParameterDeclaration i -> DeclaratorOrAbstractDeclarator i
- Language.C.Types.Parse: parameterDeclarationSpecifiers :: ParameterDeclaration i -> [DeclarationSpecifier]
- Language.C.Types.Parse: pdwtnParameterDeclaration :: ParameterDeclarationWithTypeNames i -> (ParameterDeclaration i)
- Language.C.Types.Parse: pdwtnTypeNames :: ParameterDeclarationWithTypeNames i -> HashSet CIdentifier
+ Language.C.Inline: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b) => Language.C.Inline.WithPtrs (a, b)
+ Language.C.Inline: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b, Foreign.Storable.Storable c) => Language.C.Inline.WithPtrs (a, b, c)
+ Language.C.Inline: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b, Foreign.Storable.Storable c, Foreign.Storable.Storable d) => Language.C.Inline.WithPtrs (a, b, c, d)
+ Language.C.Inline: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b, Foreign.Storable.Storable c, Foreign.Storable.Storable d, Foreign.Storable.Storable e) => Language.C.Inline.WithPtrs (a, b, c, d, e)
+ Language.C.Inline: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b, Foreign.Storable.Storable c, Foreign.Storable.Storable d, Foreign.Storable.Storable e, Foreign.Storable.Storable f) => Language.C.Inline.WithPtrs (a, b, c, d, e, f)
+ Language.C.Inline: instance (Foreign.Storable.Storable a, Foreign.Storable.Storable b, Foreign.Storable.Storable c, Foreign.Storable.Storable d, Foreign.Storable.Storable e, Foreign.Storable.Storable f, Foreign.Storable.Storable g) => Language.C.Inline.WithPtrs (a, b, c, d, e, f, g)
+ Language.C.Inline.Context: [aqMarshaller] :: AntiQuoter a -> Purity -> TypesTable -> Type CIdentifier -> a -> Q (Type, Exp)
+ Language.C.Inline.Context: [aqParser] :: AntiQuoter a -> forall m. CParser HaskellIdentifier m => m (CIdentifier, Type CIdentifier, a)
+ Language.C.Inline.Context: [ctxAntiQuoters] :: Context -> AntiQuoters
+ Language.C.Inline.Context: [ctxFileExtension] :: Context -> Maybe String
+ Language.C.Inline.Context: [ctxOutput] :: Context -> Maybe (String -> String)
+ Language.C.Inline.Context: [ctxTypesTable] :: Context -> TypesTable
+ Language.C.Inline.Context: instance Foreign.Storable.Storable a => Language.C.Inline.Context.VecCtx (Data.Vector.Storable.Mutable.IOVector a)
+ Language.C.Inline.Context: instance Foreign.Storable.Storable a => Language.C.Inline.Context.VecCtx (Data.Vector.Storable.Vector a)
+ Language.C.Inline.Context: instance GHC.Base.Monoid Language.C.Inline.Context.Context
+ Language.C.Inline.Context: instance GHC.Classes.Eq Language.C.Inline.Context.Purity
+ Language.C.Inline.Context: instance GHC.Show.Show Language.C.Inline.Context.Purity
+ Language.C.Inline.HaskellIdentifier: instance Data.Hashable.Class.Hashable Language.C.Inline.HaskellIdentifier.HaskellIdentifier
+ Language.C.Inline.HaskellIdentifier: instance Data.String.IsString Language.C.Inline.HaskellIdentifier.HaskellIdentifier
+ Language.C.Inline.HaskellIdentifier: instance GHC.Classes.Eq Language.C.Inline.HaskellIdentifier.HaskellIdentifier
+ Language.C.Inline.HaskellIdentifier: instance GHC.Classes.Ord Language.C.Inline.HaskellIdentifier.HaskellIdentifier
+ Language.C.Inline.HaskellIdentifier: instance GHC.Show.Show Language.C.Inline.HaskellIdentifier.HaskellIdentifier
+ Language.C.Inline.HaskellIdentifier: instance Test.QuickCheck.Arbitrary.Arbitrary Language.C.Inline.HaskellIdentifier.HaskellIdentifier
+ Language.C.Inline.HaskellIdentifier: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Inline.HaskellIdentifier.HaskellIdentifier
+ Language.C.Inline.Internal: [codeCallSafety] :: Code -> Safety
+ Language.C.Inline.Internal: [codeDefs] :: Code -> String
+ Language.C.Inline.Internal: [codeFunName] :: Code -> String
+ Language.C.Inline.Internal: [codeType] :: Code -> TypeQ
+ Language.C.Inline.Internal: [ptcBody] :: ParseTypedC -> String
+ Language.C.Inline.Internal: [ptcParameters] :: ParseTypedC -> [(CIdentifier, Type CIdentifier, ParameterType)]
+ Language.C.Inline.Internal: [ptcReturnType] :: ParseTypedC -> Type CIdentifier
+ Language.C.Inline.Internal: instance GHC.Classes.Eq Language.C.Inline.Internal.ParameterType
+ Language.C.Inline.Internal: instance GHC.Classes.Eq Language.C.Inline.Internal.SomeEq
+ Language.C.Inline.Internal: instance GHC.Show.Show Language.C.Inline.Internal.ParameterType
+ Language.C.Inline.Internal: instance GHC.Show.Show Language.C.Inline.Internal.SomeEq
+ Language.C.Types: [functionSpecifiers] :: Specifiers -> [FunctionSpecifier]
+ Language.C.Types: [parameterDeclarationId] :: ParameterDeclaration i -> Maybe i
+ Language.C.Types: [parameterDeclarationType] :: ParameterDeclaration i -> (Type i)
+ Language.C.Types: [storageClassSpecifiers] :: Specifiers -> [StorageClassSpecifier]
+ Language.C.Types: [typeQualifiers] :: Specifiers -> [TypeQualifier]
+ Language.C.Types: instance Data.Foldable.Foldable Language.C.Types.ParameterDeclaration
+ Language.C.Types: instance Data.Foldable.Foldable Language.C.Types.Type
+ Language.C.Types: instance Data.Traversable.Traversable Language.C.Types.ParameterDeclaration
+ Language.C.Types: instance Data.Traversable.Traversable Language.C.Types.Type
+ Language.C.Types: instance GHC.Base.Functor Language.C.Types.ParameterDeclaration
+ Language.C.Types: instance GHC.Base.Functor Language.C.Types.Type
+ Language.C.Types: instance GHC.Base.Monoid Language.C.Types.Specifiers
+ Language.C.Types: instance GHC.Classes.Eq Language.C.Types.Sign
+ Language.C.Types: instance GHC.Classes.Eq Language.C.Types.Specifiers
+ Language.C.Types: instance GHC.Classes.Eq Language.C.Types.TypeSpecifier
+ Language.C.Types: instance GHC.Classes.Eq Language.C.Types.UntangleErr
+ Language.C.Types: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.ParameterDeclaration i)
+ Language.C.Types: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Type i)
+ Language.C.Types: instance GHC.Classes.Ord Language.C.Types.Sign
+ Language.C.Types: instance GHC.Classes.Ord Language.C.Types.TypeSpecifier
+ Language.C.Types: instance GHC.Show.Show Language.C.Types.Sign
+ Language.C.Types: instance GHC.Show.Show Language.C.Types.Specifiers
+ Language.C.Types: instance GHC.Show.Show Language.C.Types.TypeSpecifier
+ Language.C.Types: instance GHC.Show.Show Language.C.Types.UntangleErr
+ Language.C.Types: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.ParameterDeclaration i)
+ Language.C.Types: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Type i)
+ Language.C.Types: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.TypeSpecifier
+ Language.C.Types: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.UntangleErr
+ Language.C.Types: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.ParameterDeclaration i)
+ Language.C.Types: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.Type i)
+ Language.C.Types.Parse: [abstractDeclaratorDirect] :: AbstractDeclarator i -> Maybe (DirectAbstractDeclarator i)
+ Language.C.Types.Parse: [abstractDeclaratorPointers] :: AbstractDeclarator i -> [Pointer]
+ Language.C.Types.Parse: [cpcIdentName] :: CParserContext i -> String
+ Language.C.Types.Parse: [cpcIdentToString] :: CParserContext i -> i -> String
+ Language.C.Types.Parse: [cpcParseIdent] :: CParserContext i -> forall m. CParser i m => m i
+ Language.C.Types.Parse: [cpcTypeNames] :: CParserContext i -> TypeNames
+ Language.C.Types.Parse: [declaratorDirect] :: Declarator i -> (DirectDeclarator i)
+ Language.C.Types.Parse: [declaratorPointers] :: Declarator i -> [Pointer]
+ Language.C.Types.Parse: [parameterDeclarationDeclarator] :: ParameterDeclaration i -> DeclaratorOrAbstractDeclarator i
+ Language.C.Types.Parse: [parameterDeclarationSpecifiers] :: ParameterDeclaration i -> [DeclarationSpecifier]
+ Language.C.Types.Parse: [pdwtnParameterDeclaration] :: ParameterDeclarationWithTypeNames i -> (ParameterDeclaration i)
+ Language.C.Types.Parse: [pdwtnTypeNames] :: ParameterDeclarationWithTypeNames i -> HashSet CIdentifier
+ Language.C.Types.Parse: instance Data.Foldable.Foldable Language.C.Types.Parse.AbstractDeclarator
+ Language.C.Types.Parse: instance Data.Foldable.Foldable Language.C.Types.Parse.ArrayOrProto
+ Language.C.Types.Parse: instance Data.Foldable.Foldable Language.C.Types.Parse.ArrayType
+ Language.C.Types.Parse: instance Data.Foldable.Foldable Language.C.Types.Parse.Declarator
+ Language.C.Types.Parse: instance Data.Foldable.Foldable Language.C.Types.Parse.DeclaratorOrAbstractDeclarator
+ Language.C.Types.Parse: instance Data.Foldable.Foldable Language.C.Types.Parse.DirectAbstractDeclarator
+ Language.C.Types.Parse: instance Data.Foldable.Foldable Language.C.Types.Parse.DirectDeclarator
+ Language.C.Types.Parse: instance Data.Foldable.Foldable Language.C.Types.Parse.ParameterDeclaration
+ Language.C.Types.Parse: instance Data.Hashable.Class.Hashable Language.C.Types.Parse.CIdentifier
+ Language.C.Types.Parse: instance Data.String.IsString Language.C.Types.Parse.CIdentifier
+ Language.C.Types.Parse: instance Data.Traversable.Traversable Language.C.Types.Parse.AbstractDeclarator
+ Language.C.Types.Parse: instance Data.Traversable.Traversable Language.C.Types.Parse.ArrayOrProto
+ Language.C.Types.Parse: instance Data.Traversable.Traversable Language.C.Types.Parse.ArrayType
+ Language.C.Types.Parse: instance Data.Traversable.Traversable Language.C.Types.Parse.Declarator
+ Language.C.Types.Parse: instance Data.Traversable.Traversable Language.C.Types.Parse.DeclaratorOrAbstractDeclarator
+ Language.C.Types.Parse: instance Data.Traversable.Traversable Language.C.Types.Parse.DirectAbstractDeclarator
+ Language.C.Types.Parse: instance Data.Traversable.Traversable Language.C.Types.Parse.DirectDeclarator
+ Language.C.Types.Parse: instance Data.Traversable.Traversable Language.C.Types.Parse.ParameterDeclaration
+ Language.C.Types.Parse: instance GHC.Base.Functor Language.C.Types.Parse.AbstractDeclarator
+ Language.C.Types.Parse: instance GHC.Base.Functor Language.C.Types.Parse.ArrayOrProto
+ Language.C.Types.Parse: instance GHC.Base.Functor Language.C.Types.Parse.ArrayType
+ Language.C.Types.Parse: instance GHC.Base.Functor Language.C.Types.Parse.Declarator
+ Language.C.Types.Parse: instance GHC.Base.Functor Language.C.Types.Parse.DeclaratorOrAbstractDeclarator
+ Language.C.Types.Parse: instance GHC.Base.Functor Language.C.Types.Parse.DirectAbstractDeclarator
+ Language.C.Types.Parse: instance GHC.Base.Functor Language.C.Types.Parse.DirectDeclarator
+ Language.C.Types.Parse: instance GHC.Base.Functor Language.C.Types.Parse.ParameterDeclaration
+ Language.C.Types.Parse: instance GHC.Classes.Eq Language.C.Types.Parse.CIdentifier
+ Language.C.Types.Parse: instance GHC.Classes.Eq Language.C.Types.Parse.DeclarationSpecifier
+ Language.C.Types.Parse: instance GHC.Classes.Eq Language.C.Types.Parse.FunctionSpecifier
+ Language.C.Types.Parse: instance GHC.Classes.Eq Language.C.Types.Parse.Pointer
+ Language.C.Types.Parse: instance GHC.Classes.Eq Language.C.Types.Parse.StorageClassSpecifier
+ Language.C.Types.Parse: instance GHC.Classes.Eq Language.C.Types.Parse.TypeQualifier
+ Language.C.Types.Parse: instance GHC.Classes.Eq Language.C.Types.Parse.TypeSpecifier
+ Language.C.Types.Parse: instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.C.Types.Parse.OneOfSized a)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.AbstractDeclarator i)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.ArrayOrProto i)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.ArrayType i)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.Declarator i)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.DeclaratorOrAbstractDeclarator i)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.DirectAbstractDeclarator i)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.DirectDeclarator i)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.ParameterDeclaration i)
+ Language.C.Types.Parse: instance GHC.Classes.Eq i => GHC.Classes.Eq (Language.C.Types.Parse.ParameterDeclarationWithTypeNames i)
+ Language.C.Types.Parse: instance GHC.Classes.Ord Language.C.Types.Parse.CIdentifier
+ Language.C.Types.Parse: instance GHC.Show.Show Language.C.Types.Parse.CIdentifier
+ Language.C.Types.Parse: instance GHC.Show.Show Language.C.Types.Parse.DeclarationSpecifier
+ Language.C.Types.Parse: instance GHC.Show.Show Language.C.Types.Parse.FunctionSpecifier
+ Language.C.Types.Parse: instance GHC.Show.Show Language.C.Types.Parse.Pointer
+ Language.C.Types.Parse: instance GHC.Show.Show Language.C.Types.Parse.StorageClassSpecifier
+ Language.C.Types.Parse: instance GHC.Show.Show Language.C.Types.Parse.TypeQualifier
+ Language.C.Types.Parse: instance GHC.Show.Show Language.C.Types.Parse.TypeSpecifier
+ Language.C.Types.Parse: instance GHC.Show.Show a => GHC.Show.Show (Language.C.Types.Parse.OneOfSized a)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.AbstractDeclarator i)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.ArrayOrProto i)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.ArrayType i)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.Declarator i)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.DeclaratorOrAbstractDeclarator i)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.DirectAbstractDeclarator i)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.DirectDeclarator i)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.ParameterDeclaration i)
+ Language.C.Types.Parse: instance GHC.Show.Show i => GHC.Show.Show (Language.C.Types.Parse.ParameterDeclarationWithTypeNames i)
+ Language.C.Types.Parse: instance Test.QuickCheck.Arbitrary.Arbitrary Language.C.Types.Parse.CIdentifier
+ Language.C.Types.Parse: instance Test.QuickCheck.Arbitrary.Arbitrary Language.C.Types.Parse.FunctionSpecifier
+ Language.C.Types.Parse: instance Test.QuickCheck.Arbitrary.Arbitrary Language.C.Types.Parse.Pointer
+ Language.C.Types.Parse: instance Test.QuickCheck.Arbitrary.Arbitrary Language.C.Types.Parse.StorageClassSpecifier
+ Language.C.Types.Parse: instance Test.QuickCheck.Arbitrary.Arbitrary Language.C.Types.Parse.TypeQualifier
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.Parse.CIdentifier
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.Parse.DeclarationSpecifier
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.Parse.FunctionSpecifier
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.Parse.Pointer
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.Parse.StorageClassSpecifier
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.Parse.TypeQualifier
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty Language.C.Types.Parse.TypeSpecifier
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.Parse.AbstractDeclarator i)
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.Parse.ArrayOrProto i)
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.Parse.ArrayType i)
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.Parse.Declarator i)
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.Parse.DirectAbstractDeclarator i)
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.Parse.DirectDeclarator i)
+ Language.C.Types.Parse: instance Text.PrettyPrint.ANSI.Leijen.Pretty i => Text.PrettyPrint.ANSI.Leijen.Pretty (Language.C.Types.Parse.ParameterDeclaration i)
- Language.C.Inline: withPtr :: Storable a => (Ptr a -> IO b) -> IO (a, b)
+ Language.C.Inline: withPtr :: (Storable a) => (Ptr a -> IO b) -> IO (a, b)
- Language.C.Inline: withPtr_ :: Storable a => (Ptr a -> IO ()) -> IO a
+ Language.C.Inline: withPtr_ :: (Storable a) => (Ptr a -> IO ()) -> IO a
Files
- changelog.md +1/−0
- inline-c.cabal +1/−1
- src/Language/C/Inline.hs +25/−0
changelog.md view
@@ -1,3 +1,4 @@+- 0.5.5.1: Add docs regarding internals. See issue #41. - 0.5.5.1: Add support for Interruptible calls. The version skip is simply because I forgot to update the changelog for 0.5.5.0. - 0.5.4.3: Fix haddock docs.
inline-c.cabal view
@@ -1,5 +1,5 @@ name: inline-c-version: 0.5.5.1+version: 0.5.5.2 synopsis: Write Haskell source files including C code inline. No FFI required. description: See <https://github.com/fpco/inline-c/blob/master/README.md>. license: MIT
src/Language/C/Inline.hs view
@@ -228,7 +228,32 @@ -- } -- } |] -- 'return' vec+--+-- == How it works+--+-- For each quasi-quotation of C code, a C function is generated in a C file+-- corresponding to the current Haskell file. Every inline C expression will result+-- in a corresponding C function.+-- For example, if we define @c_cos@+-- as in the example above in @CCos.hs@, we will get a file @CCos.c@ containing+-- -- @+-- #include <math.h>+--+-- double inline_c_Main_0_a03fba228a6d8e36ea7d69381f87bade594c949d(double x_inline_c_0) {+-- return cos(x_inline_c_0);+-- }+-- @+--+-- Every anti-quotation will correspond to an argument in the C function. If the same+-- Haskell variable is anti-quoted twice, this will result in two arguments.+--+-- The C function is then invoked from Haskell with the correct arguments passed in.+--+-- == Known issues+--+-- * https://github.com/fpco/inline-c/issues/21+-- * https://github.com/fpco/inline-c/issues/11 -- | C expressions. exp :: TH.QuasiQuoter