HORIZON HASKELLDocslts/ghc-10.0.xc62e4de2026-10-19Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · c62e4de · 2026-10-19

Modulehnix-0.17.0Haskell2010

Nix.Frames

Definitions of Frames. Frames are messages that gather and ship themself with a context related to the message. For example - the message about some exception would also gather, keep and bring with it the tracing information.

  • 10 types
  • 1 class
  • 33 values
  • Packagehnix-0.17.0
  • Exports44
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceFrames.hs

Applies a type to a function type. Returns: Just u if the first argument represents a function of type t -> u and the second argument represents a function of type t. Otherwise, returns Nothing.

valuesplitTyConApp :: TypeRep -> (TyCon, [TypeRep])
#

Splits a type constructor application. Note that if the type constructor is polymorphic, this will not return the kinds that were used.

valuetypeRep :: Typeable a => proxy a -> TypeRep
#

Takes a value of type a and returns a concrete representation of that type.

datadata Proxy (t :: k)
#

Proxy is a type that holds no data, but has a phantom parameter of arbitrary type (or even kind). Its use is to provide type information, even though there is no value available of that type (or it may be too costly to create one).

Historically, Proxy :: Proxy a is a safer alternative to the undefined :: a idiom.

Example1 expression
Proxy :: Proxy (Void, Int -> Int)Proxy

Proxy can even hold types of higher kinds,

