parsley-core-2.3.0.0: A fast parser combinator library backed by Typed Template Haskell
LicenseBSD-3-Clause
MaintainerJamie Willis
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Parsley.Internal.Core.Identifiers

Description

This module defines "identifiers", which are used to uniquely identify different nodes in the combinator tree (and abstract machine).

Since: 1.0.0.0

Synopsis

Documentation

newtype MVar (a :: Type) Source #

An identifier representing let-bound parsers, recursion, and iteration.

Since: 0.1.0.0

Constructors

MVar IMVar 

Instances

Instances details
GCompare MVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

gcompare :: forall (a :: k) (b :: k). MVar a -> MVar b -> GOrdering a b #

GEq MVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

geq :: forall (a :: k) (b :: k). MVar a -> MVar b -> Maybe (a :~: b) #

Show (MVar a) Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

showsPrec :: Int -> MVar a -> ShowS #

show :: MVar a -> String #

showList :: [MVar a] -> ShowS #

data IMVar Source #

Underlying untyped identifier, which is numeric but otherwise opaque.

Since: 0.1.0.0

Instances

Instances details
Enum IMVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Ix IMVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Num IMVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Show IMVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

showsPrec :: Int -> IMVar -> ShowS #

show :: IMVar -> String #

showList :: [IMVar] -> ShowS #

Eq IMVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

(==) :: IMVar -> IMVar -> Bool #

(/=) :: IMVar -> IMVar -> Bool #

Ord IMVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

compare :: IMVar -> IMVar -> Ordering #

(<) :: IMVar -> IMVar -> Bool #

(<=) :: IMVar -> IMVar -> Bool #

(>) :: IMVar -> IMVar -> Bool #

(>=) :: IMVar -> IMVar -> Bool #

max :: IMVar -> IMVar -> IMVar #

min :: IMVar -> IMVar -> IMVar #

newtype ΣVar (a :: Type) Source #

An identifier representing concrete registers and mutable state.

Since: 0.1.0.0

Constructors

ΣVar IΣVar 

Instances

Instances details
GCompare ΣVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

gcompare :: forall (a :: k) (b :: k). ΣVar a -> ΣVar b -> GOrdering a b #

GEq ΣVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

geq :: forall (a :: k) (b :: k). ΣVar a -> ΣVar b -> Maybe (a :~: b) #

Show (ΣVar a) Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

showsPrec :: Int -> ΣVar a -> ShowS #

show :: ΣVar a -> String #

showList :: [ΣVar a] -> ShowS #

data IΣVar Source #

Underlying untyped identifier, which is numeric but otherwise opaque.

Since: 0.1.0.0

Instances

Instances details
Enum IΣVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Ix IΣVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Num IΣVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Show IΣVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Eq IΣVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

Methods

(==) :: IΣVar -> IΣVar -> Bool #

(/=) :: IΣVar -> IΣVar -> Bool #

Ord IΣVar Source # 
Instance details

Defined in Parsley.Internal.Core.Identifiers

data SomeΣVar Source #

An identifier representing some concrete register, but where the type is existential.

Since: 0.1.0.0

Constructors

forall r. SomeΣVar (ΣVar r) 

getIΣVar :: SomeΣVar -> IΣVar Source #

Fetch the untyped identifier from under the existential.

Since: 0.1.0.0