clash-lib-0.99.3: CAES Language for Synchronous Hardware - As a Library

Copyright(C) 2017 Google Inc.
LicenseBSD2 (see the file LICENSE)
MaintainerChristiaan Baaij <christiaan.baaij@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Clash.Core.Name

Description

Names

Synopsis

Documentation

data NameSort Source #

Constructors

User 
System 
Internal 
Instances
Eq NameSort Source # 
Instance details
Ord NameSort Source # 
Instance details
Show NameSort Source # 
Instance details
Generic NameSort Source # 
Instance details

Associated Types

type Rep NameSort :: * -> * #

Methods

from :: NameSort -> Rep NameSort x #

to :: Rep NameSort x -> NameSort #

Hashable NameSort Source # 
Instance details

Methods

hashWithSalt :: Int -> NameSort -> Int #

hash :: NameSort -> Int #

NFData NameSort Source # 
Instance details

Methods

rnf :: NameSort -> () #

Alpha NameSort Source # 
Instance details
type Rep NameSort Source # 
Instance details
type Rep NameSort = D1 (MetaData "NameSort" "Clash.Core.Name" "clash-lib-0.99.3-inplace" False) (C1 (MetaCons "User" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "System" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Internal" PrefixI False) (U1 :: * -> *)))

type OccName a = Name a Source #

data Name a Source #

Constructors

Name 
Instances
Subst b (Name a) Source # 
Instance details

Methods

isvar :: Name a -> Maybe (SubstName (Name a) b) #

isCoerceVar :: Name a -> Maybe (SubstCoerce (Name a) b) #

subst :: Name0 b -> b -> Name a -> Name a #

substs :: [(Name0 b, b)] -> Name a -> Name a #

Eq (Name a) Source # 
Instance details

Methods

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

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

Ord (Name a) Source # 
Instance details

Methods

compare :: Name a -> Name a -> Ordering #

(<) :: Name a -> Name a -> Bool #

(<=) :: Name a -> Name a -> Bool #

(>) :: Name a -> Name a -> Bool #

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

max :: Name a -> Name a -> Name a #

min :: Name a -> Name a -> Name a #

Show (Name a) Source # 
Instance details

Methods

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

show :: Name a -> String #

showList :: [Name a] -> ShowS #

Generic (Name a) Source # 
Instance details

Associated Types

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

Methods

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

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

Hashable (Name a) Source # 
Instance details

Methods

hashWithSalt :: Int -> Name a -> Int #

hash :: Name a -> Int #

NFData (Name a) Source # 
Instance details

Methods

rnf :: Name a -> () #

Typeable a => Alpha (Name a) Source # 
Instance details

Methods

aeq' :: AlphaCtx -> Name a -> Name a -> Bool #

fvAny' :: (Contravariant f, Applicative f) => AlphaCtx -> (AnyName -> f AnyName) -> Name a -> f (Name a) #

close :: AlphaCtx -> NamePatFind -> Name a -> Name a #

open :: AlphaCtx -> NthPatFind -> Name a -> Name a #

isPat :: Name a -> DisjointSet AnyName #

isTerm :: Name a -> All #

isEmbed :: Name a -> Bool #

nthPatFind :: Name a -> NthPatFind #

namePatFind :: Name a -> NamePatFind #

swaps' :: AlphaCtx -> Perm AnyName -> Name a -> Name a #

lfreshen' :: LFresh m => AlphaCtx -> Name a -> (Name a -> Perm AnyName -> m b) -> m b #

freshen' :: Fresh m => AlphaCtx -> Name a -> m (Name a, Perm AnyName) #

acompare' :: AlphaCtx -> Name a -> Name a -> Ordering #

Pretty (Name a) Source # 
Instance details

Methods

ppr :: LFresh m => Name a -> m Doc Source #

pprPrec :: LFresh m => Rational -> Name a -> m Doc Source #

type Rep (Name a) Source # 
Instance details

noSrcSpan :: SrcSpan #

Built-in "bad" SrcSpans for common sources of location uncertainty