From 6060531fd561afa1f6f03c0c6d223a73eece7886 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Mon, 1 Oct 2007 17:15:55 +0200 Subject: Use newtype deriving for Invisible darcs-hash:20071001151555-a5988-3057c215062689a0291ccee0af1c50ab795ecf61.gz --- Invisible.hs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'Invisible.hs') diff --git a/Invisible.hs b/Invisible.hs index 91659c5..6069364 100644 --- a/Invisible.hs +++ b/Invisible.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE GeneralizedNewtypeDeriving #-} + ----------------------------------------------------------------------------- -- | -- Module : XMonadContrib.Invisible @@ -23,7 +25,7 @@ module XMonadContrib.Invisible ( -- $usage -- A data type to store the layout state -data Invisible m a = I (m a) +newtype Invisible m a = I (m a) deriving (Monad, Functor) instance (Functor m, Monad m) => Read (Invisible m a) where readsPrec _ s = [(fail "Read Invisible", s)] @@ -31,14 +33,6 @@ instance (Functor m, Monad m) => Read (Invisible m a) where instance Monad m => Show (Invisible m a) where show _ = "" -instance (Functor m, Monad m) => Monad (Invisible m) where - return a = I (return a) - m >>= f = m >>= f - fail s = I (fail s) - -instance (Functor m, Monad m) => Functor (Invisible m) where - fmap f (I x) = I (fmap f x) - whenIJust :: (Monad m) => Invisible Maybe a -> (a -> m ()) -> m () whenIJust (I (Just x)) f = f x whenIJust (I Nothing) _ = return () -- cgit v1.2.3