disposable-0.2.0.3: Allows storing different resource-releasing actions together.

Safe HaskellNone
LanguageHaskell2010

Control.Disposable

Synopsis

Documentation

class Disposable a where Source #

A Disposable is something with some resources to release

Minimal complete definition

dispose

Methods

dispose :: a -> IO () Source #

data SomeDisposable where Source #

Allows storing Disposables in a heterogenous container

Constructors

DisposeNone :: SomeDisposable 
Dispose :: forall a. Disposable a => a -> SomeDisposable 
DisposeList :: forall a. Disposable a => [a] -> SomeDisposable 

class Disposing a where Source #

Allow generic deriving instances of things that can be made into SomeDisposable If a data type derives from Generic, and only contain instances of Disposing, then it can also be made an instance of Disposing. Eg. @ import Glazier.React as R import GHCJS.Foreign.Callback as J import GHC.Generics as G

data Plan = Plan { _component :: R.ReactComponent , _onRender :: J.Callback (J.JSVal -> IO J.JSVal) ... } deriving G.Generic instance Disposing Plan @

class GDisposing f where Source #

Generic instance basically traverses the data type structure and expects the values to be all instances of Disposing

Minimal complete definition

gDisposing