| Copyright | (C) 2017 Google Inc. |
|---|---|
| License | BSD2 (see the file LICENSE) |
| Maintainer | Christiaan Baaij <christiaan.baaij@gmail.com> |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Clash.Core.Name
Description
Names
Synopsis
- data Name a = Name {}
- type OccName = Text
- data NameSort
- eqName :: Name a -> Name a -> Bool
- ordName :: Name a -> Name a -> Ordering
- mkUnsafeInternalName :: Text -> Unique -> Name a
- mkUnsafeSystemName :: Text -> Unique -> Name a
- appendToName :: Name a -> Text -> Name a
- mkUnsafeName :: NameSort -> Text -> Unique -> Name a
- noSrcSpan :: SrcSpan
Documentation
Constructors
| Name | |
Instances
| Generic (Name a) Source # | |
| Show (Name a) Source # | |
| Binary (Name a) Source # | |
| PrettyPrec (Name a) Source # | |
| ClashPretty (Name a) Source # | |
Defined in Clash.Core.Pretty Methods clashPretty :: Name a -> Doc () Source # | |
| Uniquable (Name a) Source # | |
| NFData (Name a) Source # | |
Defined in Clash.Core.Name | |
| Eq (Name a) Source # | N.B.: Equality checking only compares uniques, which only identify a name
within one scope. If you want structural equality, use |
| Ord (Name a) Source # | N.B.: Comparison only looks at uniques, which only identify a name within
one scope. If you want structural comparison, use |
| Hashable (Name a) Source # | |
Defined in Clash.Core.Name | |
| type Rep (Name a) Source # | |
Defined in Clash.Core.Name type Rep (Name a) = D1 ('MetaData "Name" "Clash.Core.Name" "clash-lib-1.11.0-inplace" 'False) (C1 ('MetaCons "Name" 'PrefixI 'True) ((S1 ('MetaSel ('Just "nameSort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameSort) :*: S1 ('MetaSel ('Just "nameOcc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 OccName)) :*: (S1 ('MetaSel ('Just "nameUniq") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Unique) :*: S1 ('MetaSel ('Just "nameLoc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SrcSpan)))) | |
Instances
| Generic NameSort Source # | |
| Show NameSort Source # | |
| Binary NameSort Source # | |
| NFData NameSort Source # | |
Defined in Clash.Core.Name | |
| Eq NameSort Source # | |
| Ord NameSort Source # | |
Defined in Clash.Core.Name | |
| Hashable NameSort Source # | |
Defined in Clash.Core.Name | |
| type Rep NameSort Source # | |
Defined in Clash.Core.Name | |
ordName :: Name a -> Name a -> Ordering Source #
Structural comparison on Names: on top of the Ord instance, which only
compares uniques, this compares every other field too.
SrcSpans are compared with leftmost_smallest, which treats all unhelpful
spans alike, matching how they are hashed in Clash.Core.Subst.