From 765752a67420364aa70ee416abf5ae0d881651f7 Mon Sep 17 00:00:00 2001 From: Samuel Pocino <43758828+spocino@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:10:46 -0500 Subject: [PATCH] Add Function instance to Comonad to match Extend instance --- src/Control/Comonad.purs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Control/Comonad.purs b/src/Control/Comonad.purs index d471e2d..35e466b 100644 --- a/src/Control/Comonad.purs +++ b/src/Control/Comonad.purs @@ -7,6 +7,7 @@ module Control.Comonad import Control.Extend (class Extend, duplicate, extend, (<<=), (=<=), (=>=), (=>>)) import Data.Functor (class Functor, map, void, ($>), (<#>), (<$), (<$>)) +import Data.Monoid (class Monoid, mempty) -- | `Comonad` extends the `Extend` class with the `extract` function -- | which extracts a value, discarding the comonadic context. @@ -19,3 +20,6 @@ import Data.Functor (class Functor, map, void, ($>), (<#>), (<$), (<$>)) -- | - Right Identity: `extract (f <<= xs) = f xs` class Extend w <= Comonad w where extract :: forall a. w a -> a + +instance comonadFn :: Monoid m => Comonad ((->) m) where + extract f = f mempty \ No newline at end of file