Apa kelas tipe Comonad di Haskell? Seperti dalam Comonad dari Control.Comonad dalam paket comonad (penjelasan tentang paket lain yang menyediakan kelas tipe Comonad juga diterima). Saya samar-samar pernah mendengar tentang Comonad, tetapi yang saya benar-benar tahu tentang itu adalah penyediaan extract :: w a -> a, semacam paralel dengan Monad return :: a -> m a.
Poin bonus untuk mencatat penggunaan Comonad dalam "kehidupan nyata" dalam kode "nyata".
return :: a ~> m a, flip bind :: (a ~> m b) -> (m a ~> m b). Membalikkan berlekuk-lekuk panah dan Anda mendapatkan operasi comonadic: extract :: a <~ w a, extend :: (a <~ w b) -> (w a <~ w b)( extract :: w a -> a, extend :: (w a -> b) -> w a -> w b)