diff options
Diffstat (limited to 'src/Gtk/State.icl')
-rw-r--r-- | src/Gtk/State.icl | 7 |
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) |