haskell-src-1.0.3.0: Support for manipulating Haskell source code

Copyright | (c) Simon Marlow Sven Panne 1997-2000
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | libraries@haskell.org
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell98

Language.Haskell.Parser

Description

Haskell parser.

Synopsis

- parseModule :: String -> ParseResult HsModule
- parseModuleWithMode :: ParseMode -> String -> ParseResult HsModule
- data ParseMode = ParseMode {
  - parseFilename :: String
  }
- defaultParseMode :: ParseMode
- data ParseResult a
  - = ParseOk a
  - | ParseFailed SrcLoc String

# Documentation

parseModule :: String -> ParseResult HsModule #

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

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

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

data ParseMode #

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

Constructors

ParseMode |
Fields parseFilename :: String original name of the file being parsed

defaultParseMode :: ParseMode #

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

data ParseResult a #

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

Monad ParseResult # |
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 # fail :: String -> ParseResult a #
Functor ParseResult # |
Instance details Defined in Language.Haskell.ParseMonad Methods fmap :: (a -> b) -> ParseResult a -> ParseResult b # (<$) :: a -> ParseResult b -> ParseResult a #
Applicative ParseResult # |
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 #
Show a => Show (ParseResult a) # |
Instance details Defined in Language.Haskell.ParseMonad Methods showsPrec :: Int -> ParseResult a -> ShowS # show :: ParseResult a -> String # showList :: [ParseResult a] -> ShowS #
Monoid m => Semigroup (ParseResult m) # | Since: haskell-src-1.0.3.0
Instance details Defined in Language.Haskell.ParseMonad Methods (<>) :: ParseResult m -> ParseResult m -> ParseResult m # sconcat :: NonEmpty (ParseResult m) -> ParseResult m # stimes :: Integral b => b -> ParseResult m -> ParseResult m #
Monoid m => Monoid (ParseResult m) # |
Instance details Defined in Language.Haskell.ParseMonad Methods mempty :: ParseResult m # mappend :: ParseResult m -> ParseResult m -> ParseResult m # mconcat :: [ParseResult m] -> ParseResult m #