Copyright | disco team and contributors |
---|---|
Maintainer | byorgey@gmail.com |
Safe Haskell | None |
Language | Haskell2010 |
Names for modules and identifiers.
Synopsis
- data ModuleProvenance
- data ModuleName
- data NameProvenance
- data QName a = QName {
- qnameProvenance :: NameProvenance
- qname :: Name a
- isFree :: QName a -> Bool
- localName :: Name a -> QName a
- (.-) :: ModuleName -> Name a -> QName a
- fvQ :: (Data t, Typeable e) => Traversal' t (QName e)
- substQ :: Subst b a => QName b -> b -> a -> a
- substsQ :: Subst b a => [(QName b, b)] -> a -> a
Modules and their provenance
data ModuleProvenance Source #
Where did a module come from?
Instances
data ModuleName Source #
The name of a module.
REPLModule | The special top-level "module" consisting of what has been entered at the REPL. |
Named ModuleProvenance String | A named module, with its name and provenance. |
Instances
Names and their provenance
data NameProvenance Source #
Where did a name come from?
LocalName | The name is locally bound |
QualifiedName ModuleName | The name is exported by the given module |
Instances
A QName
, or qualified name, is a Name
paired with its
NameProvenance
.
QName | |
|
Instances
Subst Type (QName a) Source # | |
Eq (QName a) Source # | |
Data a => Data (QName a) Source # | |
Defined in Disco.Names gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QName a -> c (QName a) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (QName a) # toConstr :: QName a -> Constr # dataTypeOf :: QName a -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (QName a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (QName a)) # gmapT :: (forall b. Data b => b -> b) -> QName a -> QName a # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QName a -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QName a -> r # gmapQ :: (forall d. Data d => d -> u) -> QName a -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> QName a -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> QName a -> m (QName a) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QName a -> m (QName a) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QName a -> m (QName a) # | |
Ord (QName a) Source # | |
Show (QName a) Source # | |
Generic (QName a) Source # | |
Typeable a => Alpha (QName a) Source # | |
Defined in Disco.Names aeq' :: AlphaCtx -> QName a -> QName a -> Bool # fvAny' :: (Contravariant f, Applicative f) => AlphaCtx -> (AnyName -> f AnyName) -> QName a -> f (QName a) # close :: AlphaCtx -> NamePatFind -> QName a -> QName a # open :: AlphaCtx -> NthPatFind -> QName a -> QName a # isPat :: QName a -> DisjointSet AnyName # nthPatFind :: QName a -> NthPatFind # namePatFind :: QName a -> NamePatFind # swaps' :: AlphaCtx -> Perm AnyName -> QName a -> QName a # lfreshen' :: LFresh m => AlphaCtx -> QName a -> (QName a -> Perm AnyName -> m b) -> m b # freshen' :: Fresh m => AlphaCtx -> QName a -> m (QName a, Perm AnyName) # | |
Pretty (QName a) Source # | |
type Rep (QName a) Source # | |
Defined in Disco.Names type Rep (QName a) = D1 ('MetaData "QName" "Disco.Names" "disco-0.1.5-Dj6M4uP9IofLLslCWcCyVQ" 'False) (C1 ('MetaCons "QName" 'PrefixI 'True) (S1 ('MetaSel ('Just "qnameProvenance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 NameProvenance) :*: S1 ('MetaSel ('Just "qname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Name a)))) |