cryptol-2.5.0: Cryptol: The Language of Cryptography

Copyright(c) 2013-2016 Galois Inc.
LicenseBSD3
Maintainercryptol@galois.com
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Cryptol.Parser.Position

Description

 

Synopsis

Documentation

data Located a Source #

Constructors

Located 

Fields

Instances

Functor Located Source # 

Methods

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

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

Eq a => Eq (Located a) Source # 

Methods

(==) :: Located a -> Located a -> Bool #

(/=) :: Located a -> Located a -> Bool #

Show a => Show (Located a) Source # 

Methods

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

show :: Located a -> String #

showList :: [Located a] -> ShowS #

Generic (Located a) Source # 

Associated Types

type Rep (Located a) :: * -> * #

Methods

from :: Located a -> Rep (Located a) x #

to :: Rep (Located a) x -> Located a #

NFData a => NFData (Located a) Source # 

Methods

rnf :: Located a -> () #

PPName a => PPName (Located a) Source # 
PP a => PP (Located a) Source # 

Methods

ppPrec :: Int -> Located a -> Doc Source #

AddLoc (Located a) Source # 
HasLoc (Located a) Source # 

Methods

getLoc :: Located a -> Maybe Range Source #

NoPos (Located t) Source # 

Methods

noPos :: Located t -> Located t Source #

type Rep (Located a) Source # 
type Rep (Located a) = D1 (MetaData "Located" "Cryptol.Parser.Position" "cryptol-2.5.0-62ntwDPh16AFY461fF3rK" False) (C1 (MetaCons "Located" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "srcRange") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Range)) (S1 (MetaSel (Just Symbol "thing") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a))))

data Position Source #

Constructors

Position 

Fields

Instances

data Range Source #

Constructors

Range 

Fields

Instances

Eq Range Source # 

Methods

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

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

Show Range Source # 

Methods

showsPrec :: Int -> Range -> ShowS #

show :: Range -> String #

showList :: [Range] -> ShowS #

Generic Range Source # 

Associated Types

type Rep Range :: * -> * #

Methods

from :: Range -> Rep Range x #

to :: Rep Range x -> Range #

NFData Range Source # 

Methods

rnf :: Range -> () #

PP Range Source # 

Methods

ppPrec :: Int -> Range -> Doc Source #

HasLoc Range Source # 
type Rep Range Source # 

emptyRange :: Range Source #

An empty range.

Caution: using this on the LHS of a use of rComb will cause the empty source to propegate.

class HasLoc t where Source #

Minimal complete definition

getLoc

Methods

getLoc :: t -> Maybe Range Source #

Instances

HasLoc Range Source # 
HasLoc a => HasLoc [a] Source # 

Methods

getLoc :: [a] -> Maybe Range Source #

HasLoc (Located a) Source # 

Methods

getLoc :: Located a -> Maybe Range Source #

HasLoc (Prop name) Source # 

Methods

getLoc :: Prop name -> Maybe Range Source #

HasLoc (Type name) Source # 

Methods

getLoc :: Type name -> Maybe Range Source #

HasLoc (TParam name) Source # 

Methods

getLoc :: TParam name -> Maybe Range Source #

HasLoc (Schema name) Source # 

Methods

getLoc :: Schema name -> Maybe Range Source #

HasLoc a => HasLoc (Named a) Source # 

Methods

getLoc :: Named a -> Maybe Range Source #

HasLoc (Pattern name) Source # 

Methods

getLoc :: Pattern name -> Maybe Range Source #

HasLoc (Match name) Source # 

Methods

getLoc :: Match name -> Maybe Range Source #

HasLoc (Expr name) Source # 

Methods

getLoc :: Expr name -> Maybe Range Source #

HasLoc a => HasLoc (TopLevel a) Source # 
HasLoc (Newtype name) Source # 

Methods

getLoc :: Newtype name -> Maybe Range Source #

HasLoc (Bind name) Source # 

Methods

getLoc :: Bind name -> Maybe Range Source #

HasLoc (Decl name) Source # 

Methods

getLoc :: Decl name -> Maybe Range Source #

HasLoc (TopDecl name) Source # 

Methods

getLoc :: TopDecl name -> Maybe Range Source #

HasLoc (Module name) Source # 

Methods

getLoc :: Module name -> Maybe Range Source #

(HasLoc a, HasLoc b) => HasLoc (a, b) Source # 

Methods

getLoc :: (a, b) -> Maybe Range Source #

class HasLoc t => AddLoc t where Source #

Minimal complete definition

addLoc, dropLoc

Methods

addLoc :: t -> Range -> t Source #

dropLoc :: t -> t Source #

Instances

AddLoc (Located a) Source # 
AddLoc (Prop name) Source # 

Methods

addLoc :: Prop name -> Range -> Prop name Source #

dropLoc :: Prop name -> Prop name Source #

AddLoc (Type name) Source # 

Methods

addLoc :: Type name -> Range -> Type name Source #

dropLoc :: Type name -> Type name Source #

AddLoc (TParam name) Source # 

Methods

addLoc :: TParam name -> Range -> TParam name Source #

dropLoc :: TParam name -> TParam name Source #

AddLoc (Schema name) Source # 

Methods

addLoc :: Schema name -> Range -> Schema name Source #

dropLoc :: Schema name -> Schema name Source #

AddLoc (Pattern name) Source # 

Methods

addLoc :: Pattern name -> Range -> Pattern name Source #

dropLoc :: Pattern name -> Pattern name Source #

AddLoc (Expr n) Source # 

Methods

addLoc :: Expr n -> Range -> Expr n Source #

dropLoc :: Expr n -> Expr n Source #

AddLoc (Decl name) Source # 

Methods

addLoc :: Decl name -> Range -> Decl name Source #

dropLoc :: Decl name -> Decl name Source #

at :: (HasLoc l, AddLoc t) => l -> t -> t Source #