cellularAutomata/src/Comonad.hs

13 lines
255 B
Haskell
Raw Normal View History

2021-04-19 22:25:18 -04:00
module Comonad where
-------------------
-- comonad class --
-------------------
class Functor w => Comonad w
where
(=>>) :: w a -> (w a -> b) -> w b
extract :: w a -> a
duplicate :: w a -> w (w a)
x =>> f = fmap f (duplicate x)