name: reflection version: 1.1.3 license: BSD3 license-file: LICENSE author: Edward A. Kmett, Elliott Hird, Oleg Kiselyov and Chung-chieh Shan maintainer: Edward A. Kmett stability: experimental homepage: category: Data, Reflection, Dependent Types synopsis: Reifies arbitrary terms into types that can be reflected back into terms copyright: 2009-2012 Edward A. Kmett, 2012 Elliott Hird, 2004 Oleg Kiselyov and Chung-chieh Shan build-type: Simple cabal-version: >= 1.10 description: 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 streamlined to improve performance. . The original paper can be obtained from . . /Changes from 0.5 to 1.1/: . * Much faster implementation available that is about 50 /times/ faster than 0.9 and which runs purely on black magic. This version is now used by default. To turn it off install with the @slow@ flag. If you encounter a problem with the implementation, please contact the author. . * Removed @ReifiedNum@, @reflectNum@, and @reifyIntegral@; @reify@ and @reflect@ are about 3 orders of magnitude faster than the special case combinators were. . /Changes in 0.5/: . * Generalized the type signatures in reflect to allow you to pass any type with kind @* -> *@ wrapped around the desired type as the phantom type argument rather than just a @Proxy@. . /Changes in 0.4/: . * Converted from `Data.Tagged` to using `Data.Proxy` for reflection. This reduces the need for helper functions and scoped type variables in user code. extra-source-files: examples/Monoid.hs examples/Constraints.hs examples/Benchmark.hs README slow/Data/Reflection.hs fast/Data/Reflection.hs flag slow default: False manual: False source-repository head type: git location: git:// library ghc-options: -Wall if impl(ghc >= 7.2) default-extensions: Trustworthy build-depends: base >= 4 && < 5, tagged >= 0.2.3 && < 0.3 default-language: Haskell98 if impl(ghc) && !flag(slow) hs-source-dirs: fast else other-extensions: ScopedTypeVariables, FlexibleInstances, CPP hs-source-dirs: slow other-extensions: MultiParamTypeClasses, FunctionalDependencies, Rank2Types exposed-modules: Data.Reflection