Copyright | (C) 2017 Google Inc. |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
Safe Haskell | None |
Language | Haskell2010 |
Names
Synopsis
- data NameSort
- type OccName a = Name a
- data Name a = Name {}
- name2String :: Name a -> String
- name2Integer :: Name a -> Integer
- string2OccName :: String -> OccName a
- string2SystemName :: String -> Name a
- string2InternalName :: String -> Name a
- makeOccName :: String -> Integer -> OccName a
- makeSystemName :: String -> Integer -> Name a
- coerceName :: Name a -> Name b
- appendToName :: Name a -> String -> Name a
- noSrcSpan :: SrcSpan
Documentation
Instances
Eq NameSort Source # | |
Ord NameSort Source # | |
Defined in Clash.Core.Name | |
Show NameSort Source # | |
Generic NameSort Source # | |
NFData NameSort Source # | |
Defined in Clash.Core.Name | |
Hashable NameSort Source # | |
Defined in Clash.Core.Name | |
Alpha NameSort Source # | |
Defined in Clash.Core.Name 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 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) | |
type Rep NameSort Source # | |
Instances
Subst b (Name a) Source # | |
Eq (Name a) Source # | |
Ord (Name a) Source # | |
Show (Name a) Source # | |
Generic (Name a) Source # | |
NFData (Name a) Source # | |
Defined in Clash.Core.Name | |
Hashable (Name a) Source # | |
Defined in Clash.Core.Name | |
Typeable a => Alpha (Name a) Source # | |
Defined in Clash.Core.Name 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 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) | |
Pretty (Name a) Source # | |
type Rep (Name a) Source # | |
Defined in Clash.Core.Name type Rep (Name a) = D1 (MetaData "Name" "Clash.Core.Name" "clash-lib-0.99.2-inplace" 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)))) |
name2String :: Name a -> String Source #
name2Integer :: Name a -> Integer Source #
string2OccName :: String -> OccName a Source #
string2SystemName :: String -> Name a Source #
string2InternalName :: String -> Name a Source #
coerceName :: Name a -> Name b Source #