HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulelens-5.3.5Haskell2010

Control.Lens.Internal.CTypes

In Control.Lens.Wrapped, we need to muck around with the internals of the newtypes in Foreign.C.Types. Unfortunately, the exact types used varies wildly from platform to platform, so trying to manage the imports necessary to bring these types in scope can be unwieldy.

To make things easier, we use this module as a way to import everything carte blanche that might be used internally in Foreign.C.Types. For now, this consists of all the exports from the Data.Int and Data.Word modules, as well as the Ptr type.

  • 11 types
  • 7 values
  • Packagelens-5.3.5
  • Exports18
  • LanguageHaskell2010
  • LicenceBSD-2-Clause
  • SourceCTypes.hs
datadata Int
#

A fixed-precision integer type with at least the range [-2^29 .. 2^29-1]. The exact range for a given implementation can be determined by using Prelude.minBound and Prelude.maxBound from the Prelude.Bounded class.

Instances73Bounded, Enum, Integral, Data, Num, Read, …
datadata Int64
#

64-bit signed integer type

Instances28Bounded, Enum, Eq, Integral, Data, Num, …
  • Bounded Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Enum Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Eq Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Integral Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Data Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Num Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Ord Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Read Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Real Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Show Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Ix Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Bits Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • FiniteBits Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Storable Int64Defined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.Storable
  • PrintfArg Int64Defined in base-4.20.2.0 · Text.Printf
  • NFData Int64Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • Binary Int64Defined in binary-0.8.9.3 · Data.Binary.Class
  • Hashable Int64Defined in hashable-1.4.7.0 · Data.Hashable.Class
  • Prim Int64Defined in primitive-0.9.1.0 · Data.Primitive.Types
  • Unbox Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Lift Int64Defined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • IArray UArray Int64Defined in array-0.5.8.0 · Data.Array.Base
  • Vector Vector Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • MVector MVector Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • MArray IOUArray Int64 IODefined in array-0.5.8.0 · Data.Array.IO.Internals
  • MArray (STUArray s) Int64 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
  • data MVector s Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
datadata Int32
#

32-bit signed integer type

Instances28Bounded, Enum, Eq, Integral, Data, Num, …
  • Bounded Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Enum Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Eq Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Integral Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Data Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Num Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Ord Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Read Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Real Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Show Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Ix Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Bits Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • FiniteBits Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Storable Int32Defined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.Storable
  • PrintfArg Int32Defined in base-4.20.2.0 · Text.Printf
  • NFData Int32Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • Binary Int32Defined in binary-0.8.9.3 · Data.Binary.Class
  • Hashable Int32Defined in hashable-1.4.7.0 · Data.Hashable.Class
  • Prim Int32Defined in primitive-0.9.1.0 · Data.Primitive.Types
  • Unbox Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Lift Int32Defined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • IArray UArray Int32Defined in array-0.5.8.0 · Data.Array.Base
  • Vector Vector Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • MVector MVector Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • MArray IOUArray Int32 IODefined in array-0.5.8.0 · Data.Array.IO.Internals
  • MArray (STUArray s) Int32 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
  • data MVector s Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
datadata Int16
#

16-bit signed integer type

Instances28Bounded, Enum, Eq, Integral, Data, Num, …
  • Bounded Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Enum Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Eq Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Integral Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Data Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Num Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Ord Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Read Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Real Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Show Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Ix Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Bits Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • FiniteBits Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Storable Int16Defined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.Storable
  • PrintfArg Int16Defined in base-4.20.2.0 · Text.Printf
  • NFData Int16Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • Binary Int16Defined in binary-0.8.9.3 · Data.Binary.Class
  • Hashable Int16Defined in hashable-1.4.7.0 · Data.Hashable.Class
  • Prim Int16Defined in primitive-0.9.1.0 · Data.Primitive.Types
  • Unbox Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Lift Int16Defined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • IArray UArray Int16Defined in array-0.5.8.0 · Data.Array.Base
  • Vector Vector Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • MVector MVector Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • MArray IOUArray Int16 IODefined in array-0.5.8.0 · Data.Array.IO.Internals
  • MArray (STUArray s) Int16 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
  • data MVector s Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
datadata Int8
#

8-bit signed integer type

Instances28Bounded, Enum, Eq, Integral, Data, Num, …
  • Bounded Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Enum Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Eq Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Integral Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Data Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Data.Data
  • Num Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Ord Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Read Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Real Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Show Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Ix Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Bits Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • FiniteBits Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Int
  • Storable Int8Defined in ghc-internal-9.1003.0 · GHC.Internal.Foreign.Storable
  • PrintfArg Int8Defined in base-4.20.2.0 · Text.Printf
  • NFData Int8Defined in deepseq-1.5.0.0 · Control.DeepSeq
  • Binary Int8Defined in binary-0.8.9.3 · Data.Binary.Class
  • Hashable Int8Defined in hashable-1.4.7.0 · Data.Hashable.Class
  • Prim Int8Defined in primitive-0.9.1.0 · Data.Primitive.Types
  • Unbox Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • Lift Int8Defined in template-haskell-2.22.0.0 · Language.Haskell.TH.Syntax
  • IArray UArray Int8Defined in array-0.5.8.0 · Data.Array.Base
  • Vector Vector Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • MVector MVector Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • MArray IOUArray Int8 IODefined in array-0.5.8.0 · Data.Array.IO.Internals
  • MArray (STUArray s) Int8 (ST s)Defined in array-0.5.8.0 · Data.Array.Base
  • data MVector s Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
  • data Vector Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
datadata Ptr a
#

A value of type Ptr a represents a pointer to an object, or an array of objects, which may be marshalled to or from Haskell values of type a.

The type a will often be an instance of class Storable which provides the marshalling operations. However this is not essential, and you can provide your own operations to access the pointer. For example you might write small foreign functions to get or set the fields of a C struct.

Instances25NFData1, IArray, Generic1, Data, Show, Foldable, …
datadata Word
#

A Word is an unsigned integral type, with the same size as Int.

Instances39Bounded, Enum, Integral, Data, Num, Read, …
datadata Word8
#

8-bit unsigned integer type

Instances32Bounded, Enum, Eq, Integral, Data, Num, …
datadata Word64
#

64-bit unsigned integer type

Instances29Bounded, Enum, Eq, Integral, Data, Num, …
datadata Word32
#

32-bit unsigned integer type

Instances29Bounded, Enum, Eq, Integral, Data, Num, …
datadata Word16
#

16-bit unsigned integer type

Instances28Bounded, Enum, Eq, Integral, Data, Num, …