haskell-src-1.0.4: Support for manipulating Haskell source code
Copyright(c) Simon Marlow Sven Panne 1997-2000
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilitystable
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell98

Language.Haskell.Parser

Description

Haskell parser.

Synopsis

Documentation

parseModule :: String -> ParseResult HsModule Source #

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

parseModuleWithMode :: ParseMode -> String -> ParseResult HsModule Source #

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

data ParseMode Source #

Static parameters governing a parse. More to come later, e.g. literate mode, language extensions.

Constructors

ParseMode 

Fields

defaultParseMode :: ParseMode Source #

Default parameters for a parse, currently just a marker for an unknown filename.

data ParseResult a Source #

The result of a parse.

Constructors

ParseOk a

The parse succeeded, yielding a value.

ParseFailed SrcLoc String

The parse failed at the specified source location, with an error message.

Instances

Instances details
Applicative ParseResult Source # 
Instance details

Defined in Language.Haskell.ParseMonad

Methods

pure :: a -> ParseResult a #

(<*>) :: ParseResult (a -> b) -> ParseResult a -> ParseResult b #

liftA2 :: (a -> b -> c) -> ParseResult a -> ParseResult b -> ParseResult c #

(*>) :: ParseResult a -> ParseResult b -> ParseResult b #

(<*) :: ParseResult a -> ParseResult b -> ParseResult a #

Functor ParseResult Source # 
Instance details

Defined in Language.Haskell.ParseMonad

Methods

fmap :: (a -> b) -> ParseResult a -> ParseResult b #

(<$) :: a -> ParseResult b -> ParseResult a #

Monad ParseResult Source # 
Instance details

Defined in Language.Haskell.ParseMonad

Methods

(>>=) :: ParseResult a -> (a -> ParseResult b) -> ParseResult b #

(>>) :: ParseResult a -> ParseResult b -> ParseResult b #

return :: a -> ParseResult a #

Monoid m => Monoid (ParseResult m) Source # 
Instance details

Defined in Language.Haskell.ParseMonad

Monoid m => Semigroup (ParseResult m) Source #

Since: 1.0.3.0

Instance details

Defined in Language.Haskell.ParseMonad

Show a => Show (ParseResult a) Source # 
Instance details

Defined in Language.Haskell.ParseMonad