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

Modulefirst-class-families-0.8.1.0Haskell2010

Fcf.Class.Functor

  • 2 types
datadata Map (c :: a -> Exp b) (d :: f a) (e :: f b)
#

Type-level fmap for type-level functors.

Note: this name clashes with Data.Map.Lazy.Map from containers. FMap is provided as a synonym to avoid this.

Example
Example4 expressions
data Example where Ex :: a -> Example  -- Hide the type of examples to avoid brittleness in different GHC versionsdata AddMul :: Nat -> Nat -> Exp Nattype instance Eval (AddMul x y) = (x TL.+ y) TL.* (x TL.+ y):kind! Ex (Eval (Map (AddMul 2) '[0, 1, 2, 3, 4]) :: [Nat])Ex (Eval (Map (AddMul 2) '[0, 1, 2, 3, 4]) :: [Nat]) :: Example= Ex [4, 9, 16, 25, 36]
Instances10Eval, …
  • type Eval (Map f 'Nothing) = 'NothingDefined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f '(x, a2)) = '(x, Eval (f a2))Defined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f '(x, y, a2)) = '(x, y, Eval (f a2))Defined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f '(x, y, z, a2)) = '(x, y, z, Eval (f a2))Defined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f '(x, y, z, w, a2)) = '(x, y, z, w, Eval (f a2))Defined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f '[]) = '[]Defined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f ('Left x)) = 'Left xDefined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f ('Right a3)) = 'Right (Eval (f a3))Defined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f ('Just a3)) = 'Just (Eval (f a3))Defined in first-class-families-0.8.1.0 · Fcf.Class.Functor
  • type Eval (Map f (a2 ': as)) = Eval (f a2) ': Eval (Map f as)Defined in first-class-families-0.8.1.0 · Fcf.Class.Functor
typetype FMap = Map
#

Synonym of Map to avoid name clashes.