disposable 0.1.1.1 → 0.2.0.0
raw patch · 2 files changed
+11/−8 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Control.Disposable: instance Control.Disposable.Disposable c => Control.Disposable.GDisposing (GHC.Generics.K1 i c)
+ Control.Disposable: instance Control.Disposable.Disposing c => Control.Disposable.GDisposing (GHC.Generics.K1 i c)
Files
- disposable.cabal +1/−1
- src/Control/Disposable.hs +10/−7
disposable.cabal view
@@ -1,5 +1,5 @@ name: disposable-version: 0.1.1.1+version: 0.2.0.0 synopsis: Allows storing different resource-releasing actions together. description: SomeDisposable aloows storing different resource releasing actions togther in a container. This library is useful for queueing up GHCJS.Foreign.Callback together to be released
src/Control/Disposable.hs view
@@ -22,11 +22,6 @@ class Disposable a where dispose :: a -> IO () -#ifdef __GHCJS__-instance Disposable (J.Callback a) where- dispose = J.releaseCallback-#endif- -- | Allows storing 'Disposable's in a heterogenous container data SomeDisposable where DisposeNone :: SomeDisposable@@ -48,6 +43,14 @@ default disposing :: (G.Generic a, GDisposing (G.Rep a)) => a -> SomeDisposable disposing x = DisposeList . D.toList . gDisposing $ G.from x +#ifdef __GHCJS__+instance Disposable (J.Callback a) where+ dispose = J.releaseCallback++instance Disposing (J.Callback a) where+ disposing = Dispose+#endif+ -- | Generics instance basically traverses the data tree -- and expects the values to be all instances of 'Disposable' class GDisposing f where@@ -63,8 +66,8 @@ instance (GDisposing f, GDisposing g) => GDisposing (f G.:*: g) where gDisposing (x G.:*: y) = (gDisposing x) <> (gDisposing y) -instance (Disposable c) => GDisposing (G.K1 i c) where- gDisposing (G.K1 x) = D.singleton $ Dispose x+instance (Disposing c) => GDisposing (G.K1 i c) where+ gDisposing (G.K1 x) = D.singleton $ disposing x instance (GDisposing f) => GDisposing (G.M1 i t f) where gDisposing (G.M1 x) = gDisposing x