MicroHs-0.8: lib/Data/Identity.hs
module Data.Identity(Data.Identity) where
import Primitives
import Control.Applicative
import Control.Monad
import Data.Function
import Data.Functor
import Data.Int
import Data.Ord
import Text.Show
newtype Identity a = Identity a
instance Functor Identity where
fmap f (Identity a) = Identity (f a)
instance Applicative Identity where
pure a = Identity a
Identity f <*> Identity a = Identity (f a)
instance Monad Identity where
Identity a >>= f = f a
instance forall a . (Show a) => Show (Identity a) where
showsPrec p (Identity a) = showParen (p >= 11) (showString "Identity " . showsPrec 11 a)