Functor (functional programming)

In functional programming, a functor is a design pattern inspired by the definition from category theory, that allows for a generic type to apply a function inside without changing the structure of the generic type. This idea is encoded in Haskell using type class class Functor f where fmap :: (a -> b) -> f a -> f b with conditions called functor laws fmap id = idfmap (g . h) = (fmap g) . (fmap h) In Scala are used trait Functor[F[_]] { def map[A,B](a: F[A])(f: A => B): F[B]} Functors form a base for more complex abstractions like Applicative, Monad, .

Functor (functional programming)

In functional programming, a functor is a design pattern inspired by the definition from category theory, that allows for a generic type to apply a function inside without changing the structure of the generic type. This idea is encoded in Haskell using type class class Functor f where fmap :: (a -> b) -> f a -> f b with conditions called functor laws fmap id = idfmap (g . h) = (fmap g) . (fmap h) In Scala are used trait Functor[F[_]] { def map[A,B](a: F[A])(f: A => B): F[B]} Functors form a base for more complex abstractions like Applicative, Monad, .