true-name

Template Haskell hack to violate module abstractions

https://github.com/liyang/true-name

Version on this page:0.1.0.2
LTS Haskell 14.27:0.1.0.3@rev:1
Stackage Nightly 2019-09-21:0.1.0.3@rev:1
Latest on Hackage:0.1.0.3@rev:2

See all snapshots true-name appears in

BSD-3-Clause licensed by Liyang HU
Maintained by [email protected]
This version can be pinned in stack with:true-name-0.1.0.2@sha256:27f1125bd0c42c8ffe25e4b816e12818178bca66a3653595d873f358000e39e5,1684

Module documentation for 0.1.0.2

Knowing a true name gives one power over its owner.

A Template Haskell hack to get unexported Names―be they types, data constructors, record fields or class methods―a slightly less unsafe way to violate another module's abstractions than unsafeCoerce.

A few quick examples.

I'm too lazy to keep a changelog, but I do write detailed commit messages.