45 lines · 927 B · Text
RawDownload
module Control.Monad.Identity public exportrecord Identity (a : Type) where  constructor Id  runIdentity : a public exportFunctor Identity where    map fn (Id a) = Id (fn a) public exportApplicative Identity where    pure x = Id x    (Id f) <*> (Id g) = Id (f g) public exportMonad Identity where    (Id x) >>= k = k x public exportShow a => Show (Identity a) where  showPrec d (Id x) = showCon d "Id" $ showArg x public exportEq a => Eq (Identity a) where  (Id x) == (Id y) = x == y public exportOrd a => Ord (Identity a) where  compare (Id x) (Id y) = compare x y -- public export-- Enum a => Enum (Identity a) where--   toNat (Id x) = toNat x--   fromNat n = Id $ fromNat n--   pred (Id n) = Id $ pred n public export(Semigroup a) => Semigroup (Identity a) where  (<+>) x y = Id (runIdentity x <+> runIdentity y) public export(Monoid a) => Monoid (Identity a) where  neutral = Id (neutral)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t