haskell-src-exts-1.13.1: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer

Portabilityportable
Stabilitytransient
MaintainerNiklas Broberg, d00nibro@chalmers.se
Safe HaskellSafe-Infered

Language.Haskell.Exts.Extension

Contents

Description

This entire module should be replaced with Language.Haskell.Extension from cabal, but we must wait for a release of cabal that includes the XmlSyntax and RegularPatterns extensions.

Synopsis

Extensions

data Extension Source

This datatype is a copy of the one in Cabal's Language.Haskell.Extension module. The intention is to eventually import it from Cabal, but we need to wait for the next release of Cabal which includes XmlSyntax and RegularPatterns.

classifyExtension :: String -> ExtensionSource

A clever version of read that returns an UnknownExtension if the string is not recognised.

impliesExts :: [Extension] -> [Extension]Source

Certain extensions imply other extensions, and this function makes the implication explicit. This also handles deprecated extensions, which imply their replacements. The returned valued is the transitive closure of implied extensions.

Extension groups

glasgowExts :: [Extension]Source

The list of extensions enabled by GHC's portmanteau -fglasgow-exts flag.

knownExtensions :: [Extension]Source

List of all known extensions. Poor man's Enum instance (we can't enum with the UnknownExtension constructor).