(original) (raw)

{-# LANGUAGE Trustworthy #-} {-# LANGUAGE NoImplicitPrelude #-}

module Data.Functor ( Functor(..), ($>), (<$>), (<&>), void, ) where

import GHC.Base ( Functor(..), flip )

infixl 4 <$>

(<$>) :: Functor f => (a -> b) -> f a -> f b <$> :: forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b (<$>) = (a -> b) -> f a -> f b forall a b. (a -> b) -> f a -> f b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap

infixl 1 <&>

(<&>) :: Functor f => f a -> (a -> b) -> f b f a as <&> :: forall (f :: * -> *) a b. Functor f => f a -> (a -> b) -> f b <&> a -> b f = a -> b f (a -> b) -> f a -> f b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> f a as

infixl 4 $>

($>) :: Functor f => f a -> b -> f b $> :: forall (f :: * -> *) a b. Functor f => f a -> b -> f b ($>) = (b -> f a -> f b) -> f a -> b -> f b forall a b c. (a -> b -> c) -> b -> a -> c flip b -> f a -> f b forall a b. a -> f b -> f a forall (f :: * -> *) a b. Functor f => a -> f b -> f a (<$)

void :: Functor f => f a -> f () void :: forall (f :: * -> *) a. Functor f => f a -> f () void f a x = () () -> f a -> f () forall a b. a -> f b -> f a forall (f :: * -> *) a b. Functor f => a -> f b -> f a <$ f a x