free-game 0.9.3.2 → 0.9.3.3
raw patch · 3 files changed
+31/−6 lines, 3 filesdep −profunctorsPVP ok
version bump matches the API change (PVP)
Dependencies removed: profunctors
API changes (from Hackage documentation)
Files
- Graphics/UI/FreeGame/Base.hs +7/−2
- Graphics/UI/FreeGame/Internal/Raindrop.hs +23/−2
- free-game.cabal +1/−2
Graphics/UI/FreeGame/Base.hs view
@@ -125,11 +125,16 @@ hoistFreeR :: (Functor f, MonadFree g m) => (f (m a) -> g (m a)) -> Free.Free f a -> m a hoistFreeR _ (Free.Pure a) = return a hoistFreeR t (Free.Free f) = wrap . t $ fmap (hoistFreeR t) f-{-# INLINE hoistFreeR #-}+{-# INLINE[~4] hoistFreeR #-} hoistFR :: MonadFree g m => (f (m a) -> g (m a)) -> F f a -> m a hoistFR t (F m) = m return (wrap . t)-{-# INLINE hoistFR #-}+{-# INLINE[~4] hoistFR #-}++{-# RULES+"hoistFreeR/hoistFreeR"[5] forall f g m. hoistFreeR f (hoistFreeR g m) = hoistFreeR (f . g) m+"hoistFR/hoistFR"[5] forall f g m. hoistFR f (hoistFR g m) = hoistFR (f . g) m+ #-} -- | The class of types that can be regarded as a kind of picture. class Picture2D p where
Graphics/UI/FreeGame/Internal/Raindrop.hs view
@@ -1,11 +1,32 @@+-----------------------------------------------------------------------------+-- |+-- Module : Graphics.UI.FreeGame.Internal.Raindrop+-- Copyright : (C) 2013 Fumiaki Kinoshita+-- License : BSD-style (see the file LICENSE)+--+-- Maintainer : Fumiaki Kinoshita <fumiexcel@gmail.com>+-- Stability : experimental+-- Portability : non-portable+--+-- A portable implementation of lens(<http://hackage.haskell.org/package/lens>)+---------------------------------------------------------------------------- module Graphics.UI.FreeGame.Internal.Raindrop (view, over) where import Data.Functor.Identity import Control.Monad.Reader import Control.Applicative+import Unsafe.Coerce +(#.) :: (b -> c) -> (a -> b) -> (a -> c)+(#.) _ = unsafeCoerce+{-# INLINE (#.) #-}++-- | @'view' :: 'MonadReader' s m => Getting a s a -> m a@ view :: MonadReader s m => ((a -> Const a b) -> (s -> Const a t)) -> m a-view f = ask >>= return . getConst . f Const+view f = asks (getConst #. f Const)+{-# INLINE view #-} +-- | @'over' :: ASetter s t a b -> (a -> b) -> s -> t@ over :: ((a -> Identity b) -> (s -> Identity t)) -> (a -> b) -> s -> t-over l f = runIdentity . l (Identity . f)+over l f = runIdentity #. l (Identity #. f)+{-# INLINE over #-}
free-game.cabal view
@@ -1,5 +1,5 @@ name: free-game -version: 0.9.3.2 +version: 0.9.3.3 synopsis: Create graphical applications for free description: Cross-platform GUI library based on free monads homepage: https://github.com/fumieval/free-game @@ -50,7 +50,6 @@ mtl >= 2.1, OpenGL == 2.8.*, OpenGLRaw == 1.3.*, - profunctors == 3.*, random == 1.*, transformers >= 0.3, void >= 0.5,