śĪTmIļæ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾None!"&2346=HJKM The universal class -Dynamic type parameterized on a type universe6Partially witness a type constraint for a reified type,Witness a type constraint for a reified typeShow the name of type classesShow the name of a type class Equality on type representationsRepresentation of type a in a type universe t-This type can also be seen as a witness that a is a member of t (i.e.  t a); see (.(This class provides reification of type a in a universe t.  t a means that a) is in the type universe represented by t.æ-indexed type representationReification of type a in a type universe t Equality on type representationsType constructor matching. This function makes it possible to match on type representations without dealing with the underlying Ą representation.For example, to check that a  represents the type a -> Int for some a: Ēis_atoi :: (TypeEq t t, IntType :<: t) => TypeRep t a -> Bool is_atoi t | [E ta, E tb] <- matchCon t , Just _ <- typeEq ta intType = True | otherwise = False Monadic version of  matchConM = return . matchCon 4 is convenient when matching types in a monad, e.g.: Ldo ... [E ta, E tb] <- matchConM t Dict <- typeEq ta tb ...!Default implementation of  for types that have a  instance",Witness a type constraint for a reified type#6Partially witness a type constraint for a reified type$Safe cast (does not use  unsafeCoerce)%$Safe generalized cast (does not use  unsafeCoerce)( Witness a  constraint for a reified type)Partially witness a  constraint for a reified type¢  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”7  !"#$%&'()*+,-./0123456¢” Ÿž œ›!"#$% &'š™ ˜—–•”“’‘()*+,-./  ŽŒ‹012345Љˆ‡†…„ƒ‚€~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876”   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”None!"&2346=HJKM¢Sub-universe relationIn general, a universe t is a sub-universe of u if u has the form t1 :+: t2 :+: ... :+: t£/Cast a type representation to a larger universe¢£ĮĀ¢£¢£ĮĀNone!"&2346=HJKM4ĆÄÅĘĒČÉŹĖĢĶ  "#$%&'()*+,-./0123456¢£) "#$% &'6 ()*+,-./ 012345¢£None!"&2346=HJKM ¤3Give a function monadic arguments and result type. (¤ m) will normally be indexed by (® a). :FunM m (a -> b -> ... -> Res x) = m a -> m b -> ... -> m x„'Give a function a monadic result type. („ m) will normally be indexed by (® a). 6FunM m (a -> b -> ... -> Res x) = a -> b -> ... -> m xŖ$Witness of the arity of a function. Ŗ will normally be indexed by (® a).­ Remove the Æ( marker at the result type of a function 5FromRes (a -> b -> ... -> Res x) = a -> b -> ... -> x®Put a Æ( marker at the result type of a function 3ToRes (a -> b -> ... -> x) = a -> b -> ... -> Res xÆ.Newtype marking the result of a N-ary function±Get the Ŗ‚ of a type. The purpose is to be able to distinguish between functions and non-functions without having to handle all cases of a .² Prove that ­ is the inverse of ®³3Attempt to prove that a type is not a function type“>Lift a function to a similar function with monadic result type 6liftMonadic _ _ f = \a b ... x -> return (f a b ... x)µ$Run the result of a monadic function 4runMonadic run _ f = \a b ... x -> run (f a b ... x)¶1Compose a function with an N-ary monadic function 1compMonadic f _ g = \a b ... x -> f (g a b ... x)·GLift a function to a similar function with monadic arguments and result hliftMonadic f = \ma mb ... mx -> do a <- ma b <- mb ... x <- mx return (f a b ... x)¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ư®­Ŗ¬«§Ø©¾½¼»ŗ¹ø±²¦³„“µ¶¤·¤„¦§Ø©Ŗ¬«­®Æ°±²³“µ¶·ø¹ŗ»¼½¾Ī        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­­®Æ°±²³“µ¶·ø¹ŗ»¼½¾¼½æĄĮĀĆÄĀĆÄÅĘĒÅĘǼ½ȼ½É¼½ʼ½Ė¼½̼½ͼ½ĶĪopen-typerep-0.3.1Data.TypeRep.Internal Data.TypeRepData.TypeRep.VarArgData.TypeRep.SubFunTypeListType FloatTypeIntTypeCharTypeBoolTypeAnyDynamicDynPWitnesspwitSymWitnesswitSym ShowClass showClassTypeEq typeEqSymTypeRep unTypeRepTypeabletypeRep'TRtypeReptypeEqmatchCon matchConMpwitSymDefaultwitpwitcastgcasttoDynfromDyn witTypeable pwitTypeablepAnypEqpOrdpShowpNum pIntegralboolTypecharTypeintType floatTypelistTypefunType dynToInteger$fPWitnessIntegralFunTypet$fPWitnessIntegralListTypet$fPWitnessIntegralFloatTypet$fPWitnessIntegralIntTypet$fPWitnessIntegralCharTypet$fPWitnessIntegralBoolTypet$fWitnessIntegralIntTypet$fPWitnessNumFunTypet$fPWitnessNumListTypet$fPWitnessNumFloatTypet$fPWitnessNumIntTypet$fPWitnessNumCharTypet$fPWitnessNumBoolTypet$fWitnessNumFloatTypet$fWitnessNumIntTypet$fPWitnessShowFunTypet$fPWitnessShowListTypet$fPWitnessShowFloatTypet$fPWitnessShowIntTypet$fPWitnessShowCharTypet$fPWitnessShowBoolTypet$fWitnessShowListTypet$fWitnessShowFloatTypet$fWitnessShowIntTypet$fWitnessShowCharTypet$fWitnessShowBoolTypet$fPWitnessOrdFunTypet$fPWitnessOrdListTypet$fPWitnessOrdFloatTypet$fPWitnessOrdIntTypet$fPWitnessOrdCharTypet$fPWitnessOrdBoolTypet$fWitnessOrdListTypet$fWitnessOrdFloatTypet$fWitnessOrdIntTypet$fWitnessOrdCharTypet$fWitnessOrdBoolTypet$fPWitnessEqFunTypet$fPWitnessEqListTypet$fPWitnessEqFloatTypet$fPWitnessEqIntTypet$fPWitnessEqCharTypet$fPWitnessEqBoolTypet$fWitnessEqListTypet$fWitnessEqFloatTypet$fWitnessEqIntTypet$fWitnessEqCharTypet$fWitnessEqBoolTypet$fPWitnessAnyFunTypet$fPWitnessAnyListTypet$fPWitnessAnyFloatTypet$fPWitnessAnyIntTypet$fPWitnessAnyCharTypet$fPWitnessAnyBoolTypet$fWitnessAnyFunTypet$fWitnessAnyListTypet$fWitnessAnyFloatTypet$fWitnessAnyIntTypet$fWitnessAnyCharTypet$fWitnessAnyBoolTypet$fPWitnessTypeableFunTypet$fPWitnessTypeableListTypet$fPWitnessTypeableFloatTypet$fPWitnessTypeableIntTypet$fPWitnessTypeableCharTypet$fPWitnessTypeableBoolTypet$fWitnessTypeableFunTypet$fWitnessTypeableListTypet$fWitnessTypeableFloatTypet$fWitnessTypeableIntTypet$fWitnessTypeableCharTypet$fWitnessTypeableBoolTypet$fTypeEqFunTypet$fTypeEqListTypet$fTypeEqFloatTypet$fTypeEqIntTypet$fTypeEqCharTypet$fTypeEqBoolTypet$fTypeablet(->) $fTypeablet[]$fTypeabletFloat$fTypeabletInt$fTypeabletChar$fTypeabletBool$fRenderFunType$fRenderListType$fRenderFloatType$fRenderIntType$fRenderCharType$fRenderBoolType$fShowClassTypeable$fShowClassIntegral$fShowClassNum$fShowClassShow$fShowClassOrd $fShowClassEq$fShowClassAny$fAnya $fShowDynamic $fEqDynamic$fPWitnessp:+:t$fWitnesspASTt$fWitnessp:+:t$fTypeEqEmptyt $fTypeEq:+:t$fSyntacticTypeRep $fShowTypeRep SubUniverseweakenUniverseFunM2FunM NonFunctionVarArgaritySym fromResInvSymArityFunArgFunResFromResToResResarity fromResInv nonFunction liftMonadic runMonadic compMonadic liftMonadic2$fVarArgFunType$fVarArgListType$fVarArgFloatType$fVarArgIntType$fVarArgCharType$fVarArgBoolType $fVarArg:+: syntactic-2.1Data.Syntactic.SyntaxFullAST$fSubUniversesubsup$fSubUniversettbase Data.ProxyProxyconstraints-0.4.1.3Data.ConstraintDict:+:prjProjectinj:<:E