Document a law for TH's Lift class
authorRyan Scott <ryan.gl.scott@gmail.com>
Sat, 30 Sep 2017 03:32:41 +0000 (23:32 -0400)
committerBen Gamari <ben@smart-cactus.org>
Sat, 30 Sep 2017 13:30:09 +0000 (09:30 -0400)
commit626f0454ef1ca8f40c38064197dba97a36d52dbb
tree66bdedc950adacd4651d7f70f995e29b400a79ac
parent9c05fc4c31edde34a68317b45fdd71510d868f60
Document a law for TH's Lift class

Inspired by the discussion in #14296, I've decided to
document a law which is usually in the back of my mind when I'm using
Template Haskell's `Lift` class, but isn't formally stated anywhere.
That is, every `Lift` instance should satisfy (for all `x`):

```lang=haskell
$(lift x) == x
```

Test Plan: Read it

Reviewers: austin, goldfire, bgamari

Subscribers: rwbarton, thomie

Differential Revision: https://phabricator.haskell.org/D4050
libraries/template-haskell/Language/Haskell/TH/Syntax.hs