cryptol-3.2.0: Cryptol: The Language of Cryptography
Copyright(c) 2015-2016 Galois Inc.
LicenseBSD3
Maintainercryptol@galois.com
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Cryptol.Parser.Name

Description

 
Synopsis

Documentation

data PName Source #

Names that originate in the parser.

Constructors

UnQual !Ident

Unqualified names like x, Foo, or +.

Qual !ModName !Ident

Qualified names like Foo::bar or module::!.

NewName !Pass !Int

Fresh names generated by a pass.

Instances

Instances details
Generic PName Source # 
Instance details

Defined in Cryptol.Parser.Name

Associated Types

type Rep PName :: Type -> Type #

Methods

from :: PName -> Rep PName x #

to :: Rep PName x -> PName #

Show PName Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

showsPrec :: Int -> PName -> ShowS #

show :: PName -> String #

showList :: [PName] -> ShowS #

PP PName Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

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

PPName PName Source # 
Instance details

Defined in Cryptol.Parser.Name

NFData PName Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

rnf :: PName -> () #

Eq PName Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

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

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

Ord PName Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

compare :: PName -> PName -> Ordering #

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

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

(>) :: PName -> PName -> Bool #

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

max :: PName -> PName -> PName #

min :: PName -> PName -> PName #

BindsNames (InModule (Bind PName)) Source #

Introduce the name

Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (Bind PName) -> BuildNamingEnv

BindsNames (InModule (Decl PName)) Source #

The naming environment for a single declaration.

Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (Decl PName) -> BuildNamingEnv

BindsNames (InModule (EnumDecl PName)) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (EnumDecl PName) -> BuildNamingEnv

BindsNames (InModule (NestedModule PName)) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (NestedModule PName) -> BuildNamingEnv

BindsNames (InModule (Newtype PName)) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (Newtype PName) -> BuildNamingEnv

BindsNames (InModule (ParameterFun PName)) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (ParameterFun PName) -> BuildNamingEnv

BindsNames (InModule (ParameterType PName)) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (ParameterType PName) -> BuildNamingEnv

BindsNames (InModule (PrimType PName)) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (PrimType PName) -> BuildNamingEnv

BindsNames (InModule (SigDecl PName)) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (SigDecl PName) -> BuildNamingEnv

BindsNames (InModule (TopDecl PName)) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: InModule (TopDecl PName) -> BuildNamingEnv

BindsNames (Pattern PName) Source # 
Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: Pattern PName -> BuildNamingEnv

BindsNames (Schema PName) Source #

Generate a type renaming environment from the parameters that are bound by this schema.

Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: Schema PName -> BuildNamingEnv

BindsNames (TParam PName) Source #

Generate the naming environment for a type parameter.

Instance details

Defined in Cryptol.ModuleSystem.Binds

Methods

namingEnv :: TParam PName -> BuildNamingEnv

RemovePatterns (Expr PName) Source # 
Instance details

Defined in Cryptol.Parser.NoPat

RemovePatterns (NestedModule PName) Source # 
Instance details

Defined in Cryptol.Parser.NoPat

RemovePatterns (Program PName) Source # 
Instance details

Defined in Cryptol.Parser.NoPat

RemovePatterns [Decl PName] Source # 
Instance details

Defined in Cryptol.Parser.NoPat

RemovePatterns (ModuleG mname PName) Source # 
Instance details

Defined in Cryptol.Parser.NoPat

Methods

removePatterns :: ModuleG mname PName -> (ModuleG mname PName, [Error]) Source #

type Rep PName Source # 
Instance details

Defined in Cryptol.Parser.Name

data Pass Source #

Passes that can generate fresh names.

Instances

Instances details
Generic Pass Source # 
Instance details

Defined in Cryptol.Parser.Name

Associated Types

type Rep Pass :: Type -> Type #

Methods

from :: Pass -> Rep Pass x #

to :: Rep Pass x -> Pass #

Show Pass Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

showsPrec :: Int -> Pass -> ShowS #

show :: Pass -> String #

showList :: [Pass] -> ShowS #

NFData Pass Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

rnf :: Pass -> () #

Eq Pass Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

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

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

Ord Pass Source # 
Instance details

Defined in Cryptol.Parser.Name

Methods

compare :: Pass -> Pass -> Ordering #

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

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

(>) :: Pass -> Pass -> Bool #

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

max :: Pass -> Pass -> Pass #

min :: Pass -> Pass -> Pass #

type Rep Pass Source # 
Instance details

Defined in Cryptol.Parser.Name

type Rep Pass = D1 ('MetaData "Pass" "Cryptol.Parser.Name" "cryptol-3.2.0-35bDsq0QUVdvBXha47jji" 'False) (C1 ('MetaCons "NoPat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MonoValues" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExpandPropGuards" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

origNameToDefPName :: OrigName -> PName Source #

Compute a PName for the definition site corresponding to the given OrigName. Usually this is an unqualified name, but names that come from module parameters are qualified with the corresponding parameter name.