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

Portabilityportable
Stabilitystable
MaintainerNiklas Broberg, d00nibro@chalmers.se

Language.Haskell.Exts.Annotated

Contents

Description

An umbrella module for the various functionality of the package. Also provides some convenient functionality for dealing directly with source files.

Synopsis

Re-exported modules

Parsing of Haskell source files

parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))Source

Parse a source file on disk, using the default parse mode.

parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))Source

Parse a source file on disk, supplying a custom parse mode.

parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))Source

Parse a source file on disk, with an extra set of extensions to know about on top of what the file itself declares.

parseFileContents :: String -> ParseResult (Module SrcSpanInfo)Source

Parse a source file from a string using the default parse mode.

parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)Source

Parse a source file from a string using a custom parse mode.

parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)Source

Parse a source file from a string, with an extra set of extensions to know about on top of what the file itself declares.

Parsing of Haskell source elements,

parseModule :: String -> ParseResult (Module SrcSpanInfo)Source

Parse of a string, which should contain a complete Haskell module.

parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)Source

Parse of a string containing a complete Haskell module, using an explicit mode.

parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])Source

Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.

parseExp :: String -> ParseResult (Exp SrcSpanInfo)Source

Parse of a string containing a Haskell expression.

parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo)Source

Parse of a string containing a Haskell expression, using an explicit mode.

parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment])Source

Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.

parseStmt :: String -> ParseResult (Stmt SrcSpanInfo)Source

Parse of a string containing a Haskell statement.

parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo)Source

Parse of a string containing a Haskell type, using an explicit mode.

parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment])Source

Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.

parsePat :: String -> ParseResult (Pat SrcSpanInfo)Source

Parse of a string containing a Haskell pattern.

parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo)Source

Parse of a string containing a Haskell pattern, using an explicit mode.

parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment])Source

Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.

parseDecl :: String -> ParseResult (Decl SrcSpanInfo)Source

Parse of a string containing a Haskell top-level declaration.

parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo)Source

Parse of a string containing a Haskell top-level declaration, using an explicit mode.

parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment])Source

Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.

parseType :: String -> ParseResult (Type SrcSpanInfo)Source

Parse of a string containing a Haskell type.

parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo)Source

Parse of a string containing a Haskell type, using an explicit mode.

parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment])Source

Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.

Read extensions declared in LANGUAGE pragmas

readExtensions :: String -> Maybe [Extension]Source

Gather the extensions declared in LANGUAGE pragmas at the top of the file. Returns Nothing if the parse of the pragmas fails.