reflection: Reifies arbitrary terms into types that can be reflected back into terms

[ bsd3, data, dependent-types, library, reflection ] [ Propose Tags ]

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

[Skip to Readme]
Versions [faq] 0.0.0, 0.1.0, 0.1.1, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.5, 0.4.0,,, 0.4.1,, 0.5,, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5,, 1.1.6, 1.1.7,, 1.3, 1.3.1, 1.3.2, 1.4, 1.5.1,,, 1.5.2,, 2, 2.1, 2.1.1,, 2.1.2, 2.1.3, 2.1.4
Change log CHANGELOG.markdown
Dependencies base (>=2 && <5), tagged (>=0.4.4 && <1) [details]
License BSD-3-Clause
Copyright 2009-2013 Edward A. Kmett, 2012 Elliott Hird, 2004 Oleg Kiselyov and Chung-chieh Shan
Author Edward A. Kmett, Elliott Hird, Oleg Kiselyov and Chung-chieh Shan
Maintainer Edward A. Kmett <>
Category Data, Reflection, Dependent Types
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by EdwardKmett at Thu Mar 28 17:53:56 UTC 2013
Distributions Arch:2.1.4, Debian:2.1.4, Fedora:2.1.4, FreeBSD:2, LTSHaskell:2.1.4, NixOS:2.1.4, Stackage:2.1.4, openSUSE:2.1.4
Downloads 157162 total (829 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]





Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for reflection-

[back to package description]


Build Status

This package provides an implementation of the ideas presented in Functional Pearl: Implicit Configurations by Oleg Kiselyov and Chung-Chieh Shan. However, the API has been implemented in a much more efficient manner.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett