summaryrefslogtreecommitdiff
path: root/src/Gtk/State.icl
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gtk/State.icl')
-rw-r--r--src/Gtk/State.icl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Gtk/State.icl b/src/Gtk/State.icl
index 0d1726e..53a5b2e 100644
--- a/src/Gtk/State.icl
+++ b/src/Gtk/State.icl
@@ -4,6 +4,7 @@ import StdEnv
import Control.Monad
import Data.Bifunctor
+import Data.Functor
import qualified Data.Map
from Data.Map import :: Map
import Data.Maybe
@@ -21,7 +22,11 @@ newGtkState =
, shares = 'Data.Map'.newMap
}
-instance Functor GtkM where fmap f (GtkM m) = GtkM (first f o m)
+instance Functor GtkM
+where
+ fmap f (GtkM m) = GtkM \st
+ #! (x,st) = m st
+ -> (f x,st)
instance pure GtkM where pure x = GtkM (tuple x)