diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-08-12 03:18:46 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-08-12 03:18:46 +0200 |
commit | 15bccc001a5ff2e76d0890f85e300e9312cddd1b (patch) | |
tree | 2e880537f1a1eedebe021ffbd3cb521c2a8c3a28 /lib/Phi/Widget.hs | |
parent | 180285af85c4c6c02c885dd6c276a33e0bf00d1a (diff) | |
download | phi-15bccc001a5ff2e76d0890f85e300e9312cddd1b.tar phi-15bccc001a5ff2e76d0890f85e300e9312cddd1b.zip |
Some strictness optimizations
Diffstat (limited to 'lib/Phi/Widget.hs')
-rw-r--r-- | lib/Phi/Widget.hs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/Phi/Widget.hs b/lib/Phi/Widget.hs index 0756e19..48c0b6c 100644 --- a/lib/Phi/Widget.hs +++ b/lib/Phi/Widget.hs @@ -29,7 +29,7 @@ import Phi.Phi import Phi.X11.Atoms -data Display = Display (MVar Xlib.Display) Atoms [(Xlib.Rectangle, Xlib.Window)] +data Display = Display !(MVar Xlib.Display) !Atoms ![(Xlib.Rectangle, Xlib.Window)] withDisplay :: MonadIO m => Display -> (Xlib.Display -> m a) -> m a withDisplay (Display dispvar _ _) f = do @@ -82,15 +82,15 @@ class Show a => WidgetClass a where handleMessage :: a -> WidgetData a -> Message -> WidgetData a handleMessage _ priv _ = priv -data Widget = forall a. (WidgetClass a, Show (WidgetData a)) => Widget a +data Widget = forall a. (WidgetClass a, Show (WidgetData a)) => Widget !a deriving instance Show Widget -data WidgetState = forall a. (WidgetClass a, Show (WidgetData a)) => WidgetState { stateWidget :: a - , stateX :: Int - , stateY :: Int - , stateWidth :: Int - , stateHeight :: Int - , statePrivateData :: WidgetData a +data WidgetState = forall a. (WidgetClass a, Show (WidgetData a)) => WidgetState { stateWidget :: !a + , stateX :: !Int + , stateY :: !Int + , stateWidth :: !Int + , stateHeight :: !Int + , statePrivateData :: !(WidgetData a) } deriving instance Show WidgetState |