name: reflection version: 2.1.9 license: BSD3 license-file: LICENSE author: Edward A. Kmett, Elliott Hird, Oleg Kiselyov and Chung-chieh Shan maintainer: Edward A. Kmett stability: experimental homepage: http://github.com/ekmett/reflection bug-reports: http://github.com/ekmett/reflection/issues category: Data, Reflection, Dependent Types synopsis: Reifies arbitrary terms into types that can be reflected back into terms copyright: 2009-2013 Edward A. Kmett, 2012 Elliott Hird, 2004 Oleg Kiselyov and Chung-chieh Shan build-type: Simple cabal-version: >= 1.10 description: This package addresses the /configuration problem/ which is propagating configurations that are available at run-time, allowing multiple configurations to coexist without resorting to mutable global variables or 'System.IO.Unsafe.unsafePerformIO'. . That package is 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. . There are a handful of tutorials on how to use this library: . * Austin Seipp's tutorial provides a summary of the approach taken by this library, along with more motivating examples. . * Arnaud Spiwack's tutorial explains how to use this library. tested-with: GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 , GHC == 8.10.7 , GHC == 9.0.2 , GHC == 9.2.8 , GHC == 9.4.8 , GHC == 9.6.6 , GHC == 9.8.4 , GHC == 9.10.1 , GHC == 9.12.1 extra-source-files: .hlint.yaml examples/reflection-examples.cabal examples/LICENSE examples/*.hs CHANGELOG.markdown README.markdown slow/Data/Reflection.hs fast/Data/Reflection.hs flag slow description: If you enable this flag, we use a more portable much much slower implementation. Moreover, the 'Given' API is broken, so this is currently an unsupported configuration. If you feel the need to turn on this flag for any reason, please email the maintainer! default: False manual: False flag template-haskell description: You can disable the use of the `template-haskell` package using `-f-template-haskell`. . Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users. default: True manual: True source-repository head type: git location: git://github.com/ekmett/reflection.git library ghc-options: -Wall if impl(ghc >= 8.6) ghc-options: -Wno-star-is-type default-extensions: Trustworthy build-depends: base >= 4.9 && < 5 default-language: Haskell98 if flag(template-haskell) && impl(ghc) -- other-extensions: TemplateHaskellQuotes -- Hackage doesn't know this extension yet build-depends: template-haskell if !flag(slow) && (impl(ghc) || impl(hugs)) hs-source-dirs: fast else other-extensions: ScopedTypeVariables, FlexibleInstances hs-source-dirs: slow other-extensions: MultiParamTypeClasses, FunctionalDependencies, Rank2Types, CPP exposed-modules: Data.Reflection test-suite spec type: exitcode-stdio-1.0 hs-source-dirs: tests main-is: Spec.hs other-modules: ReifyNatSpec T47Spec ghc-options: -Wall default-language: Haskell98 build-tool-depends: hspec-discover:hspec-discover >= 1.8 build-depends: base >= 4.9 && < 5, containers >= 0.1 && < 0.8, hspec >= 2 && < 3, QuickCheck >= 2 && < 3, reflection