homepage: ''
changelog-type: markdown
hash: 939f97811bbcf12f0e19203b1a370755781fbe3ecfa563a267ebfb0feb37100a
test-bench-deps:
  ghc: -any
  bytestring: -any
  base: -any
  hspec: -any
  ghc-boot: -any
  ghc-hs-meta: -any
  template-haskell: -any
maintainer: zac.wood@hey.com
synopsis: Translate Haskell source to Template Haskell expression
changelog: |-
  # 0.1.0.0

  Initial release.
basic-deps:
  ghc: '>=8.10.7 && <9.3'
  bytestring: '>=0.10 && <0.12'
  base: '>=4.14 && <4.17'
  ghc-boot: '>=8.10.7 && <9.3'
  template-haskell: '>=2.16.0 && <2.19'
all-versions:
- 0.1.0.0
author: Zachary Wood
latest: 0.1.0.0
description-type: markdown
description: |
  # ghc-hs-meta

  Generate Template Haskell expressions from Haskell source code using the GHC parser.
  This package runs on GHC versions 8.10.7, 9.0.2, and 9.2.1.

  ## Usage

  Pass a String containing Haskell source code to `parseExp`.
  Example from the tests:

  ```haskell
  case parseExp "a @b" of
      Right exp -> exp `shouldBe` TH.AppTypeE (TH.VarE (TH.mkName "a")) (TH.VarT (TH.mkName "b"))
      Left (_, _, errMsg) -> error errMsg
  ```

  See Hackage documentation for more documentation.

  ## Thank you, PyF

  This code originated from the excellent parser included in the [`PyF`](https://github.com/guibou/PyF) package.
  I extracted the relevant code and refactored/renamed things to be usable in a more general context.
  Without PyF, this could wouldn't have been possible. Thank you!

  The original license for PyF can be found in the `LICENSE-PyF` file included in this repository.
license-name: BSD-3-Clause

Update from Hackage at 2022-02-05T18:58:06Z
Update from Hackage at 2022-02-05T18:58:06Z
