úÎG¹C{A      !"#$%&'()*+,-./0123456789 : ; < = > ? @ None &'+V]g ›Type of serializable closures. Abstractly speaking, a closure is a code reference paired together with an environment. A serializable closure includes a  shareable code reference (i.e. a Ae). Closures can be serialized only if all expressions captured in the environment are serializable.+Values that can be sent across the network.BvUntil GHC.StaticPtr can give us a proper TypeRep upon decoding, we have to pretend that this function doesn't need a C constraint to be safe.DuUntil GHC.StaticPtr can give us a proper TypeRep upon decoding, we have to pretend that serializing/deserializing a  a without a C a constraint, i.e. for any a , is safe. =Lift a Static pointer to a closure with an empty environment.  Resolve a * to the value that it represents. Calling  d multiple times on the same closure is efficient: for most argument values the result is memoized. +Turn a closure into a closure of a closure. 6A closure can be created from any serializable value.   corresponds to Control.Applicative's  6, but restricted to lifting serializable values only. Closure application. Note that l is not a functor, let alone an applicative functor, even if it too has a meaningful notion of application.Nested closure application. is not a EP, in that we cannot map arbitrary functions over it. That is, we cannot define F=. However, we can map a static pointer to a function over a .   GHNone +>?AKST$![A newtype-wrapper useful for defining instances of classes indexed by higher-kinded types.ÿ½It's often useful to create a static dictionary on-the-fly given any constraint. Morally, all type class constraints have associated static dictionaries, since these are either global values or simple combinations thereof. But GHC doesn't yet know how to invent a static dictionary on-demand yet given any type class constraint, so we'll have to do it manually for the time being. By defining instances of this type class manually, or via   if it becomes too tedious.   0NoneSTg/q$(cstatic 'foo) is an abbreviation for closure (static foo).Abbreviation for closure (static Dict). Example usage: 5foo :: Closure (Dict (Num a)) -> ... foo $cdict ... I!Compute free variables of a type.Auto-generates the @ instances corresponding to the given class instances. Example: îdata T a = T a withStatic [d| instance Show a => Show (T a) where ... |] ======> instance Show a => Show (T a) where ... instance (Static (Show a), Typeable a) => Static (Show (T a)) where closureDict = closure (static (Dict -> Dict))   closureDict !You will probably want to enable FlexibleContexts and ScopedTypeVariables in modules that use .None1« Instances of # should satisfy the following laws:  (static J) = J  (static (.) ` ` f ` ` g) =  f .  g  Noneg4£# Instances of ## should satisfy the following laws: % f =  f . $ $ = % (static J) % f . % g = % (static (.)   f   % g) $ . $ =  (static $) . $ !"#%$#$%!"&'!"#$%None9* Instances of *- should satisfy the following laws (writing , + as infix (K), (L), respectively):  static (.) K u L v L w = u L (v L w) x L (f K y) = (static (flip (.)) ` ` f) K x L y f K (x L y) = (static (.) ` ` f) K x L y ()*+*+(),()*+None;=g?. Instances of .- should satisfy the following laws (writing , +, / as infix (K), (L), (>>=), respectively): $(m >>= f) >>= g = m >>= static (.) ` ` (staticFlippedBind g)   f 0 . 0 = 0 .  (static 0) where vstaticFlippedBind :: Closure (b -> m c) -> Closure (m b -> m c) staticFlippedBind = capDup (static (flip staticBind)) -.0/1./0-312./0NonegBr4 Instances of 4# should satisfy the following laws: 5% (static id) (static id) = static id 6 (static id) = static id 7 (static id) = static id 5# f g = staticLmap f . staticRmap g 456745674567 NonegBã9;:9:;<9:; NonegCL=?>=>?@=>?M !"#$%&'()* +,-./0123456789:;<=>?@ABCDE F G H I J K L MNOPNQRSNTUNTVWWXNTYNZ[NT\]0distributed-closure-0.4.0-IUWVDNmpHuU3alf0Lt8lunControl.Distributed.Closure$Control.Distributed.Closure.InternalControl.Distributed.Closure.THData.Functor.StaticControl.Comonad.StaticControl.Applicative.StaticControl.Monad.StaticData.Profunctor.StaticData.Profunctor.Choice.StaticData.Profunctor.Strong.StaticControl.Applicativepure withStatic'constraints-0.10-G4Htbojc3YcLTXmbriPNoDData.ConstraintDictClosure StaticPtrEncodedAp Duplicate Serializableclosure unclosure cduplicatecpurecapcapDupcmap$fBinaryClosure$fIsStaticClosure/->WrappedArrowClosureWrapArrowClosureunwrapClosureArrowStatic closureDict$fBinaryWrappedArrowClosurecstatic cstaticDictcdict cdictFrom StaticFunctor staticMap$fStaticFunctorClosure StaticComonad staticExtract StaticExtendstaticDuplicate staticExtend$fStaticExtendClosure$fStaticComonadClosureStaticApplicative staticPure StaticApply staticApply$fStaticApplyClosure StaticMonad StaticBind staticBind staticJoin staticReturn$fStaticBindClosure$fStaticMonadmStaticProfunctor staticDimap staticLmap staticRmap%$fStaticProfunctorWrappedArrowClosure StaticChoice staticLeft' staticRight'!$fStaticChoiceWrappedArrowClosure StaticStrong staticFirst' staticSecond'!$fStaticStrongWrappedArrowClosurebase GHC.StaticPtr toDynClosureData.Typeable.InternalTypeable putClosureGHC.BaseFunctorfmap DynClosurefvTid Data.Functor<$><*>