static-closure-0.1.0.0: Serialisable static pointers to functions

Safe HaskellNone
LanguageHaskell2010

Control.Static.Closure.HasClosureDict

Synopsis

Documentation

class c => HasClosureDict c where Source #

Minimal complete definition

getClosureDict

Methods

getClosureDict :: IsClosure t => t (Dict c) Source #

Instances

HasClosureDict (Binary Bool) Source # 
HasClosureDict (Binary Char) Source # 
HasClosureDict (Binary Double) Source # 
HasClosureDict (Binary Float) Source # 
HasClosureDict (Binary Int) Source # 
HasClosureDict (Binary Int8) Source # 
HasClosureDict (Binary Int16) Source # 
HasClosureDict (Binary Int32) Source # 
HasClosureDict (Binary Int64) Source # 
HasClosureDict (Binary Integer) Source # 
HasClosureDict (Binary Natural) Source # 
(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary [a]) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary [a])) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Maybe a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Maybe a))) Source #

HasClosureDict (Binary Ordering) Source # 
(Typeable * a, Typeable * a, Typeable * a, HasClosureDict (Binary a), HasClosureDict (Integral a)) => HasClosureDict (Binary (Ratio a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Ratio a))) Source #

HasClosureDict (Binary Word) Source # 
HasClosureDict (Binary Word8) Source # 
HasClosureDict (Binary Word16) Source # 
HasClosureDict (Binary Word32) Source # 
HasClosureDict (Binary Word64) Source # 
(Typeable * a, Typeable * b, Typeable * a, Typeable * b, HasClosureDict (Binary a), HasClosureDict (Binary b)) => HasClosureDict (Binary (Either a b)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Either a b))) Source #

HasClosureDict (Binary RuntimeRep) Source # 
HasClosureDict (Binary VecCount) Source # 
HasClosureDict (Binary VecElem) Source # 
(Typeable * a, Typeable * a, HasClosureDict (Typeable * a)) => HasClosureDict (Binary (TypeRep * a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (TypeRep * a))) Source #

HasClosureDict (Binary SomeTypeRep) Source # 
HasClosureDict (Binary ()) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary ())) Source #

(Typeable * a, Typeable * b, Typeable * a, Typeable * b, HasClosureDict (Binary a), HasClosureDict (Binary b)) => HasClosureDict (Binary (a, b)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b))) Source #

(Typeable * a, Typeable * b, Typeable * c, Typeable * a, Typeable * b, Typeable * c, HasClosureDict (Binary a), HasClosureDict (Binary b), HasClosureDict (Binary c)) => HasClosureDict (Binary (a, b, c)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b, c))) Source #

(Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * a, Typeable * b, Typeable * c, Typeable * d, HasClosureDict (Binary a), HasClosureDict (Binary b), HasClosureDict (Binary c), HasClosureDict (Binary d)) => HasClosureDict (Binary (a, b, c, d)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b, c, d))) Source #

(Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, HasClosureDict (Binary a), HasClosureDict (Binary b), HasClosureDict (Binary c), HasClosureDict (Binary d), HasClosureDict (Binary e)) => HasClosureDict (Binary (a, b, c, d, e)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b, c, d, e))) Source #

(Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, HasClosureDict (Binary a), HasClosureDict (Binary b), HasClosureDict (Binary c), HasClosureDict (Binary d), HasClosureDict (Binary e), HasClosureDict (Binary f)) => HasClosureDict (Binary (a, b, c, d, e, f)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b, c, d, e, f))) Source #

(Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * g, Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * g, HasClosureDict (Binary a), HasClosureDict (Binary b), HasClosureDict (Binary c), HasClosureDict (Binary d), HasClosureDict (Binary e), HasClosureDict (Binary f), HasClosureDict (Binary g)) => HasClosureDict (Binary (a, b, c, d, e, f, g)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b, c, d, e, f, g))) Source #

(Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * g, Typeable * h, Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * g, Typeable * h, HasClosureDict (Binary a), HasClosureDict (Binary b), HasClosureDict (Binary c), HasClosureDict (Binary d), HasClosureDict (Binary e), HasClosureDict (Binary f), HasClosureDict (Binary g), HasClosureDict (Binary h)) => HasClosureDict (Binary (a, b, c, d, e, f, g, h)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b, c, d, e, f, g, h))) Source #

(Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * g, Typeable * h, Typeable * i, Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * g, Typeable * h, Typeable * i, HasClosureDict (Binary a), HasClosureDict (Binary b), HasClosureDict (Binary c), HasClosureDict (Binary d), HasClosureDict (Binary e), HasClosureDict (Binary f), HasClosureDict (Binary g), HasClosureDict (Binary h), HasClosureDict (Binary i)) => HasClosureDict (Binary (a, b, c, d, e, f, g, h, i)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b, c, d, e, f, g, h, i))) Source #

(Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * g, Typeable * h, Typeable * i, Typeable * j, Typeable * a, Typeable * b, Typeable * c, Typeable * d, Typeable * e, Typeable * f, Typeable * g, Typeable * h, Typeable * i, Typeable * j, HasClosureDict (Binary a), HasClosureDict (Binary b), HasClosureDict (Binary c), HasClosureDict (Binary d), HasClosureDict (Binary e), HasClosureDict (Binary f), HasClosureDict (Binary g), HasClosureDict (Binary h), HasClosureDict (Binary i), HasClosureDict (Binary j)) => HasClosureDict (Binary (a, b, c, d, e, f, g, h, i, j)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (a, b, c, d, e, f, g, h, i, j))) Source #

HasClosureDict (Binary TyCon) Source # 
HasClosureDict (Binary KindRep) Source # 
HasClosureDict (Binary TypeLitSort) Source # 
HasClosureDict (Binary Version) Source # 
HasClosureDict (Binary ShortByteString) Source # 
(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Last a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Last a))) Source #

(Typeable * k, Typeable * e, Typeable * k, Typeable * e, HasClosureDict (Binary k), HasClosureDict (Binary e)) => HasClosureDict (Binary (Map k e)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Map k e))) Source #

HasClosureDict (Binary Any) Source # 
HasClosureDict (Binary All) Source # 
(Typeable * i, Typeable * e, Typeable * i, Typeable * i, Typeable * e, Typeable * e, HasClosureDict (Binary i), HasClosureDict (Ix i), HasClosureDict (Binary e), HasClosureDict (IArray UArray e)) => HasClosureDict (Binary (UArray i e)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (UArray i e))) Source #

(Typeable * i, Typeable * e, Typeable * i, Typeable * i, Typeable * e, HasClosureDict (Binary i), HasClosureDict (Ix i), HasClosureDict (Binary e)) => HasClosureDict (Binary (Array i e)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Array i e))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Complex a)) Source # 
Typeable * a => HasClosureDict (Binary (Fixed a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Fixed a))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Min a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Min a))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Max a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Max a))) Source #

(Typeable * a, Typeable * b, Typeable * a, Typeable * b, HasClosureDict (Binary a), HasClosureDict (Binary b)) => HasClosureDict (Binary (Arg a b)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Arg a b))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (First a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (First a))) Source #

(Typeable * m, Typeable * m, HasClosureDict (Binary m)) => HasClosureDict (Binary (WrappedMonoid m)) Source # 
(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Option a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Option a))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (NonEmpty a)) Source # 
HasClosureDict (Binary Void) Source # 
(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Dual a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Dual a))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Sum a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Sum a))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Product a)) Source # 
(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (First a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (First a))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Last a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Last a))) Source #

(Typeable (* -> *) f, Typeable * a, Typeable (* -> *) f, Typeable * a, HasClosureDict (Binary (f a))) => HasClosureDict (Binary (Alt * f a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Alt * f a))) Source #

HasClosureDict (Binary Fingerprint) Source # 
HasClosureDict (Binary ByteString) Source # 
HasClosureDict (Binary ByteString) Source # 
(Typeable * e, Typeable * e, HasClosureDict (Binary e)) => HasClosureDict (Binary (IntMap e)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (IntMap e))) Source #

HasClosureDict (Binary IntSet) Source # 
(Typeable * e, Typeable * e, HasClosureDict (Binary e)) => HasClosureDict (Binary (Tree e)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Tree e))) Source #

(Typeable * e, Typeable * e, HasClosureDict (Binary e)) => HasClosureDict (Binary (Seq e)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Seq e))) Source #

(Typeable * a, Typeable * a, HasClosureDict (Binary a)) => HasClosureDict (Binary (Set a)) Source # 

Methods

getClosureDict :: IsClosure t => t (Dict (Binary (Set a))) Source #

HasClosureDict (Binary Extension) Source # 
HasClosureDict (Binary ForeignSrcLang) Source # 

''Binary)