ModuleAgda-2.8.0.2Haskell2010
Agda.Syntax.Abstract.Name
Abstract names carry unique identifiers and stuff.
- 7 types
- 3 classes
- 37 values
- PackageAgda-2.8.0.2
- Exports47
- LanguageHaskell2010
- LicenceMIT
- SourceName.hs
Get the name if unambiguous.
Get the first of the ambiguous names.
Is a name ambiguous.
A module is anonymous if the qualification path ends in an underscore.
Is the first module a weak child of the second?
Is the first module a weak parent of the second?
Is the first module a proper child of the second?
Is the first module a proper parent of the second?
Is the name an operator?
Get the next version of the concrete name. For instance, nextName "x" = "x₁".
The name must not be a NoName.
Turn a qualified name into a concrete name. This should only be used as a fallback when looking up the right concrete name in the scope fails.
Useful for debugging scoping problems
A singleton "ambiguous" name.
Sets the ranges of the individual names in the module name to match those of the corresponding concrete names. If the concrete names are fewer than the number of module name name parts, then the initial name parts get the range noRange.
C.D.E `withRangesOf` [A, B] returns C.D.E but with ranges set
as follows:
C: noRange.D: the range ofA.E: the range ofB.
Precondition: The number of module name name parts has to be at least as large as the length of the list.
Like withRangesOf, but uses the name parts (qualifier + name) of the qualified name as the list of concrete names.
Ambiguous qualified names. Used for overloaded constructors.
Invariant: All the names in the list must have the same concrete, unqualified name. (This implies that they all have the same Range).
Instances11Eq, Ord, Show, NFData, Pretty, HasRange, …
Eq AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameOrd AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameShow AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameNFData AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NamePretty AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameHasRange AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameThe range of an
AmbiguousQNameis the range of any of its disambiguations (they are the same concrete name).Hilite AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameNumHoles AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameWe can have an instance for ambiguous names as all share a common concrete name.
NamesIn AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.Syntax.Internal.NamesEmbPrj AmbiguousQNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Common · orphan
Check whether we are a projection pattern.
Methods
isProjP :: a -> Maybe (ProjOrigin, AmbiguousQName)
Instances6IsProjP
IsProjP ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractIsProjP VoidDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameIsProjP (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractIsProjP (Pattern' a)Defined in Agda-2.8.0.2 · Agda.Syntax.InternalIsProjP a => IsProjP (Arg a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameIsProjP a => IsProjP (Named n a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Name
Make a Name from some kind of string.
A module name is just a qualified name.
The SetRange instance for module names sets all individual ranges to the given one.
Constructors
MNamemnameToList :: [Name]
Instances24Eq, Ord, Show, NFData, Pretty, IsNoName, …
Eq ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameOrd ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameShow ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameNFData ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NamePretty ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameIsNoName ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameNull ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameSized ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameHasRange ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NamePrettyTCM ModuleNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyToConcrete ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite ModuleNameDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractBlankVars ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractSubstExpr ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractKillRange ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameKillRange SectionsDefined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.BaseSetRange ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameBoundAndUsed ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsSetBindingSite ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Scope.BaseSets the binding site of all names in the path.
InstantiateFull ModuleNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.ReduceEmbPrj ModuleNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Common · orphanHilite (RenamingTo ModuleName)Defined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstracttype ConOfAbs ModuleName = QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
A name is a unique identifier and a suggestion for a concrete name. The concrete name contains the source location (if any) of the name. The source location of the binding site is also recorded.
Constructors
NamenameId :: !NameIdnameConcrete :: NameThe concrete name used for this instance
nameCanonical :: NameThe concrete name in the original definition (needed by primShowQName, see #4735)
nameBindingSite :: RangenameFixity :: Fixity'nameIsRecordName :: BoolIs this the name of the invisible record variable
self? Should not be printed or displayed in the context, see issue #3584.
Instances39Eq, Ord, Show, NFData, Hashable, Pretty, …
Eq NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameOrd NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameShow NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameUse prettyShow to print names to the user.
NFData NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameThe range is not forced.
Hashable NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NamePretty NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameIsNoName NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameAn abstract name is empty if its concrete name is empty.
FreshName NameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.BaseAddContext NameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextHasRange NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameSubst NameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Substitute · orphanPrettyTCM NameDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyReify NameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractToConcrete NameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteKillRange NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameSetRange NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameLensFixity' NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameLensFixity NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameLensInScope NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameNumHoles NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameSuggest NameDefined in Agda-2.8.0.2 · Agda.Syntax.InternalSetBindingSite NameDefined in Agda-2.8.0.2 · Agda.Syntax.Scope.BaseInstantiateFull NameDefined in Agda-2.8.0.2 · Agda.TypeChecking.ReduceEmbPrj NameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Common · orphanAddContext (Dom (Name, Type))Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext (Name, Dom Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext (List1 Name, Dom Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext (List1 (Arg Name), Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext (List1 (NamedArg Name), Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext (List1 (WithHiding Name), Dom Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext ([Name], Dom Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext ([Arg Name], Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext ([NamedArg Name], Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.ContextAddContext ([WithHiding Name], Dom Type)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.Context(ToAbstract r, AbsOfRef r ~ Expr) => ToAbstract (Dom r, Name)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstracttype SubstArg Name = TermDefined in Agda-2.8.0.2 · Agda.TypeChecking.Substitute · orphantype ConOfAbs Name = NameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ReifiesTo Name = NameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstracttype AbsOfRef (Dom r, Name) = TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstract
Qualified names are non-empty lists of names. Equality on qualified names are just equality on the last name, i.e. the module part is just for show.
The SetRange instance for qualified names sets all individual ranges (including those of the module prefix) to the given one.
Constructors
Instances40Eq, Ord, Show, NFData, Hashable, Pretty, …
Eq QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameOrd QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameShow QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameNFData QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameHashable QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NamePretty QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameChaseDisplayForms QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.SignatureSized QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameHasRange QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameSubst QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Substitute.ClassPrettyTCM QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyToConcrete QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite QNameDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractDeclaredNames KNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsKillRange QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameKillRange DefinitionsDefined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.BaseKillRange RewriteRuleMapDefined in Agda-2.8.0.2 · Agda.TypeChecking.Monad.BaseSetRange QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameLensFixity' QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameLensFixity QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameLensInScope QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameNumHoles QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameExprLike QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsTermLike QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Internal.GenericNamesIn QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Internal.NamesSetBindingSite QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Scope.BaseLivesInCurrentModule QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstractInstantiateFull QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.ReduceOccurs QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.MetaVars.OccursFromTerm QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrimitivePrimTerm QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrimitivePrimType QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrimitiveToTerm QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrimitiveEmbPrj QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Common · orphanUnquote QNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.UnquoteSingleton KName NameKindBuilderDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.GenerateCollection KName NameKindBuilderDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.GenerateHilite (RenamingTo QName)Defined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstracttype SubstArg QName = TermDefined in Agda-2.8.0.2 · Agda.TypeChecking.Substitute.Classtype ConOfAbs QName = QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Instances16Functor, Foldable, Traversable, Show, Pretty, PrettyTCM, …
Functor QNamedDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameFoldable QNamedDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameTraversable QNamedDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameShow a => Show (QNamed a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NamePretty a => Pretty (QNamed a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NamePrettyTCM (QNamed Clause)Defined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyReify (QNamed Clause)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractReify (QNamed System)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractToAbstract (QNamed Clause)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstractToAbstract (List1 (QNamed Clause))Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstractToAbstract [QNamed Clause]Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstracttype ReifiesTo (QNamed Clause) = ClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstracttype ReifiesTo (QNamed System) = [Clause]Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstracttype AbsOfRef (QNamed Clause) = ClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstracttype AbsOfRef (List1 (QNamed Clause)) = List1 ClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstracttype AbsOfRef [QNamed Clause] = [Clause]Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstract
Instances8Eq, Ord, Show, NFData, Pretty, Null, …
Eq SuffixDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameOrd SuffixDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameShow SuffixDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameNFData SuffixDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NamePretty SuffixDefined in Agda-2.8.0.2 · Agda.Syntax.Scope.Base · orphanNull SuffixDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameKillRange SuffixDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract · orphanEmbPrj SuffixDefined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Abstract · orphan
Instances9IsNoName, …
IsNoName ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameIsNoName NameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.NameAn abstract name is empty if its concrete name is empty.
IsNoName NameDefined in Agda-2.8.0.2 · Agda.Syntax.Concrete.NameIsNoName QNameDefined in Agda-2.8.0.2 · Agda.Syntax.Concrete.NameIsNoName RawTopLevelModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.TopLevelModuleNameIsNoName ByteStringDefined in Agda-2.8.0.2 · Agda.Syntax.Concrete.NameIsNoName StringDefined in Agda-2.8.0.2 · Agda.Syntax.Concrete.NameIsNoName a => IsNoName (Ranged a)Defined in Agda-2.8.0.2 · Agda.Syntax.Concrete.NameIsNoName a => IsNoName (WithOrigin a)Defined in Agda-2.8.0.2 · Agda.Syntax.Concrete.Name
Method by which to generate fresh unshadowed names.
Constructors
UnicodeSubscriptAppend an integer Unicode subscript: x, x₁, x₂, …
AsciiCounterAppend an integer ASCII counter: x, x1, x2, …