Skip to content

Commit bda0441

Browse files
committed
Merge pull request #13 from joneshf/master
Add Extract/Comonad instances for Identity.
2 parents 9e1c4a0 + 6eee233 commit bda0441

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

docs/Module.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,10 @@
203203

204204
instance bindIdentity :: Bind Identity
205205

206+
instance comonadIdentity :: Comonad Identity
207+
208+
instance extendIdentity :: Extend Identity
209+
206210
instance functorIdentity :: Functor Identity
207211

208212
instance monadIdentity :: Monad Identity

src/Control/Monad/Identity.purs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
module Control.Monad.Identity where
22

3+
import Control.Comonad
4+
import Control.Extend
5+
36
newtype Identity a = Identity a
47

58
runIdentity :: forall a. Identity a -> a
@@ -18,3 +21,9 @@ instance bindIdentity :: Bind Identity where
1821
(>>=) m f = f $ runIdentity m
1922

2023
instance monadIdentity :: Monad Identity
24+
25+
instance extendIdentity :: Extend Identity where
26+
(<<=) f m = Identity $ f m
27+
28+
instance comonadIdentity :: Comonad Identity where
29+
extract (Identity x) = x

0 commit comments

Comments
 (0)