HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulefirst-class-families-0.8.1.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.1.0 · Fcf.Data.Common
datadata Fst (c :: (a, b)) (d :: a)
#
Instances1Eval
  • type Eval (Fst '(a2, _b)) = a2Defined in first-class-families-0.8.1.0 · Fcf.Data.Common
datadata Snd (c :: (a, b)) (d :: b)
#
Instances1Eval
  • type Eval (Snd '(_a, b)) = bDefined in first-class-families-0.8.1.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.1.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.1.0 · Fcf.Data.Common
  • type Eval (UnEither f g ('Right y)) = Eval (g y)Defined in first-class-families-0.8.1.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.1.0 · Fcf.Data.Common
  • type Eval (FromMaybe a2 'Nothing) = a2Defined in first-class-families-0.8.1.0 · Fcf.Data.Common