diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-10-01 17:15:55 +0200 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-10-01 17:15:55 +0200 |
commit | 6060531fd561afa1f6f03c0c6d223a73eece7886 (patch) | |
tree | 07078eda7cc409b568278352e73f4c5f21b683eb /Invisible.hs | |
parent | 7032bc17bbb62c79dc895d05ec62e75e1f751edb (diff) | |
download | XMonadContrib-6060531fd561afa1f6f03c0c6d223a73eece7886.tar.gz XMonadContrib-6060531fd561afa1f6f03c0c6d223a73eece7886.tar.xz XMonadContrib-6060531fd561afa1f6f03c0c6d223a73eece7886.zip |
Use newtype deriving for Invisible
darcs-hash:20071001151555-a5988-3057c215062689a0291ccee0af1c50ab795ecf61.gz
Diffstat (limited to 'Invisible.hs')
-rw-r--r-- | Invisible.hs | 12 |
1 files changed, 3 insertions, 9 deletions
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 () |