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

Constructors

User 
System 
Internal 
Instances
Eq NameSort # 
Instance details

Defined in Clash.Core.Name

Ord NameSort # 
Instance details

Defined in Clash.Core.Name

Show NameSort # 
Instance details

Defined in Clash.Core.Name

Generic NameSort # 
Instance details

Defined in Clash.Core.Name

Associated Types

type Rep NameSort :: * -> * #

Methods

from :: NameSort -> Rep NameSort x #

to :: Rep NameSort x -> NameSort #

Hashable NameSort # 
Instance details

Defined in Clash.Core.Name

Methods

hashWithSalt :: Int -> NameSort -> Int #

hash :: NameSort -> Int #

NFData NameSort # 
Instance details

Defined in Clash.Core.Name

Methods

rnf :: NameSort -> () #

Alpha NameSort # 
Instance details

Defined in Clash.Core.Name

type Rep NameSort # 
Instance details

Defined in Clash.Core.Name

type Rep NameSort = D1 (MetaData "NameSort" "Clash.Core.Name" "clash-lib-0.99.2-HeLjqoT5HYQAP3RHiuY9iz" False) (C1 (MetaCons "User" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "System" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "Internal" PrefixI False) (U1 :: * -> *)))

type OccName a = Name a #

data Name a #

Constructors

Name 
Instances
Subst b (Name a) # 
Instance details

Defined in Clash.Core.Name

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) # 
Instance details

Defined in Clash.Core.Name

Methods

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

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

Ord (Name a) # 
Instance details

Defined in Clash.Core.Name

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) # 
Instance details

Defined in Clash.Core.Name

Methods

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

show :: Name a -> String #

showList :: [Name a] -> ShowS #

Generic (Name a) # 
Instance details

Defined in Clash.Core.Name

Associated Types

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

Methods

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

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

Hashable (Name a) # 
Instance details

Defined in Clash.Core.Name

Methods

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

hash :: Name a -> Int #

NFData (Name a) # 
Instance details

Defined in Clash.Core.Name

Methods

rnf :: Name a -> () #

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

Defined in Clash.Core.Name

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) # 
Instance details

Defined in Clash.Core.Pretty

Methods

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

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

type Rep (Name a) # 
Instance details

Defined in Clash.Core.Name

type Rep (Name a) = D1 (MetaData "Name" "Clash.Core.Name" "clash-lib-0.99.2-HeLjqoT5HYQAP3RHiuY9iz" False) (C1 (MetaCons "Name" PrefixI True) (S1 (MetaSel (Just "nameSort") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 NameSort) :*: (S1 (MetaSel (Just "nameOcc") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (OccName a)) :*: S1 (MetaSel (Just "nameLoc") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 SrcSpan))))

coerceName :: Name a -> Name b #

noSrcSpan :: SrcSpan #

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