MIT licensed by Bertram Felgenhauer
Maintained by Bertram Felgenhauer
This version can be pinned in stack with:haskell-src-exts-simple-1.23.0.0@sha256:39c33878a46f43f3fe98399e9ff6385587aff3a174afbd2fc0d7684fd7215d6a,1524
Used by 1 package in nightly-2024-11-10(full list with versions):

haskell-src-exts-simple

Synopsis

This package provides a shim for haskell-src-exts, exposing the same AST but without annotations, using ghc’s pattern synonyms.

This package is useful for synthesizing and manipulating HSE ASTs that don’t carry source location information. It may also aid in porting packages from haskell-src-exts 1.17 to 1.18, but it is not a drop-in replacement for the old annotation-free AST. See the Compatibility section for details.

Versioning

To be able to track the haskell-src-exts version numbers conveniently, the first three components of the version will be treated as the major version, followed by the minor version as usual. This deviates from the PVP.

Compatibility

Since version 1.18, haskell-src-exts-simple has followed the changes in haskell-src-exts, without any attempt to keep backward compatibility.

Comparison to haskell-src-exts 1.17 (as of version 1.18):

haskell-src-exts-simple provides a simplified view of the annotated AST in haskell-src-exts, so there are differences to the unannotated AST provided by earlier versions of haskell-src-exts:

  • some constructors carried SrcLoc information, which is no longer available, notably
    • most constructors of the Decl, ModulePragma, ImportDecl, IPBind, ClassDecl, InstDecl, QualConDecl, GadtDecl datatypes
    • the Lambda, ExpTypeSig and Proc constructors of the Exp type (and a few XML related ones)
    • the Generator constructor of Stmt
    • the Alt constructor of Alt
    • the PatTypeSig constructor of Pat
  • the second, fourth and fifth fields of the Module constructor have been combined into a single field of type ModuleHead

(this list is probably incomplete)

ghc compatibility

  • haskell-src-exts-simple requires ghc-8.0 or later

Changes

Revision history for haskell-src-exts-simple

1.23.0.0 — 2020-03-13

  • support haskell-src-exts 1.23.0

1.22.0.0 — 2019-11-05

  • support haskell-src-exts 1.22.0
  • clean up mentions of ghc < 8

1.21.1.0 — 2019-09-13

  • support haskell-src-exts 1.21.1
  • require base >= 4.9 (and, consequently, ghc >= 8)

1.21.0.0 — 2019-04-27

  • support haskell-src-exts 1.21.0

1.20.0.0 — 2017-12-26

  • support haskell-src-exts 1.20.0

1.19.0.0 — 2016-11-20

  • support haskell-src-exts 1.19.0
  • implement Language.Haskell.Exts.Simple.Syntax.ImportDecl as a record pattern synonym for ghc-8.0

1.18.0.1.1 — 2016-08-05

  • package description should now look fine on hackage

1.18.0.1 — 2016-08-02

  • ghc-7.8 compatibility (see COMPATIBILITY.md for caveats)

1.18.0 — 2016-07-31

  • Initial release.