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

Copyright | (c) Niklas Broberg 2004-2009
License | BSD-style (see the file LICENSE.txt)
Maintainer | Niklas Broberg, d00nibro@chalmers.se
Stability | stable
Portability | portable
Safe Haskell | None
Language | Haskell98

Language.Haskell.Exts

Contents

- Re-exported modules
- Parsing of Haskell source files
- Read extensions declared in LANGUAGE pragmas

Description

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

Synopsis

- module Language.Haskell.Exts.Syntax
- module Language.Haskell.Exts.Build
- module Language.Haskell.Exts.Lexer
- module Language.Haskell.Exts.Pretty
- module Language.Haskell.Exts.Fixity
- module Language.Haskell.Exts.ExactPrint
- module Language.Haskell.Exts.SrcLoc
- module Language.Haskell.Exts.Comments
- module Language.Haskell.Exts.Extension
- module Language.Haskell.Exts.Parser
- parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))
- parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))
- parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))
- parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))
- parseFileWithCommentsAndPragmas :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma]))
- parseFileContents :: String -> ParseResult (Module SrcSpanInfo)
- parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)
- parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)
- parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])
- readExtensions :: String -> Maybe (Maybe Language, [Extension])

# Re-exported modules

module Language.Haskell.Exts.Syntax

module Language.Haskell.Exts.Build

module Language.Haskell.Exts.Lexer

module Language.Haskell.Exts.Pretty

module Language.Haskell.Exts.Fixity

module Language.Haskell.Exts.ExactPrint

module Language.Haskell.Exts.SrcLoc

module Language.Haskell.Exts.Comments

module Language.Haskell.Exts.Extension

module Language.Haskell.Exts.Parser

# Parsing of Haskell source files

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

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

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

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

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

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

parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment])) #

parseFileWithCommentsAndPragmas :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])) #

Parse a source file on disk, supplying a custom parse mode, and retaining comments as well as unknown pragmas.

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

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

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

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

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

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

parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment]) #

# Read extensions declared in LANGUAGE pragmas

readExtensions :: String -> Maybe (Maybe Language, [Extension]) #

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