packages feed

ghc-dump-core-0.2.1.0: ghc-dump-core.cabal

cabal-version:       3.0
name:                ghc-dump-core
version:             0.2.1.0
synopsis:            An AST and compiler plugin for dumping GHC's Core representation.
description:
  @ghc-dump@ is a library, GHC plugin, and set of tools for recording and
  analysing GHC's Core representation. The plugin is compatible with GHC 7.10
  through 8.3, exporting a consistent (albeit somewhat lossy) representation
  across these versions. The AST is encoded as CBOR, which is small and easy to
  deserialise.
  .
  This package provides the AST and compiler plugin. See the @ghc-dump-util@
  package for a useful command-line tool for working with dumps produced by this
  plugin.
  .
  = Usage
  .
  "GhcDump.Plugin" provides a Core-to-Core plugin which dumps a representation
  of the Core AST to a file after every Core-to-Core pass. To use it, simply
  install this package and add @-fplugin GhcDump.Plugin@ to your GHC
  command-line. See the [README](https://github.com/bgamari/ghc-dump)
  for further analysis tips.

license:             BSD-3-Clause
license-file:        LICENSE
author:              Ben Gamari
maintainer:          ben@well-typed.com
copyright:           (c) 2017 Ben Gamari
category:            Development
tested-with:         GHC==7.10.3,
                     GHC==8.0.2,
                     GHC==8.2.2,
                     GHC==8.4.4,
                     GHC==8.6.5,
                     GHC==8.8.3,
                     GHC==8.10.4,
                     GHC==9.0.1,
                     GHC==9.2.1,
build-type:          Simple

source-repository head
  type: git
  location: https://github.com/bgamari/ghc-dump

library
  exposed-modules:     GhcDump.Convert, GhcDump.Ast, GhcDump.Plugin
  ghc-options:         -Wall
  other-extensions:    GeneralizedNewtypeDeriving
  build-depends:       base >=4.8 && <4.17,
                       bytestring >= 0.10,
                       text >=1.2 && <1.3,
                       filepath >= 1.4,
                       serialise >= 0.2 && <0.3,
                       ghc >= 7.10 && < 9.3,
                       directory < 1.4
  default-language:    Haskell2010
  if impl(ghc >= 8.0)
    ghc-options: -Wcompat
    if impl(ghc < 8.8)
      ghc-options:
        -Wnoncanonical-monad-instances
        -Wnoncanonical-monadfail-instances
  else
    -- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8
    build-depends: fail == 4.9.*, semigroups == 0.18.*