Example1 expression
Proxy :: Proxy EitherProxy
Example1 expression
Proxy :: Proxy FunctorProxy
Example1 expression
Proxy :: Proxy complicatedStructureProxy
Instances68Generic1, FoldableWithIndex, FunctorWithIndex, TraversableWithIndex, RepeatWithIndex, SemialignWithIndex, …
  • Generic1 ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • FoldableWithIndex Void ProxyDefined in indexed-traversable-0.1.5 · WithIndex
  • FunctorWithIndex Void ProxyDefined in indexed-traversable-0.1.5 · WithIndex
  • TraversableWithIndex Void ProxyDefined in indexed-traversable-0.1.5 · WithIndex
  • RepeatWithIndex Void ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • SemialignWithIndex Void ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • ZipWithIndex Void ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • FilterableWithIndex Void ProxyDefined in witherable-0.5 · Witherable
  • WitherableWithIndex Void ProxyDefined in witherable-0.5 · Witherable
  • EqP ProxyDefined in some-1.0.6 · Data.EqP
  • OrdP ProxyDefined in some-1.0.6 · Data.OrdP
  • Monad ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Functor ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Applicative ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Foldable ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Foldable
  • Traversable ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Traversable
  • Alternative ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • MonadPlus ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • MonadZip ProxyDefined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.Zip
  • Eq1 ProxyDefined in base-4.23.0.0 · Data.Functor.Classes
  • Ord1 ProxyDefined in base-4.23.0.0 · Data.Functor.Classes
  • Read1 ProxyDefined in base-4.23.0.0 · Data.Functor.Classes
  • Show1 ProxyDefined in base-4.23.0.0 · Data.Functor.Classes
  • Contravariant ProxyDefined in base-4.23.0.0 · Data.Functor.Contravariant
  • NFData1 ProxyDefined in deepseq-1.5.2.0 · Control.DeepSeq
  • Distributive ProxyDefined in distributive-0.6.3 · Data.Distributive
  • Decidable ProxyDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Divisible ProxyDefined in contravariant-1.5.6 · Data.Functor.Contravariant.Divisible
  • Hashable1 ProxyDefined in hashable-1.5.1.0 · Data.Hashable.Class
  • Alt ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Alt
  • Apply ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Bind.Class
  • Bind ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Bind.Class
  • Extend ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Extend
  • Conclude ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Conclude
  • Decide ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Decide
  • Divise ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Contravariant.Divise
  • Plus ProxyDefined in semigroupoids-6.0.2 · Data.Functor.Plus
  • Align ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Semialign ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Unalign ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Repeat ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Unzip ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Zip ProxyDefined in semialign-1.3.1.1 · Data.Semialign.Internal
  • Filterable ProxyDefined in witherable-0.5 · Witherable
  • Witherable ProxyDefined in witherable-0.5 · Witherable
  • FromJSON1 ProxyDefined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON1 ProxyDefined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Cosieve Tagged ProxyDefined in profunctors-5.6.3 · Data.Profunctor.Sieve
  • Bounded (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Enum (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Eq (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Data t => Data (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Ord (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Read (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Show (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Ix (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Generic (Proxy t)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Semigroup (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • Monoid (Proxy s)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Proxy
  • NFData (Proxy a)Defined in deepseq-1.5.2.0 · Control.DeepSeq
  • Hashable (Proxy a)Defined in hashable-1.5.1.0 · Data.Hashable.Class
  • FromJSON (Proxy a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.FromJSON
  • ToJSON (Proxy a)Defined in aeson-2.2.5.1 · Data.Aeson.Types.ToJSON
  • Boring (Proxy a)Defined in boring-0.2.2.1 · Data.Boring
  • Default (Proxy a)Defined in data-default-0.8.0.2 · Data.Default.Internal
  • Serialise (Proxy a)Defined in serialise-0.2.6.1 · Codec.Serialise.Class
  • type Rep (Proxy t) = D1 ('MetaData "Proxy" "GHC.Internal.Data.Proxy" "ghc-internal" 'False) (C1 ('MetaCons "Proxy" 'PrefixI 'False) U1)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type Rep1 Proxy = D1 ('MetaData "Proxy" "GHC.Internal.Data.Proxy" "ghc-internal" 'False) (C1 ('MetaCons "Proxy" 'PrefixI 'False) U1)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
datadata (:~:) (a :: k) (b :: k) where
#

Propositional equality. If a :~: b is inhabited by some terminating value, then the type a is the same as the type b. To use this equality in practice, pattern-match on the a :~: b to get out the Refl constructor; in the body of the pattern-match, the compiler knows that a ~ b.

Constructors

Instances24Category, Groupoid, Semigroupoid, TestCoercion, TestEquality, EqP, …
  • Category (:~:)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Category
  • Groupoid (:~:)Defined in semigroupoids-6.0.2 · Data.Groupoid
  • Semigroupoid (:~:)Defined in semigroupoids-6.0.2 · Data.Semigroupoid
  • TestCoercion ((:~:) a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Coercion
  • TestEquality ((:~:) a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • EqP ((:~:) a)Defined in some-1.0.6 · Data.EqP
  • GCompare ((:~:) a)Defined in some-1.0.6 · Data.GADT.Internal
  • GEq ((:~:) a)Defined in some-1.0.6 · Data.GADT.Internal
  • GNFData ((:~:) a)Defined in some-1.0.6 · Data.GADT.DeepSeq
  • GRead ((:~:) a)Defined in some-1.0.6 · Data.GADT.Internal
  • GShow ((:~:) a)Defined in some-1.0.6 · Data.GADT.Internal
  • OrdP ((:~:) a)Defined in some-1.0.6 · Data.OrdP
  • NFData2 (:~:)Defined in deepseq-1.5.2.0 · Control.DeepSeq
  • NFData1 ((:~:) a)Defined in deepseq-1.5.2.0 · Control.DeepSeq
  • a ~ b => Bounded (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • a ~ b => Enum (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Eq (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • (a ~ b, Data a) => Data (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Ord (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • a ~ b => Read (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Show (a :~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • NFData (a :~: b)Defined in deepseq-1.5.2.0 · Control.DeepSeq
  • a ~ b => Boring (a :~: b)Defined in boring-0.2.2.1 · Data.Boring

    Homogeneous type equality is Boring too.

  • HasDict (a ~ b) (a :~: b)Defined in constraints-0.14.4 · Data.Constraint
datadata (:~~:) (a :: k1) (b :: k2) where
#

Kind heterogeneous propositional equality. Like :~:, a :~~: b is inhabited by a terminating value if and only if a is the same type as b.

Constructors

Instances24Category, Groupoid, Semigroupoid, TestCoercion, TestEquality, EqP, …
  • Category (:~~:)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Category
  • Groupoid (:~~:)Defined in semigroupoids-6.0.2 · Data.Groupoid
  • Semigroupoid (:~~:)Defined in semigroupoids-6.0.2 · Data.Semigroupoid
  • TestCoercion ((:~~:) a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Coercion
  • TestEquality ((:~~:) a)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • EqP ((:~~:) a)Defined in some-1.0.6 · Data.EqP
  • GCompare ((:~~:) a)Defined in some-1.0.6 · Data.GADT.Internal
  • GEq ((:~~:) a)Defined in some-1.0.6 · Data.GADT.Internal
  • GNFData ((:~~:) a)Defined in some-1.0.6 · Data.GADT.DeepSeq
  • k1 ~ k2 => GRead ((:~~:) a)Defined in some-1.0.6 · Data.GADT.Internal
  • GShow ((:~~:) a)Defined in some-1.0.6 · Data.GADT.Internal
  • OrdP ((:~~:) a)Defined in some-1.0.6 · Data.OrdP
  • NFData2 (:~~:)Defined in deepseq-1.5.2.0 · Control.DeepSeq
  • NFData1 ((:~~:) a)Defined in deepseq-1.5.2.0 · Control.DeepSeq
  • a ~~ b => Bounded (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • a ~~ b => Enum (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Eq (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • (Typeable i, Typeable j, Typeable a, Typeable b, a ~~ b) => Data (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Ord (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • a ~~ b => Read (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • Show (a :~~: b)Defined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Equality
  • NFData (a :~~: b)Defined in deepseq-1.5.2.0 · Control.DeepSeq
  • a ~ b => Boring (a :~~: b)Defined in boring-0.2.2.1 · Data.Boring

    Heterogeneous type equality is Boring too.

  • HasDict (a ~~ b) (a :~~: b)Defined in constraints-0.14.4 · Data.Constraint
typetype TypeRep = SomeTypeRep
#

A quantified type representation.

Instances1NFData
  • NFData TypeRepDefined in deepseq-1.5.2.0 · Control.DeepSeq

    NOTE: Prior to deepseq-1.4.4.0 this instance was only defined for base-4.8.0.0 and later.

datadata TyCon
#
Instances7Eq, Data, Ord, Show, NFData, Binary, …
  • Eq TyConDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Data TyConDefined in syb-0.7.4 · Data.Generics.Instances · orphan
  • Ord TyConDefined in ghc-internal-10.0.0 · GHC.Internal.Classes
  • Show TyConDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • NFData TyConDefined in deepseq-1.5.2.0 · Control.DeepSeq

    NOTE: Prior to deepseq-1.4.4.0 this instance was only defined for base-4.8.0.0 and later.

  • Binary TyConDefined in binary-0.8.9.3 · Data.Binary.Class
  • Serialise TyConDefined in serialise-0.2.6.1 · Codec.Serialise.Class