&Y      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None%&*+,9;<=?DRCombine type level s.  And a b c has an instance  And a b True if and only if both a and b are , and  And a b False otherwise.Identifies whether or not a type has an instance of a type class, and provides a standard means for capturing a context that allows them to be used. Unfortunately, because instances cannot be selected on the basis of whether a context matches, instances of this class need to be listed manually whenever we need to modify behaviour depending on whether an instance of a class is available or not. If a class c has an instance for type t there should be an 9instance HasClass c t True where classDict _ _ _ = TDictH. For cases where additional context is required, see examples in the "Data.Type.HasClassPreludeInstances module.dStores a constraint context. When pattern matched upon, the compiler knows the constraint is true.ODefault instance for types and classes that do not have an available instance.None,9:;<=DRTR  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYRYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  R  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYNone%&*9;<=DORT ZA type that contains a value whose type is unknown at compile time, except that it satisfies a given constraint. For example, a value of ConstrainedDynamic ShowK could contain a value of any type for which an instance of the typeclass  is available.[VA type used to represent class constraints as values. This exists primarily so that .typeOf (ClassConstraint :: ClassConstraint cs) can be used to obtain a & that uniquely identifies a typeclass.] Create a Z for a given value. Note that this function must be used in a context where the required constraint type can be determined, for example by explicitly identifying the required type using the form +toDyn value :: ConstrainedDynamic TypeClass.^Extract a value Z^ to a particular type if and only if the value contained with in it has that type, returning  v if the value v has the correct type or  otherwise,_Extract a value Z to a particular type if and only if the value contained with in it has that type, returning the value if it has the correct type or a default value otherwise.` Return the + for the type of value contained within a Z.a Return a > that uniquely identifies the type of constraint used in the Z8. The actual type whose representation is returned is ClassConstraint c where c is the constraint.bwApply a polymorphic function that accepts all values matching the appropriate constraint to the value stored inside a Z and return its result. Note that this *must* be a polymorphic function with only a single argument that is constrained by the constrain, so for example the function  from the typeclass  is allowable, but  from the typeclass  would not work as it requires a second argument that has the same type as the first, and it is not possible to safely return the partially-applied function as its type is not known in the calling context.cIf a Z% has an unknown constraint variable, c! can be used to convert it to a Z( with a known constraint. For example, .classCast d :: Maybe (ConstrainedDynamic Show) returns % d :: Maybe (ConstrainedDynamic Show) if ds constraint was  or  if it was any other constraint.dAn instance of  for Z4: delegates to the contained value's definition of  if the constraint is 5, or shows the type of the contained value otherwise.Z[\]^_`abcd Z[\]^_`abc [\Z]^_`abc Z[\]^_`abcdNone%&*+,9:;<=DOQRTeLA class for handling searches for a specific single constraint in the list.gBFunctions for extracting the list of constraints in an LTDict as s of [ types.kkA class for building objects that recurse over a list of constraints. Instances are provided for building o1 values, but could be used for other values too.onMaintain a list of dictionaries encapsulating many constraints over a single type (where they are available).r<Optionally provide a dictionary for a constraint and a type.uProduce an appropriate r@ value for the context. Callers should ensure that appropriate [ instances are in scope at the point of calling, or declare them as part of their context.efghijklmnopqrstuvwxyz{|}~efghijklmnopqrsturstopqmn~}ukl|{ghijzyefxwvefghijklmnopqrstuvwxyz{|}~None%&*+,9:;<=DOQRT A type that contains a value whose type is unknown at compile time, but for which it is known whether or not it satisfies any of a list of constraints, thus allowing operations to be performed when those constraints are satisfied. Create an  for a given value. Note that this function must be used in a context where the required list of constraint types can be determined, for example by explicitly identifying the required type using the form (toDyn value :: MCDynamic [TypeClass,...].DAdditionally, there must be appropriate instances of the type class  that describe instances available for type classes that are to be used with the dynamic object and the type to be included in it. In most circumstances you should at least import "Data.Type.HasClassPreludeInstancesF to allow the use of instances of standard Prelude classes and types.Extract a value ^ to a particular type if and only if the value contained with in it has that type, returning  v if the value v has the correct type or  otherwise,Extract a value  to a particular type if and only if the value contained with in it has that type, returning the value if it has the correct type or a default value otherwise. Return the + for the type of value contained within a .Return a list of 2s that uniquely identify the constraints from an Gs type arguments that are satisfied by the value contained inside the O. The actual type whose representation is returned for each constraint is is ClassConstraint c where c is the constraint.Return a list of 2s that uniquely identify the constraints from an Ws type arguments, whether or not they are satisfied by the value contained inside the O. The actual type whose representation is returned for each constraint is is ClassConstraint c where c is the constraint.Return a list of 2s that uniquely identify the constraints from an Ls type arguments, that are not satisfied by the value contained inside the O. The actual type whose representation is returned for each constraint is is ClassConstraint c where c is the constraint.jApply a polymorphic function that accepts all values matching a constraint to the value stored inside an = wherever possible. If the constraint is satisfied, returns  rW, where r is the result of the function. If the constraint is not satisfied, returns .Note that the function *must* be a polymorphic function with only a single argument that is constrained by the constraint, so for example the function  from the typeclass  is allowable, but  from the typeclass  would not work as it requires a second argument that has the same type as the first, and it is not possible to safely return the partially-applied function as its type is not known in the calling context.An instance of  for : unwrap the right hand side to the same type as the left (if possible) and if it matches, delegate to the left hand item's instance of : if one is available. If either condition fails, return .An instance of  for 4: delegates to the contained value's definition of w if an instance of Show is available, or displays the type of the item and its list of available instances otherwise.  [\ [\        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_``abcdefghijklmnopqrstuvwxyz{|}~abcdf  1constrained-dynamic-0.1.0.0-CcmvSA4DKTpQyPsttLtxmData.Type.HasClass"Data.Type.HasClassPreludeInstancesData.ConstrainedDynamicData.Type.LTDictData.MultiConstrainedDynamicAndHasClass classDictTDict$fAndFalsebFalse $fAndTruebb$fHasClasskctb$fHasClassTYPEShowEitherf3$fHasClassTYPEShowBoolTrue$fHasClassTYPEShowCharTrue$fHasClassTYPEShowDoubleTrue$fHasClassTYPEShowFloatTrue$fHasClassTYPEShowIntTrue$fHasClassTYPEShowIntegerTrue$fHasClassTYPEShowMaybef1$fHasClassTYPEShowOrderingTrue$fHasClassTYPEShowWordTrue$fHasClassTYPEShow[]f1 $fHasClassTYPERealFracDoubleTrue$fHasClassTYPERealFracFloatTrue!$fHasClassTYPERealFloatDoubleTrue $fHasClassTYPERealFloatFloatTrue$fHasClassTYPERealDoubleTrue$fHasClassTYPERealFloatTrue$fHasClassTYPERealIntTrue$fHasClassTYPERealIntegerTrue$fHasClassTYPERealWordTrue$fHasClassTYPEReadEitherf3$fHasClassTYPEReadBoolTrue$fHasClassTYPEReadCharTrue$fHasClassTYPEReadDoubleTrue$fHasClassTYPEReadFloatTrue$fHasClassTYPEReadIntTrue$fHasClassTYPEReadIntegerTrue$fHasClassTYPEReadMaybef1$fHasClassTYPEReadOrderingTrue$fHasClassTYPEReadWordTrue$fHasClassTYPERead[]f1$fHasClassTYPEOrdMaybef1$fHasClassTYPEOrdEitherf3$fHasClassTYPEOrdIntegerTrue$fHasClassTYPEOrdBoolTrue$fHasClassTYPEOrdCharTrue$fHasClassTYPEOrdDoubleTrue$fHasClassTYPEOrdFloatTrue$fHasClassTYPEOrdIntTrue$fHasClassTYPEOrdOrderingTrue$fHasClassTYPEOrdWordTrue$fHasClassTYPEOrd[]f1$fHasClassTYPENumDoubleTrue$fHasClassTYPENumFloatTrue$fHasClassTYPENumIntTrue$fHasClassTYPENumIntegerTrue$fHasClassTYPENumWordTrue$fHasClassTYPEMonoid(->)f1$fHasClassTYPEMonoidMaybef1 $fHasClassTYPEMonoidOrderingTrue$fHasClassTYPEMonoid[]True$fHasClassTYPEIntegralIntTrue!$fHasClassTYPEIntegralIntegerTrue$fHasClassTYPEIntegralWordTrue $fHasClassTYPEFloatingDoubleTrue$fHasClassTYPEFloatingFloatTrue"$fHasClassTYPEFractionalDoubleTrue!$fHasClassTYPEFractionalFloatTrue$fHasClassTYPEEqEitherf3$fHasClassTYPEEqMaybef1$fHasClassTYPEEqBoolTrue$fHasClassTYPEEqCharTrue$fHasClassTYPEEqDoubleTrue$fHasClassTYPEEqFloatTrue$fHasClassTYPEEqIntTrue$fHasClassTYPEEqOrderingTrue$fHasClassTYPEEqWordTrue$fHasClassTYPEEq[]f1$fHasClassTYPEEnumDoubleTrue$fHasClassTYPEEnumFloatTrue$fHasClassTYPEEnum()True$fHasClassTYPEEnumBoolTrue$fHasClassTYPEEnumCharTrue$fHasClassTYPEEnumIntTrue$fHasClassTYPEEnumIntegerTrue$fHasClassTYPEEnumOrderingTrue$fHasClassTYPEEnumWordTrue$fHasClassTYPEBoundedBoolTrue$fHasClassTYPEBoundedCharTrue$fHasClassTYPEBoundedIntTrue!$fHasClassTYPEBoundedOrderingTrue$fHasClassTYPEBoundedWordTrueConstrainedDynamicClassConstrainttoDyn fromDynamicfromDyn dynTypeRepdynConstraintType applyClassFn classCast$fShowConstrainedDynamic LTDictSearch ltdSearchLTDictConstraintListergetAllConstraintsgetMatchedConstraintsgetUnmatchedConstraints LTDictBuilder buildLTDictTypeConstraintBuilderbuildTypeConstraintLTDictLTDConsLTDNil MaybeHasClass JustHasClassDoesNotHaveClass checkClass$fLTDictSearch:cs$fLTDictSearch:cs0$fLTDictSearch[]cs$fLTDictConstraintLister:$fLTDictConstraintLister[]$fLTDictBuilderTYPELTDict[]t$fLTDictBuilderTYPELTDict:t0$fTypeConstraintBuilderBoolTYPEMaybeHasClasscstf3$fTypeConstraintBuilderBoolTYPEMaybeHasClasscstTrue MCDynamicdynConstraintTypesdynAllConstraintTypesdynUnmatchedConstraintTypes $fEqMCDynamic$fShowMCDynamicghc-prim GHC.TypesBoolTruebaseGHC.ShowShowData.Typeable.InternalTypeRepGHC.BaseJustNothingshow GHC.Classes==Eq showsPrecConsDynFalseConsMCD