File tree 2 files changed +13
-0
lines changed
2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change 203
203
204
204
instance bindIdentity :: Bind Identity
205
205
206
+ instance comonadIdentity :: Comonad Identity
207
+
208
+ instance extendIdentity :: Extend Identity
209
+
206
210
instance functorIdentity :: Functor Identity
207
211
208
212
instance monadIdentity :: Monad Identity
Original file line number Diff line number Diff line change 1
1
module Control.Monad.Identity where
2
2
3
+ import Control.Comonad
4
+ import Control.Extend
5
+
3
6
newtype Identity a = Identity a
4
7
5
8
runIdentity :: forall a . Identity a -> a
@@ -18,3 +21,9 @@ instance bindIdentity :: Bind Identity where
18
21
(>>=) m f = f $ runIdentity m
19
22
20
23
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
You can’t perform that action at this time.
0 commit comments