clash-lib-0.99.1: 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 #

NFData NameSort Source # 
Instance details

Methods

rnf :: NameSort -> () #

Hashable NameSort Source # 
Instance details
Alpha NameSort Source # 
Instance details

Methods

aeq' :: AlphaCtx -> NameSort -> NameSort -> Bool

fvAny' :: (Contravariant f, Applicative f) => AlphaCtx -> (AnyName -> f AnyName) -> NameSort -> f NameSort

close :: AlphaCtx -> NamePatFind -> NameSort -> NameSort

open :: AlphaCtx -> NthPatFind -> NameSort -> NameSort

isPat :: NameSort -> DisjointSet AnyName

isTerm :: NameSort -> All

isEmbed :: NameSort -> Bool

nthPatFind :: NameSort -> NthPatFind

namePatFind :: NameSort -> NamePatFind

swaps' :: AlphaCtx -> Perm AnyName -> NameSort -> NameSort

lfreshen' :: LFresh m => AlphaCtx -> NameSort -> (NameSort -> Perm AnyName -> m b) -> m b

freshen' :: Fresh m => AlphaCtx -> NameSort -> m (NameSort, Perm AnyName)

acompare' :: AlphaCtx -> NameSort -> NameSort -> Ordering

type Rep NameSort Source # 
Instance details
type Rep NameSort = D1 (MetaData "NameSort" "Clash.Core.Name" "clash-lib-0.99.1-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 #

NFData (Name a) Source # 
Instance details

Methods

rnf :: Name a -> () #

Hashable (Name a) Source # 
Instance details

Methods

hashWithSalt :: Int -> Name a -> Int

hash :: Name a -> Int

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