Package2.1.9DataReflectionDependent Types
reflection
Reifies arbitrary terms into types that can be reflected back into terms
- Version2.1.9
- CategoryData, Reflection, Dependent Types
- LicenceBSD-3-Clause
- AuthorEdward A. Kmett, Elliott Hird, Oleg Kiselyov and Chung-chieh Shan
- MaintainerEdward A. Kmett <ekmett@gmail.com>
- Homepagegithub.com/ekmett/reflection
- Pinned byhackage reflection 2.1.9
- Sourcehackage.haskell.org/package/reflection-2.1.9
Modules
1 module- Data.Reflection23Reifies arbitrary terms at the type level. Based on the Functional
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 (original paper). 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 Reflecting values to types and back provides a summary of the approach taken by this library, along with more motivating examples. Arnaud Spiwack's tutorial All about reflection explains how to use this library.
Depends on
2 packages- base-4.20.2.0with GHC
- template-haskell-2.22.0.0with GHC