A name is a non-empty list of alternating Ids and Holes. A normal name
is represented by a singleton list, and operators are represented by a list
with Holes where the arguments should go. For instance: [Hole,Id "+",Hole]
is infix addition.
Equality and ordering on Names are defined to ignore range so same names
in different locations are equal.
Instances27Eq, Ord, Show, NFData, IsNoName, HasRange, …
Eq NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameDefine equality on
Nameto ignore range so same names in different locations are equal.Is there a reason not to do this? -Jeff
No. But there are tons of reasons to do it. For instance, when using names as keys in maps you really don't want to have to get the range right to be able to do a lookup. -Ulf
Ord NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameShow NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameNFData AsNameDefined in Agda-2.7.0.1 · Agda.Syntax.ConcreteRanges are not forced.
NFData NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameRanges are not forced.
Pretty NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameIsNoName NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameHasRange AsNameDefined in Agda-2.7.0.1 · Agda.Syntax.ConcreteHasRange NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NamePrettyTCM NameDefined in Agda-2.7.0.1 · Agda.TypeChecking.PrettySubstExpr NameDefined in Agda-2.7.0.1 · Agda.Syntax.AbstractKillRange AsNameDefined in Agda-2.7.0.1 · Agda.Syntax.ConcreteKillRange NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameSetRange NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameUnderscore NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameLensInScope NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameNumHoles NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.NameExprLike NameDefined in Agda-2.7.0.1 · Agda.Syntax.Concrete.GenericToAbstract HoleContentDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.ConcreteToAbstractContent of interaction hole.
ToAbstract RewriteEqnDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.ConcreteToAbstractToQName NameDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.ConcreteToAbstractEmbPrj NameDefined in Agda-2.7.0.1 · Agda.TypeChecking.Serialise.Instances.Common · orphanPretty (ThingWithFixity Name)Defined in Agda-2.7.0.1 · Agda.Syntax.Concrete.Pretty · orphanToAbstract (NewName Name)Defined in Agda-2.7.0.1 · Agda.Syntax.Translation.ConcreteToAbstracttype AbsOfCon HoleContent = HoleContentDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.ConcreteToAbstracttype AbsOfCon RewriteEqn = RewriteEqn' () BindName Pattern ExprDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.ConcreteToAbstracttype AbsOfCon (NewName Name) = NameDefined in Agda-2.7.0.1 · Agda.Syntax.Translation.ConcreteToAbstract