smith-0.1.1.0: Parse arrays of tokens

Safe HaskellNone
LanguageHaskell2010

Data.Parser.Unsafe

Contents

Description

Everything in this module is unsafe and can lead to nondeterministic output or segfaults if used incorrectly.

Synopsis

Types

newtype Parser :: Type -> Type -> Type -> Type -> Type where Source #

A non-resumable toke parser.

Constructors

Parser 

Fields

  • :: { runParser :: SmallVector# a -> ST# s (Result# e b)
     
  •    } -> Parser a e s b
     
Instances
Monad (Parser a e s) Source # 
Instance details

Defined in Data.Parser.Unsafe

Methods

(>>=) :: Parser a e s a0 -> (a0 -> Parser a e s b) -> Parser a e s b #

(>>) :: Parser a e s a0 -> Parser a e s b -> Parser a e s b #

return :: a0 -> Parser a e s a0 #

fail :: String -> Parser a e s a0 #

Functor (Parser a e s) Source # 
Instance details

Defined in Data.Parser.Unsafe

Methods

fmap :: (a0 -> b) -> Parser a e s a0 -> Parser a e s b #

(<$) :: a0 -> Parser a e s b -> Parser a e s a0 #

Applicative (Parser a e s) Source # 
Instance details

Defined in Data.Parser.Unsafe

Methods

pure :: a0 -> Parser a e s a0 #

(<*>) :: Parser a e s (a0 -> b) -> Parser a e s a0 -> Parser a e s b #

liftA2 :: (a0 -> b -> c) -> Parser a e s a0 -> Parser a e s b -> Parser a e s c #

(*>) :: Parser a e s a0 -> Parser a e s b -> Parser a e s b #

(<*) :: Parser a e s a0 -> Parser a e s b -> Parser a e s a0 #

Functions

unconsume :: Int -> Parser a e s () Source #

Move the cursor back by n tokens. Precondition: you must have previously consumed at least n tokens.