#14296: Add `Lift Exp` instance to `Language.Haskell.TH.Syntax` -------------------------------------+------------------------------------- Reporter: heisenbug | Owner: (none) Type: feature request | Status: closed Priority: normal | Milestone: Component: Template Haskell | Version: 8.2.1 Resolution: duplicate | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Poor/confusing | Unknown/Multiple error message | Test Case: Blocked By: | Blocking: Related Tickets: #14030 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"626f0454ef1ca8f40c38064197dba97a36d52dbb/ghc" 626f045/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="626f0454ef1ca8f40c38064197dba97a36d52dbb" 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 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14296#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler