@groovy.transform.TypeChecked abstract class Comonad extends java.lang.Object
Created by MarkPerry on 28/12/2014.
| Type | Name and description |
|---|---|
CM<CM<A>> |
duplicate(CM<A> c)duplicate :: w a -> w (w a) |
CM<B> |
extend(CM<A> c, F<CM<A>, B> f)extend :: (w a -> b) -> w a -> w b |
fj.F2<CM<A>, F<CM<A>, B>, CM<B>> |
extend() |
A |
extract(CM<A> c)extract :: w a -> a |
C |
leftShift(F<CM<B>, C> f, F<CM<A>, B> g, CM<A> cm)(=<=) :: Comonad w => (w b -> c) -> (w a -> b) -> w a -> c Right-to-left Cokleisli composition |
CM<B> |
liftW(CM<A> cm, F<A, B> f)liftW :: Comonad w => (a -> b) -> w a -> w b |
CM<B> |
map(CM<A> fa, F<A, B> f) |
C |
rightShift(F<CM<A>, B> f, F<CM<B>, C> g, CM<A> cm)(=>=) :: Comonad w => (w a -> b) -> (w b -> c) -> w a -> c Left-to-right Cokleisli composition |
A |
wfix(CM<F<CM<A>, A>> c)wfix :: Comonad w => w (w a -> a) -> a wfix w = extract w (extend wfix w) |
F<CM<F<CM<A>, A>>, A> |
wfix() |
| Methods inherited from class | Name |
|---|---|
class java.lang.Object |
java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
duplicate :: w a -> w (w a)
extend :: (w a -> b) -> w a -> w b
extract :: w a -> a
(=<=) :: Comonad w => (w b -> c) -> (w a -> b) -> w a -> c Right-to-left Cokleisli composition
liftW :: Comonad w => (a -> b) -> w a -> w b
(=>=) :: Comonad w => (w a -> b) -> (w b -> c) -> w a -> c Left-to-right Cokleisli composition
wfix :: Comonad w => w (w a -> a) -> a wfix w = extract w (extend wfix w)