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

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8174fa4 · 2026-10-11

Modulefirst-class-families-0.8.2.0Haskell2010

Fcf.Data.Common

Common data types: tuples, Either, Maybe.

  • 11 types

Pairs

4 declarations
datadata Uncurry (d :: a -> b -> Exp c) (e :: (a, b)) (f :: c)
#
Instances1Eval
  • type Eval (Uncurry f '(x, y)) = Eval (f x y)Defined in first-class-families-0.8.2.0 · Fcf.Data.Common
datadata Fst (c :: (a, b)) (d :: a)
#
Instances1Eval
  • type Eval (Fst '(a2, _b)) = a2Defined in first-class-families-0.8.2.0 · Fcf.Data.Common
datadata Snd (c :: (a, b)) (d :: b)
#
Instances1Eval
  • type Eval (Snd '(_a, b)) = bDefined in first-class-families-0.8.2.0 · Fcf.Data.Common
datadata (***) (a :: b -> Exp c) (d :: b' -> Exp c') (e :: (b, b')) (f :: (c, c'))
#

Specialization of Bimap for pairs.

Instances1Eval
  • type Eval ((***) f f' '(b2, b'2)) = '(Eval (f b2), Eval (f' b'2))Defined in first-class-families-0.8.2.0 · Fcf.Data.Common

Either

3 declarations
datadata UnEither (d :: a -> Exp c) (e :: b -> Exp c) (f :: Either a b) (g :: c)
#
Instances2Eval
  • type Eval (UnEither f g ('Left x)) = Eval (f x)Defined in first-class-families-0.8.2.0 · Fcf.Data.Common
  • type Eval (UnEither f g ('Right y)) = Eval (g y)Defined in first-class-families-0.8.2.0 · Fcf.Data.Common

Maybe

4 declarations
datadata FromMaybe (a :: k) (b :: Maybe k) (c :: k)
#
Instances2Eval
  • type Eval (FromMaybe _a ('Just b)) = bDefined in first-class-families-0.8.2.0 · Fcf.Data.Common
  • type Eval (FromMaybe a2 'Nothing) = a2Defined in first-class-families-0.8.2.0 · Fcf.Data.Common