| Copyright | (C) 2017 Google Inc. |
|---|---|
| License | BSD2 (see the file LICENSE) |
| Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
| Safe Haskell | None |
| Language | Haskell2010 |
Clash.Core.Name
Description
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 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 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 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 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 #