~Q!      n2009-2015 Edward Kmett, 2012 Elliott Hird, 2004 Oleg Kiselyov and Chung-chieh ShanBSD3Edward Kmett <ekmett@gmail.com> experimental non-portable Trustworthy'(+34579=>GIKLNThis is a version of % that allows for only a single value.!This is easier to work with than i and permits extended defaulting, but it only offers a single reflected value of a given type at a time.:Recover the value of a given type previously encoded with .Recover a value inside a . context, given a proxy for its reified type.6Reify a value at the type level, to be recovered with .This upgraded version of  can be used to generate a !" suitable for use with other APIs.Available only on GHC 7.8+reifyNat 4 natVal4reifyNat 4 reflect4This upgraded version of  can be used to generate a "" suitable for use with other APIs.Available only on GHC 7.8+reifySymbol "hello" symbolVal"hello"reifySymbol "hello" reflect"hello"4Reify a value into an instance to be recovered with . You should only p a single value for each type. If multiple instances are in scope, then the behavior is implementation defined.[This can be used to generate a template haskell splice for a type level version of a given .This does not use GHC TypeLits, instead it generates a numeric type by hand similar to the ones used in the "Functional Pearl: Implicit Configurations" paper by Oleg Kiselyov and Chung-Chieh Shan.instance Num (Q Exp)) provided in this package allows writing $(3) instead of $(int 3)S. Sometimes the two will produce the same representation (if compiled without the -DUSE_TYPE_LITS preprocessor directive). This is a restricted version of  that can only generate natural numbers. Attempting to generate a negative number results in a compile time error. Also the resulting sequence will consist entirely of Z, D, and SD constructors representing the number in zeroless binary.%Reify a value at the type level in a #*-compatible fashion, to be recovered with .4This can be necessary to work around the changes to  Data.Typeable in GHC HEAD.Fold a value using its $% instance using explicitly provided % operations. This is like fold where the %$ instance can be manually specified.  & ' "a fold  foldBy (++) [] ["hello","world"] "helloworld"Fold a value using its $% instance using explicitly provided % operations. This is like ( where the %$ instance can be manually specified.  & ' "a ( (foldMapBy (+) 0 length ["hello","world"]10Traverse a container using its )% instance using explicitly provided * operations. This is like + where the *$ instance can be manually specified. Sequence a container using its )% instance using explicitly provided * operations. This is like , where the *$ instance can be manually specified.-HThis permits the use of $(5) as an expression splice, which stands for Proxy :: Proxy $(5)..This permits the use of $(5) as a type splice.Y /0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234 56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\-.]^_`abcd!  !   H /0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234 56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\-.]^_`abcde      ! "#$%&'(')'*%+,-'.,/,01233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~            !!""##$$%%&&''(())**++,,--..//001122334456778899::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcrefle_1JCjnhgoNgc0ltx4v7dqq7Data.ReflectionReflectedApplicativeReifiedApplicative reifiedPure reifiedApReflectedMonoid ReifiedMonoidreifiedMappend reifiedMemptyPDSDDZGivengivenReifiesreflectreifyreifyNat reifySymbolgiveintnat reifyTypeable reifyMonoidfoldBy foldMapByreifyApplicative traverseBy sequenceBybase GHC.TypeLitsKnownNat KnownSymbolData.Typeable.InternalTypeable Data.FoldableFoldableGHC.BaseMonoidmappendmemptyfoldMapData.Traversable Traversable Applicativetraversesequence$fNumExp $fNumTypeStableWT255T254T253T252T251T250T249T248T247T246T245T244T243T242T241T240T239T238T237T236T235T234T233T232T231T230T229T228T227T226T225T224T223T222T221T220T219T218T217T216T215T214T213T212T211T210T209T208T207T206T205T204T203T202T201T200T199T198T197T196T195T194T193T192T191T190T189T188T187T186T185T184T183T182T181T180T179T178T177T176T175T174T173T172T171T170T169T168T167T166T165T164T163T162T161T160T159T158T157T156T155T154T153T152T151T150T149T148T147T146T145T144T143T142T141T140T139T138T137T136T135T134T133T132T131T130T129T128T127T126T125T124T123T122T121T120T119T118T117T116T115T114T113T112T111T110T109T108T107T106T105T104T103T102T101T100T99T98T97T96T95T94T93T92T91T90T89T88T87T86T85T84T83T82T81T80T79T78T77T76T75T74T73T72T71T70T69T68T67T66T65T64T63T62T61T60T59T58T57T56T55T54T53T52T51T50T49T48T47T46T45T44T43T42T41T40T39T38T37T36T35T34T33T32T31T30T29T28T27T26T25T24T23T22T21T20T19T18T17T16T15T14T13T12T11T10T9T8T7T6T5T4T3T2T1T0B reflectByteGift MagicSymbolMagicNatMagicretagDretagSDretagPD onProxyType1 onProxyType2addProxymulProxysubProxy impossible reifyBytestablestablePtrToIntPtrintPtrToStablePtrbyte0byte1byte2byte3byte4byte5byte6byte7argument reflectBefore reflectResultunreflectedMonoidreflectResult1unreflectedApplicative#.!$fApplicativeReflectedApplicative$fFunctorReflectedApplicative$fMonoidReflectedMonoid$fReifies*Stablea$fB*T255$fB*T254$fB*T253$fB*T252$fB*T251$fB*T250$fB*T249$fB*T248$fB*T247$fB*T246$fB*T245$fB*T244$fB*T243$fB*T242$fB*T241$fB*T240$fB*T239$fB*T238$fB*T237$fB*T236$fB*T235$fB*T234$fB*T233$fB*T232$fB*T231$fB*T230$fB*T229$fB*T228$fB*T227$fB*T226$fB*T225$fB*T224$fB*T223$fB*T222$fB*T221$fB*T220$fB*T219$fB*T218$fB*T217$fB*T216$fB*T215$fB*T214$fB*T213$fB*T212$fB*T211$fB*T210$fB*T209$fB*T208$fB*T207$fB*T206$fB*T205$fB*T204$fB*T203$fB*T202$fB*T201$fB*T200$fB*T199$fB*T198$fB*T197$fB*T196$fB*T195$fB*T194$fB*T193$fB*T192$fB*T191$fB*T190$fB*T189$fB*T188$fB*T187$fB*T186$fB*T185$fB*T184$fB*T183$fB*T182$fB*T181$fB*T180$fB*T179$fB*T178$fB*T177$fB*T176$fB*T175$fB*T174$fB*T173$fB*T172$fB*T171$fB*T170$fB*T169$fB*T168$fB*T167$fB*T166$fB*T165$fB*T164$fB*T163$fB*T162$fB*T161$fB*T160$fB*T159$fB*T158$fB*T157$fB*T156$fB*T155$fB*T154$fB*T153$fB*T152$fB*T151$fB*T150$fB*T149$fB*T148$fB*T147$fB*T146$fB*T145$fB*T144$fB*T143$fB*T142$fB*T141$fB*T140$fB*T139$fB*T138$fB*T137$fB*T136$fB*T135$fB*T134$fB*T133$fB*T132$fB*T131$fB*T130$fB*T129$fB*T128$fB*T127$fB*T126$fB*T125$fB*T124$fB*T123$fB*T122$fB*T121$fB*T120$fB*T119$fB*T118$fB*T117$fB*T116$fB*T115$fB*T114$fB*T113$fB*T112$fB*T111$fB*T110$fB*T109$fB*T108$fB*T107$fB*T106$fB*T105$fB*T104$fB*T103$fB*T102$fB*T101$fB*T100$fB*T99$fB*T98$fB*T97$fB*T96$fB*T95$fB*T94$fB*T93$fB*T92$fB*T91$fB*T90$fB*T89$fB*T88$fB*T87$fB*T86$fB*T85$fB*T84$fB*T83$fB*T82$fB*T81$fB*T80$fB*T79$fB*T78$fB*T77$fB*T76$fB*T75$fB*T74$fB*T73$fB*T72$fB*T71$fB*T70$fB*T69$fB*T68$fB*T67$fB*T66$fB*T65$fB*T64$fB*T63$fB*T62$fB*T61$fB*T60$fB*T59$fB*T58$fB*T57$fB*T56$fB*T55$fB*T54$fB*T53$fB*T52$fB*T51$fB*T50$fB*T49$fB*T48$fB*T47$fB*T46$fB*T45$fB*T44$fB*T43$fB*T42$fB*T41$fB*T40$fB*T39$fB*T38$fB*T37$fB*T36$fB*T35$fB*T34$fB*T33$fB*T32$fB*T31$fB*T30$fB*T29$fB*T28$fB*T27$fB*T26$fB*T25$fB*T24$fB*T23$fB*T22$fB*T21$fB*T20$fB*T19$fB*T18$fB*T17$fB*T16$fB*T15$fB*T14$fB*T13$fB*T12$fB*T11$fB*T10$fB*T9$fB*T8$fB*T7$fB*T6$fB*T5$fB*T4$fB*T3$fB*T2$fB*T1$fB*T0 $fFractionalQ$fNumQ$fReifies*PDInt$fReifies*SDInt$fReifies*DInt$fReifies*ZInt$fReifiesSymboln[]$fReifiesNatnInteger