-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Functional Pearl: Implicit Configurations -- -- This package provides an implementation of the ideas presented in the -- paper "Functional Pearl: Implicit Configurations" by Oleg Kiselyov and -- Chung-chieh Shan. However, the API has been modified to use -- Rank2Types and TypeFamilies and the implementation -- has been streamlined to improve performance. -- -- The original paper can be obtained from -- http://www.cs.rutgers.edu/~ccshan/prepose/prepose.pdf -- -- Changes in 0.9: -- --
-- ghci> reify 6 (\p -> reflect p + reflect p) :: Int -- 12 ---- -- The argument passed along by reify is just a data Proxy t = -- Proxy, so all of the information needed to reconstruct your value -- has been moved to the type level. This enables it to be used when -- constructing instances (see examples/Monoid.hs). module Data.Reflection class Reified s where type family Reflected s reflect :: Reified s => p s -> Reflected s reify :: a -> (forall s. (Reified s, Reflected s ~ a) => Proxy s -> w) -> w instance (B b0, B b1, B b2, B b3, B b4, B b5, B b6, B b7) => Reified (Stable b0 b1 b2 b3 b4 b5 b6 b7 a) instance B T255 instance B T254 instance B T253 instance B T252 instance B T251 instance B T250 instance B T249 instance B T248 instance B T247 instance B T246 instance B T245 instance B T244 instance B T243 instance B T242 instance B T241 instance B T240 instance B T239 instance B T238 instance B T237 instance B T236 instance B T235 instance B T234 instance B T233 instance B T232 instance B T231 instance B T230 instance B T229 instance B T228 instance B T227 instance B T226 instance B T225 instance B T224 instance B T223 instance B T222 instance B T221 instance B T220 instance B T219 instance B T218 instance B T217 instance B T216 instance B T215 instance B T214 instance B T213 instance B T212 instance B T211 instance B T210 instance B T209 instance B T208 instance B T207 instance B T206 instance B T205 instance B T204 instance B T203 instance B T202 instance B T201 instance B T200 instance B T199 instance B T198 instance B T197 instance B T196 instance B T195 instance B T194 instance B T193 instance B T192 instance B T191 instance B T190 instance B T189 instance B T188 instance B T187 instance B T186 instance B T185 instance B T184 instance B T183 instance B T182 instance B T181 instance B T180 instance B T179 instance B T178 instance B T177 instance B T176 instance B T175 instance B T174 instance B T173 instance B T172 instance B T171 instance B T170 instance B T169 instance B T168 instance B T167 instance B T166 instance B T165 instance B T164 instance B T163 instance B T162 instance B T161 instance B T160 instance B T159 instance B T158 instance B T157 instance B T156 instance B T155 instance B T154 instance B T153 instance B T152 instance B T151 instance B T150 instance B T149 instance B T148 instance B T147 instance B T146 instance B T145 instance B T144 instance B T143 instance B T142 instance B T141 instance B T140 instance B T139 instance B T138 instance B T137 instance B T136 instance B T135 instance B T134 instance B T133 instance B T132 instance B T131 instance B T130 instance B T129 instance B T128 instance B T127 instance B T126 instance B T125 instance B T124 instance B T123 instance B T122 instance B T121 instance B T120 instance B T119 instance B T118 instance B T117 instance B T116 instance B T115 instance B T114 instance B T113 instance B T112 instance B T111 instance B T110 instance B T109 instance B T108 instance B T107 instance B T106 instance B T105 instance B T104 instance B T103 instance B T102 instance B T101 instance B T100 instance B T99 instance B T98 instance B T97 instance B T96 instance B T95 instance B T94 instance B T93 instance B T92 instance B T91 instance B T90 instance B T89 instance B T88 instance B T87 instance B T86 instance B T85 instance B T84 instance B T83 instance B T82 instance B T81 instance B T80 instance B T79 instance B T78 instance B T77 instance B T76 instance B T75 instance B T74 instance B T73 instance B T72 instance B T71 instance B T70 instance B T69 instance B T68 instance B T67 instance B T66 instance B T65 instance B T64 instance B T63 instance B T62 instance B T61 instance B T60 instance B T59 instance B T58 instance B T57 instance B T56 instance B T55 instance B T54 instance B T53 instance B T52 instance B T51 instance B T50 instance B T49 instance B T48 instance B T47 instance B T46 instance B T45 instance B T44 instance B T43 instance B T42 instance B T41 instance B T40 instance B T39 instance B T38 instance B T37 instance B T36 instance B T35 instance B T34 instance B T33 instance B T32 instance B T31 instance B T30 instance B T29 instance B T28 instance B T27 instance B T26 instance B T25 instance B T24 instance B T23 instance B T22 instance B T21 instance B T20 instance B T19 instance B T18 instance B T17 instance B T16 instance B T15 instance B T14 instance B T13 instance B T12 instance B T11 instance B T10 instance B T9 instance B T8 instance B T7 instance B T6 instance B T5 instance B T4 instance B T3 instance B T2 instance B T1 instance B T0