Pattern synonym for regular Def.
ModuleAgda-2.8.0.2Haskell2010
Agda.Syntax.Abstract
The abstract syntax. This is what you get after desugaring and scope analysis of the concrete syntax. The type checker works on abstract syntax, producing internal syntax (Agda.Syntax.Internal).
- 58 types
- 3 classes
- 23 values
- PackageAgda-2.8.0.2
- Exports85
- LanguageHaskell2010
- LicenceMIT
- SourceAbstract.hs
The name defined by the given axiom.
Precondition: The declaration has to be a (scoped) Axiom.
The clause spine corresponding to a clause.
The declaration spine corresponding to a declaration.
Smart constructor for Generalized.
insertImplicitPatSynArgs :: HasRange a=> (Hiding -> Range -> a)Thing to insert (wildcard).
-> RangeRange of the whole pattern synonym expression/pattern.
-> [WithHiding Name]The parameters of the pattern synonym (from its definition).
-> [NamedArg a]The arguments it is used with.
-> Maybe ([(Name, a)], [WithHiding Name])Substitution and left-over parameters.
The right-hand side spine corresponding to a right-hand side.
The spine corresponding to a WhereDeclarations value.
Are we in an abstract block?
In that case some definition is abstract.
Methods
anyAbstract :: a -> Bool
Instances2AnyAbstract
AnyAbstract DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractAnyAbstract a => AnyAbstract [a]Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract
Record field assignment f = e.
A name in a binding position: we also compare the nameConcrete when comparing the binders for equality.
With --caching on we compare abstract syntax to determine if we can
reuse previous typechecking results: during that comparison two
names can have the same nameId but be semantically different,
e.g. in {_ : A} -> .. vs. {r : A} -> ...
Instances18Eq, Ord, Show, NFData, HasRange, Hilite, …
Eq BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractOrd BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite BindNameDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractSetRange BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBinder BindNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractEmbPrj BindNameDefined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Abstract · orphan(ToConcrete p, ToConcrete a) => ToConcrete (RewriteEqn' qn BindName p a)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToAbstract (RewriteEqn' () BindName Pattern Expr)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstracttype ConOfAbs BindName = BoundNameDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (RewriteEqn' qn BindName p a) = RewriteEqn' () Name (ConOfAbs p) (ConOfAbs a)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype AbsOfCon (RewriteEqn' () BindName Pattern Expr) = RewriteEqnDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstract
Constructors
Instances15Functor, Foldable, Traversable, Eq, Show, Generic, …
Functor Binder'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractFoldable Binder'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractTraversable Binder'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractEq a => Eq (Binder' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow a => Show (Binder' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric (Binder' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData a => NFData (Binder' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange a => HasRange (Binder' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete a => ToConcrete (Binder' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite a => Hilite (Binder' a)Defined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange a => KillRange (Binder' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed name => BoundAndUsed (Binder' name)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesBinder a => Binder (Binder' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstracttype Rep (Binder' a) = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"Binder'"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"Binder"
'PrefixI 'True) (S1 ('MetaSel ('Just"binderPattern"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Pattern)) :*: (S1 ('MetaSel ('Just"binderNameOrigin"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BinderNameOrigin) :*: S1 ('MetaSel ('Just"binderName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))type ConOfAbs (Binder' a) = Binder' (ConOfAbs a)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
We could throw away where clauses at this point and translate them to
let. It's not obvious how to remember that the let was really a
where clause though, so for the time being we keep it here.
Constructors
ClauseclauseLHS :: lhsclauseStrippedPats :: [ProblemEq]Only in with-clauses where we inherit some already checked patterns from the parent. These live in the context of the parent clause left-hand side.
clauseRHS :: RHSclauseWhereDecls :: WhereDeclarationsclauseCatchall :: Catchall
Instances18Functor, Foldable, Traversable, DeclaredNames, BlankVars, LHSToSpine, …
Functor Clause'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractFoldable Clause'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractTraversable Clause'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractDeclaredNames ClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBlankVars ClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractLHSToSpine Clause SpineClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternClause instance.
Eq lhs => Eq (Clause' lhs)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow lhs => Show (Clause' lhs)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric (Clause' lhs)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData lhs => NFData (Clause' lhs)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange a => HasRange (Clause' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract(ToConcrete a, ConOfAbs a ~ LHS) => ToConcrete (Clause' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite a => Hilite (Clause' a)Defined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange a => KillRange (Clause' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed lhs => BoundAndUsed (Clause' lhs)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike a => ExprLike (Clause' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep (Clause' lhs) = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"Clause'"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"Clause"
'PrefixI 'True) ((S1 ('MetaSel ('Just"clauseLHS"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 lhs) :*: S1 ('MetaSel ('Just"clauseStrippedPats"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ProblemEq])) :*: (S1 ('MetaSel ('Just"clauseRHS"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RHS) :*: (S1 ('MetaSel ('Just"clauseWhereDecls"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhereDeclarations) :*: S1 ('MetaSel ('Just"clauseCatchall"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Catchall)))))type ConOfAbs (Clause' a) = List1 DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Clause spines.
Constructors
Instances1Show
Show ClauseSpineDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract
Constructors
DataDefParamsdataDefGeneralizedParams :: Set NameWe don't yet know the position of generalized parameters from the data sig, so we keep these in a set on the side.
dataDefParams :: [LamBinding]
Instances8Eq, Show, Generic, NFData, Hilite, KillRange, …
Eq DataDefParamsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow DataDefParamsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric DataDefParamsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData DataDefParamsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHilite DataDefParamsDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange DataDefParamsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractExprLike DataDefParamsDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep DataDefParams = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"DataDefParams"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"DataDefParams"
'PrefixI 'True) (S1 ('MetaSel ('Just"dataDefGeneralizedParams"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set Name)) :*: S1 ('MetaSel ('Just"dataDefParams"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [LamBinding])))
Constructors
Axiom KindOfName DefInfo ArgInfo (Maybe PragmaPolarities) QName TypeType signature (can be irrelevant, but not hidden).
The fourth argument contains an optional assignment of polarities to arguments.
Generalize (Set QName) DefInfo ArgInfo QName TypeThe first argument is the (possibly empty) set of generalizable variables used in the type.
Field DefInfo QName (Arg Type)record field
Primitive DefInfo QName (Arg Type)primitive function
Mutual MutualInfo [Declaration]a bunch of mutually recursive definitions
Section Range Erased ModuleName GeneralizeTelescope [Declaration]Apply ModuleInfo Erased ModuleName ModuleApplication ScopeCopyInfo ImportDirectiveThe
ImportDirectiveis for highlighting purposes.Import ModuleInfo ModuleName ImportDirectiveThe
ImportDirectiveis for highlighting purposes.Pragma Range PragmaOpen ModuleInfo ModuleName ImportDirectiveFunDef DefInfo QName [Clause]sequence of function clauses
DataSig DefInfo Erased QName GeneralizeTelescope Typelone data signature
DataDef DefInfo QName UniverseCheck DataDefParams [Constructor]RecSig DefInfo Erased QName GeneralizeTelescope Typelone record signature
RecDef DefInfo QName UniverseCheck RecordDirectives DataDefParams Type [Declaration]PatternSynDef QName [WithHiding BindName] (Pattern' Void)Only for highlighting purposes
UnquoteDecl MutualInfo [DefInfo] [QName] ExprUnquoteDef [DefInfo] [QName] ExprUnquoteData [DefInfo] QName UniverseCheck [DefInfo] [QName] ExprScopedDecl ScopeInfo [Declaration]scope annotation
UnfoldingDecl Range [QName]Only for highlighting the unfolded names
Instances16Eq, Show, Generic, NFData, HasRange, Hilite, …
Eq DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractDoes not compare ScopeInfo fields.
Show DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite DeclarationDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractDeclaredNames DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsAnyAbstract DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractKillRange DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractExprLike DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsShowHead DeclarationDefined in Agda-2.8.0.2 · Agda.TypeChecking.Rules.DeclToConcrete (Constr Constructor)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype Rep Declaration = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"Declaration"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) ((((C1 ('MetaCons"Axiom"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KindOfName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe PragmaPolarities)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: C1 ('MetaCons"Generalize"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set QName)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: (C1 ('MetaCons"Field"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Type)))) :+: (C1 ('MetaCons"Primitive"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Type)))) :+: C1 ('MetaCons"Mutual"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MutualInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Declaration]))))) :+: ((C1 ('MetaCons"Section"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeneralizeTelescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Declaration])))) :+: C1 ('MetaCons"Apply"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleApplication) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScopeCopyInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ImportDirective))))) :+: (C1 ('MetaCons"Import"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ImportDirective))) :+: (C1 ('MetaCons"Pragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pragma)) :+: C1 ('MetaCons"Open"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ImportDirective))))))) :+: (((C1 ('MetaCons"FunDef"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Clause]))) :+: C1 ('MetaCons"DataSig"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeneralizeTelescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: (C1 ('MetaCons"DataDef"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UniverseCheck) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataDefParams) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Constructor])))) :+: (C1 ('MetaCons"RecSig"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeneralizeTelescope) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: C1 ('MetaCons"RecDef"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UniverseCheck))) :*: ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordDirectives) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DataDefParams)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Declaration]))))))) :+: ((C1 ('MetaCons"PatternSynDef"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [WithHiding BindName]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pattern' Void)))) :+: (C1 ('MetaCons"UnquoteDecl"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MutualInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DefInfo])) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :+: C1 ('MetaCons"UnquoteDef"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DefInfo]) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))))) :+: (C1 ('MetaCons"UnquoteData"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DefInfo]) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UniverseCheck))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DefInfo]) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: (C1 ('MetaCons"ScopedDecl"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScopeInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Declaration])) :+: C1 ('MetaCons"UnfoldingDecl"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName])))))))type ConOfAbs Declaration = [Declaration]Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (Constr Constructor) = DeclarationDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Declaration spines. Used in debugging to make it easy to see where constructors such as ScopedDecl and Mutual are placed.
Instances1Show
Show DeclarationSpineDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract
Expressions after scope checking (operators parsed, names resolved).
Constructors
Var NameBound variable.
Def' QName SuffixConstant: axiom, function, data or record type, with a possible suffix.
Proj ProjOrigin AmbiguousQNameProjection (overloaded).
Con AmbiguousQNameConstructor (overloaded).
PatternSyn AmbiguousQNamePattern synonym.
Macro QNameMacro.
Lit ExprInfo LiteralLiteral.
QuestionMark MetaInfo InteractionIdMeta variable for interaction. The InteractionId is usually identical with the metaNumber of MetaInfo. However, if you want to print an interaction meta as just
?instead of?n, you should set the metaNumber to Nothing while keeping the InteractionId.Underscore MetaInfoMeta variable for hidden argument (must be inferred locally).
Dot ExprInfo Expr.e, for postfix projection.App AppInfo Expr (NamedArg Expr)Ordinary (binary) application.
WithApp ExprInfo Expr (List1 Expr)With application.
Lam ExprInfo LamBinding Exprλ bs → e.AbsurdLam ExprInfo Hidingλ()orλ{}.ExtendedLam ExprInfo DefInfo Erased QName (List1 Clause)Pi ExprInfo Telescope1 TypeDependent function space
Γ → A.Generalized (Set1 QName) TypeLike a Pi, but the ordering is not known
Fun ExprInfo (Arg Type) TypeNon-dependent function space.
Let ExprInfo (List1 LetBinding) Exprlet bs in e.Rec KwRange ExprInfo RecordAssignsRecord construction. The KwRange is for the
recordkewyword.RecUpdate KwRange ExprInfo Expr AssignsRecord update. The KwRange is for the
recordkewyword.ScopedExpr ScopeInfo ExprScope annotation.
Quote ExprInfoQuote an identifier QName.
QuoteTerm ExprInfoQuote a term.
Unquote ExprInfoThe splicing construct: unquote ...
DontCare ExprFor printing
DontCarefromSyntax.Internal.
Instances48Eq, Show, Generic, NFData, IsProjP, HasRange, …
Eq ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractDoes not compare ScopeInfo fields. Does not distinguish between prefix and postfix projections.
Show ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractIsProjP ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractPrettyTCM ExprDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyPrettyTCM PatternDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyReify ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractToConcrete ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToConcrete LHSCoreDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToConcrete PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite ExprDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractBlankVars ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractBlankVars LHSCoreDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractBlankVars PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractSubstExpr ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractKillRange ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractUnderscore ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractMapNamedArgPattern NAPDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternBoundAndUsed ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBinder LHSCoreDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractBinder PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractIsFlexiblePattern PatternDefined in Agda-2.8.0.2 · Agda.TypeChecking.Rules.LHSEmbPrj PatternDefined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Abstract · orphanHackish serialization for patterns that deletes dot patterns. So that we can serialize the
WithClauseProjectionFixityMismatchwithout having to define serialization of expressions.PatternToExpr Pattern ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternPrettyTCM (Arg Expr)Defined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyPrettyTCM (NamedArg Expr)Defined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyToConcrete (SplitPattern Pattern)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToConcrete (SplitPattern (NamedArg Pattern))Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToConcrete (UserPattern Pattern)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToConcrete (UserPattern (NamedArg Pattern))Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToAbstract (Expr, Elim)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstractToAbstract (Expr, Elims)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstractToAbstract (RewriteEqn' () BindName Pattern Expr)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstracttype Rep Expr = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"Expr"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) ((((C1 ('MetaCons"Var"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name)) :+: (C1 ('MetaCons"Def'"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Suffix)) :+: C1 ('MetaCons"Proj"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)))) :+: (C1 ('MetaCons"Con"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)) :+: (C1 ('MetaCons"PatternSyn"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName)) :+: C1 ('MetaCons"Macro"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: ((C1 ('MetaCons"Lit"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Literal)) :+: (C1 ('MetaCons"QuestionMark"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InteractionId)) :+: C1 ('MetaCons"Underscore"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MetaInfo)))) :+: ((C1 ('MetaCons"Dot"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons"App"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AppInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Expr))))) :+: (C1 ('MetaCons"WithApp"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Expr)))) :+: C1 ('MetaCons"Lam"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LamBinding) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))))))) :+: (((C1 ('MetaCons"AbsurdLam"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Hiding)) :+: (C1 ('MetaCons"ExtendedLam"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DefInfo)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Clause))))) :+: C1 ('MetaCons"Pi"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope1) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))))) :+: (C1 ('MetaCons"Generalized"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set1 QName)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons"Fun"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Arg Type)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"Let"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 LetBinding)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))))) :+: ((C1 ('MetaCons"Rec"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KwRange) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RecordAssigns))) :+: (C1 ('MetaCons"RecUpdate"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KwRange) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Assigns))) :+: C1 ('MetaCons"ScopedExpr"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScopeInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: ((C1 ('MetaCons"Quote"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo)) :+: C1 ('MetaCons"QuoteTerm"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo))) :+: (C1 ('MetaCons"Unquote"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ExprInfo)) :+: C1 ('MetaCons"DontCare"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))))))type ConOfAbs Expr = ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs LHSCore = PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs Pattern = PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (SplitPattern Pattern) = PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (SplitPattern (NamedArg Pattern)) = NamedArg PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (UserPattern Pattern) = PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (UserPattern (NamedArg Pattern)) = NamedArg PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ReifiesTo Expr = ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstracttype AbsOfCon (RewriteEqn' () BindName Pattern Expr) = RewriteEqnDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstracttype AbsOfRef (Expr, Elim) = ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstracttype AbsOfRef (Expr, Elims) = ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ReflectedToAbstract
Constructors
GeneralizeTelgeneralizeTelVars :: Map QName NameMaps generalize variables to the corresponding bound variable (to be introduced by the generalisation).
generalizeTel :: Telescope
Instances8Eq, Show, Generic, NFData, Hilite, KillRange, …
Eq GeneralizeTelescopeDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow GeneralizeTelescopeDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric GeneralizeTelescopeDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData GeneralizeTelescopeDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHilite GeneralizeTelescopeDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange GeneralizeTelescopeDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractExprLike GeneralizeTelescopeDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep GeneralizeTelescope = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"GeneralizeTelescope"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"GeneralizeTel"
'PrefixI 'True) (S1 ('MetaSel ('Just"generalizeTelVars"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map QName Name)) :*: S1 ('MetaSel ('Just"generalizeTel"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope)))
The lhs of a clause in focused (projection-application) view (outside-in). Projection patters are represented as LHSProjs.
Instances18Eq, Show, Generic, NFData, HasRange, ToConcrete, …
Eq LHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow LHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric LHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData LHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange LHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete LHSDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite LHSDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractDeclaredNames ClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBlankVars ClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractBlankVars LHSDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractKillRange LHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed LHSDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike LHSDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBinder LHSDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractLHSToSpine Clause SpineClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternClause instance.
LHSToSpine LHS SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternLHS instance.
type Rep LHS = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"LHS"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"LHS"
'PrefixI 'True) (S1 ('MetaSel ('Just"lhsInfo"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSInfo) :*: S1 ('MetaSel ('Just"lhsCore"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSCore)))type ConOfAbs LHS = LHSDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
The lhs in projection-application and with-pattern view.
Parameterised over the type e of dot patterns.
Constructors
LHSHeadThe head applied to ordinary patterns.
lhsDefName :: QNameHead
f.lhsPats :: [NamedArg (Pattern' e)]Applied to patterns
ps.
LHSProjProjection.
lhsDestructor :: AmbiguousQNameRecord projection identifier.
lhsFocus :: NamedArg (LHSCore' e)Main argument of projection.
lhsPats :: [NamedArg (Pattern' e)]Applied to patterns
ps.
LHSWithWith patterns.
Instances19Functor, Foldable, Traversable, ToConcrete, BlankVars, Binder, …
Functor LHSCore'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractFoldable LHSCore'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractTraversable LHSCore'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete LHSCoreDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteBlankVars LHSCoreDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractBinder LHSCoreDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractEq e => Eq (LHSCore' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow e => Show (LHSCore' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric (LHSCore' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData e => NFData (LHSCore' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange (LHSCore' e)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract(Hilite a, IsProjP a) => Hilite (LHSCore' a)Defined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractToAbstract (LHSCore' Expr)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstractKillRange e => KillRange (LHSCore' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed e => BoundAndUsed (LHSCore' e)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike a => ExprLike (LHSCore' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep (LHSCore' e) = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"LHSCore'"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"LHSHead"
'PrefixI 'True) (S1 ('MetaSel ('Just"lhsDefName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just"lhsPats"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg (Pattern' e)])) :+: (C1 ('MetaCons"LHSProj"
'PrefixI 'True) (S1 ('MetaSel ('Just"lhsDestructor"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName) :*: (S1 ('MetaSel ('Just"lhsFocus"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg (LHSCore' e))) :*: S1 ('MetaSel ('Just"lhsPats"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg (Pattern' e)]))) :+: C1 ('MetaCons"LHSWith"
'PrefixI 'True) (S1 ('MetaSel ('Just"lhsHead"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LHSCore' e)) :*: (S1 ('MetaSel ('Just"lhsWithPatterns"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (Arg (Pattern' e)))) :*: S1 ('MetaSel ('Just"lhsPats"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg (Pattern' e)])))))type ConOfAbs LHSCore = PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype AbsOfCon (LHSCore' Expr) = LHSCore' ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstract
A lambda binding is either domain free or typed.
Constructors
DomainFree TacticAttribute (NamedArg Binder).
xor{x}or.xor{x = y}orx@por(p)DomainFull TypedBinding.
(xs:e)or{xs:e}or(let Ds)
Instances15Eq, Show, Generic, NFData, HasRange, ToConcrete, …
Eq LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite LamBindingDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractLensHiding LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBlankVars LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractKillRange LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBinder LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstracttype Rep LamBinding = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"LamBinding"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"DomainFree"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TacticAttribute) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NamedArg Binder))) :+: C1 ('MetaCons"DomainFull"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypedBinding)))type ConOfAbs LamBinding = Maybe LamBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Bindings that are valid in a let.
Constructors
LetBind LetInfo ArgInfo BindName Type ExprLetBind info rel name type defnLetAxiom LetInfo ArgInfo BindName TypeFunction declarations in a let with no matching body.
LetPatBind LetInfo Pattern ExprIrrefutable pattern binding.
LetApply ModuleInfo Erased ModuleName ModuleApplication ScopeCopyInfo ImportDirectiveLetApply mi newM (oldM args) renamings dir. TheImportDirectiveis for highlighting purposes.LetOpen ModuleInfo ModuleName ImportDirectiveonly for highlighting and abstractToConcrete
Instances13Eq, Show, Generic, NFData, HasRange, ToConcrete, …
Eq LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite LetBindingDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBinder LetBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstracttype Rep LetBinding = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"LetBinding"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) ((C1 ('MetaCons"LetBind"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LetInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BindName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))) :+: C1 ('MetaCons"LetAxiom"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LetInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ArgInfo)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BindName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: (C1 ('MetaCons"LetPatBind"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LetInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr))) :+: (C1 ('MetaCons"LetApply"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Erased) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleApplication) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScopeCopyInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ImportDirective)))) :+: C1 ('MetaCons"LetOpen"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ImportDirective))))))type ConOfAbs LetBinding = [Declaration]Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Constructors
SectionApp Telescope ModuleName [NamedArg Expr]tel. M args: appliesMtoargsand abstractstel.RecordModuleInstance ModuleNameM {{...}}
Instances11Eq, Show, Generic, NFData, ToConcrete, Hilite, …
Eq ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep ModuleApplication = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"ModuleApplication"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"SectionApp"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Telescope) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Expr]))) :+: C1 ('MetaCons"RecordModuleInstance"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName)))type ConOfAbs ModuleApplication = ModuleApplicationDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Turn a name into an expression.
Methods
nameToExpr :: a -> Expr
Instances2NameToExpr
NameToExpr AbstractNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractTurn an AbstractName into an expression.
NameToExpr ResolvedNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractTurn a ResolvedName into an expression.
Assumes name is not UnknownName.
Parameterised over the type of dot patterns.
Constructors
VarP BindNameConP ConPatInfo AmbiguousQName (NAPs e)ProjP PatInfo ProjOrigin AmbiguousQNameDestructor pattern
d.DefP PatInfo AmbiguousQName (NAPs e)Defined pattern: function definition
f ps. It is also abused to convert destructor patterns into concrete syntax thus, we put AmbiguousQName here as well.WildP PatInfoUnderscore pattern entered by user. Or generated at type checking for implicit arguments.
AsP PatInfo BindName (Pattern' e)DotP PatInfo eDot pattern
.eAbsurdP PatInfoLitP PatInfo LiteralPatternSynP PatInfo AmbiguousQName (NAPs e)RecP KwRange ConPatInfo [FieldAssignment' (Pattern' e)]EqualP PatInfo (List1 (e, e))WithP PatInfo (Pattern' e)| p, for with-patterns.
Instances42Functor, Foldable, Traversable, PrettyTCM, BlankVars, MapNamedArgPattern, …
Functor Pattern'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractFoldable Pattern'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractTraversable Pattern'Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractPrettyTCM PatternDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyToConcrete PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteBlankVars PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractMapNamedArgPattern NAPDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternBinder PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractIsFlexiblePattern PatternDefined in Agda-2.8.0.2 · Agda.TypeChecking.Rules.LHSEmbPrj PatternDefined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Abstract · orphanHackish serialization for patterns that deletes dot patterns. So that we can serialize the
WithClauseProjectionFixityMismatchwithout having to define serialization of expressions.PatternToExpr Pattern ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternEq e => Eq (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow e => Show (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData e => NFData (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractIsProjP (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete (SplitPattern Pattern)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToConcrete (SplitPattern (NamedArg Pattern))Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToConcrete (UserPattern Pattern)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteToConcrete (UserPattern (NamedArg Pattern))Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete(Hilite a, IsProjP a) => Hilite (Pattern' a)Defined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractToAbstract (Pattern' Expr)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstractIsWithP (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Pattern · orphanCheck for with-pattern.
KillRange e => KillRange (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractSetRange (Pattern' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractAPatternLike (Pattern' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternBoundAndUsed e => BoundAndUsed (Pattern' e)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike a => ExprLike (Pattern' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsNamesIn (Pattern' a)Defined in Agda-2.8.0.2 · Agda.Syntax.Internal.NamesExpandPatternSynonyms (Pattern' e)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Patterns.AbstractEmbPrj a => EmbPrj (Pattern' a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Serialise.Instances.Abstract · orphanToAbstract (RewriteEqn' () BindName Pattern Expr)Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstracttype Rep (Pattern' e) = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"Pattern'"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (((C1 ('MetaCons"VarP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BindName)) :+: (C1 ('MetaCons"ConP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConPatInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NAPs e)))) :+: C1 ('MetaCons"ProjP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProjOrigin) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName))))) :+: (C1 ('MetaCons"DefP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NAPs e)))) :+: (C1 ('MetaCons"WildP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo)) :+: C1 ('MetaCons"AsP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BindName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pattern' e))))))) :+: ((C1 ('MetaCons"DotP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 e)) :+: (C1 ('MetaCons"AbsurdP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo)) :+: C1 ('MetaCons"LitP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Literal)))) :+: ((C1 ('MetaCons"PatternSynP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AmbiguousQName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NAPs e)))) :+: C1 ('MetaCons"RecP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KwRange) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConPatInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FieldAssignment' (Pattern' e)])))) :+: (C1 ('MetaCons"EqualP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (e, e)))) :+: C1 ('MetaCons"WithP"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PatInfo) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Pattern' e)))))))type ConOfAbs Pattern = PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (SplitPattern Pattern) = PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (SplitPattern (NamedArg Pattern)) = NamedArg PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (UserPattern Pattern) = PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype ConOfAbs (UserPattern (NamedArg Pattern)) = NamedArg PatternDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcretetype AbsOfCon (Pattern' Expr) = Pattern' ExprDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstracttype AbsOfCon (RewriteEqn' () BindName Pattern Expr) = RewriteEqnDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.ConcreteToAbstracttype ADotT (Pattern' a) = aDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Pattern
Constructors
OptionsPragma [String]BuiltinPragma RString ResolvedNameResolvedName is not UnknownName. Name can be ambiguous e.g. for built-in constructors.
BuiltinNoDefPragma RString KindOfName QNameBuiltins that do not come with a definition, but declare a name for an Agda concept.
RewritePragma Range [QName]Range is range of REWRITE keyword.
CompilePragma (Ranged BackendName) QName StringStaticPragma QNameEtaPragma QNameFor coinductive records, use pragma instead of regular
eta-equalitydefinition (as it is might make Agda loop).InjectivePragma QNameInjectiveForInferencePragma QNameInlinePragma Bool QNameNotProjectionLikePragma QNameMark the definition as not being projection-like
OverlapPragma QName OverlapModeIf the definition is an instance, set its overlap mode.
DisplayPragma QName [NamedArg Pattern] Expr
Instances8Eq, Show, Generic, NFData, Hilite, DeclaredNames, …
Eq PragmaDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow PragmaDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric PragmaDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData PragmaDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHilite PragmaDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractDeclaredNames PragmaDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsExprLike PragmaDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep Pragma = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"Pragma"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (((C1 ('MetaCons"OptionsPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :+: (C1 ('MetaCons"BuiltinPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RString) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ResolvedName)) :+: C1 ('MetaCons"BuiltinNoDefPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RString) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 KindOfName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: (C1 ('MetaCons"RewritePragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [QName])) :+: (C1 ('MetaCons"CompilePragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Ranged BackendName)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))) :+: C1 ('MetaCons"StaticPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))))) :+: ((C1 ('MetaCons"EtaPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: (C1 ('MetaCons"InjectivePragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"InjectiveForInferencePragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)))) :+: ((C1 ('MetaCons"InlinePragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName)) :+: C1 ('MetaCons"NotProjectionLikePragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName))) :+: (C1 ('MetaCons"OverlapPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OverlapMode)) :+: C1 ('MetaCons"DisplayPragma"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Pattern]) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)))))))
A user pattern together with an internal term that it should be equal to after splitting is complete. Special cases: * User pattern is a variable but internal term isn't: this will be turned into an as pattern. * User pattern is a dot pattern: this pattern won't trigger any splitting but will be checked for equality after all splitting is complete and as patterns have been bound. * User pattern is an absurd pattern: emptiness of the type will be checked after splitting is complete. * User pattern is an annotated wildcard: type annotation will be checked after splitting is complete.
Constructors
Instances11Eq, Show, Generic, NFData, Subst, PrettyTCM, …
Eq ProblemEqDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow ProblemEqDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric ProblemEqDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData ProblemEqDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubst ProblemEqDefined in Agda-2.8.0.2 · Agda.TypeChecking.Substitute · orphanPrettyTCM ProblemEqDefined in Agda-2.8.0.2 · Agda.TypeChecking.Rules.LHS.Problem · orphanHilite ProblemEqDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractBlankVars ProblemEqDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractKillRange ProblemEqDefined in Agda-2.8.0.2 · Agda.Syntax.Abstracttype Rep ProblemEq = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"ProblemEq"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"ProblemEq"
'PrefixI 'True) (S1 ('MetaSel ('Just"problemInPat"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pattern) :*: (S1 ('MetaSel ('Just"problemInst"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Term) :*: S1 ('MetaSel ('Just"problemType"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Dom Type)))))type SubstArg ProblemEq = TermDefined in Agda-2.8.0.2 · Agda.TypeChecking.Substitute · orphan
Constructors
RHSAbsurdRHSWithRHS QName (List1 WithExpr) (List1 Clause)The QName is the name of the with function.
RewriteRHSrewriteExprs :: [RewriteEqn]rewriteStrippedPats :: [ProblemEq]The patterns stripped by with-desugaring. These are only present if this rewrite follows a with.
rewriteRHS :: RHSThe RHS should not be another
RewriteRHS.rewriteWhereDecls :: WhereDeclarationsThe where clauses are attached to the
RewriteRHSby
Instances14Eq, Show, Generic, NFData, HasRange, ToConcrete, …
Eq RHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractIgnore rhsConcrete when comparing RHSs.
Show RHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric RHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData RHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange RHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete RHSDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite RHSDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractDeclaredNames RHSDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBlankVars RHSDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractKillRange RHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed RHSDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike RHSDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep RHS = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"RHS"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) ((C1 ('MetaCons"RHS"
'PrefixI 'True) (S1 ('MetaSel ('Just"rhsExpr"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr) :*: S1 ('MetaSel ('Just"rhsConcrete"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Expr))) :+: C1 ('MetaCons"AbsurdRHS"
'PrefixI 'False) U1) :+: (C1 ('MetaCons"WithRHS"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 WithExpr)) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 Clause)))) :+: C1 ('MetaCons"RewriteRHS"
'PrefixI 'True) ((S1 ('MetaSel ('Just"rewriteExprs"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RewriteEqn]) :*: S1 ('MetaSel ('Just"rewriteStrippedPats"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ProblemEq])) :*: (S1 ('MetaSel ('Just"rewriteRHS"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RHS) :*: S1 ('MetaSel ('Just"rewriteWhereDecls"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 WhereDeclarations)))))type ConOfAbs RHS = (RHS, [RewriteEqn], [WithExpr], [Declaration])Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Right-hand side spines.
How did we get our hands on the QName for the constructor of this record?
Constructors
NamedRecConThe user wrote it.
recordConName :: !QName
FreshRecConWe made it up.
recordConName :: !QName
Instances11Eq, Show, Generic, NFData, ToConcrete, Hilite, …
Eq RecordConNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow RecordConNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric RecordConNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData RecordConNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete RecordDirectivesDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite RecordConNameDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractHilite RecordDirectivesDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractReengineered from the old Geniplate-implemented highlighting extraction. This was the old procedure:
Traversal over declaration in abstract syntax that collects the following hiliting information:
- 1.
constructorInfo(highest prio) 2.
theRest(medium prio) 3.
nameInfo(lowest prio)
nameInfo: "All names mentioned in the syntax tree (not bound variables)." For each possibly ambiguous name (QName and AmbiguousQName) that not isExtendedLambdaName, dohiliteAmbiguous(used to be calledgenerate).constructorInfo(only when highlighting level == Full): "After the code has been type checked more information may be available for overloaded constructors, and generateConstructorInfo takes advantage of this information. Note, however, that highlighting for overloaded constructors is included also in nameInfo." This is not computed by recursion over the abstract syntax, but gets the constructor names stDisambiguatedNames that fall within the bounds of the current declaration.theRest: Bound variables, dotted patterns, record fields, module names, the "as" and "to" symbols and some other things.Here is a table what
theRestused to collect:-------------------------------------------------------------------- | A.Expr
-------------------------------------------------------------------- | getVarAndField (Expr) | A.Var | bound | getVarAndField | A.Rec(Update) | field | getExpr (Expr) | A.PatternSyn | patsyn | getExpr | A.Macro | macro
-------------------------------------------------------------------- | A.LetBinding
-------------------------------------------------------------------- | getLet | A.LetBind | bound
-------------------------------------------------------------------- | A.LamBinding
-------------------------------------------------------------------- | getLam | A.Binder under A.DomainFree | bound | getTyped | A.Binder under A.TBind | bound
-------------------------------------------------------------------- | A.Pattern'
-------------------------------------------------------------------- | getPattern(Syn) | A.VarP | bound | getPattern(Syn) | A.AsP | bound | getPattern(Syn) | A.DotP (not isProjP) | DottedPattern | getPattern(Syn) | A.RecP | field | getPattern(Syn) | A.PatternSynP | patsyn
-------------------------------------------------------------------- | A.Declaration
-------------------------------------------------------------------- | getFieldDecl | A.Field under A.RecDef | field | getPatSynArgs | A.PatternSynDef | bound | getPragma | A.BuiltinPragma... | keyword
-------------------------------------------------------------------- | A.NamedArg (polymorphism not supported in geniplate)
-------------------------------------------------------------------- | getNamedArg | NamedArg a | nameOf | getNamedArgE | NamedArg Exp | nameOf | getNamedArgP | NamedArg Pattern | nameOf | getNamedArgB | NamedArg BindName | nameOf | getNamedArgL | NamedArg LHSCore | nameOf
| getModuleName | A.MName | mod | getModuleInfo | ModuleInfo | asName, (range of as,to) | getQuantityAttr | Common.Quantity | Symbol (if range)
- 1.
DeclaredNames RecordDirectivesDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsKillRange RecordConNameDefined in Agda-2.8.0.2 · Agda.Syntax.Abstracttype Rep RecordConName = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"RecordConName"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"NamedRecCon"
'PrefixI 'True) (S1 ('MetaSel ('Just"recordConName"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 QName)) :+: C1 ('MetaCons"FreshRecCon"
'PrefixI 'True) (S1 ('MetaSel ('Just"recordConName"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 QName)))type ConOfAbs RecordDirectives = [RecordDirective]Defined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Renaming (generic).
Constructors
Instances7Eq, Show, Generic, NFData, Pretty, KillRange, …
Eq ScopeCopyInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow ScopeCopyInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric ScopeCopyInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData ScopeCopyInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractPretty ScopeCopyInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractKillRange ScopeCopyInfoDefined in Agda-2.8.0.2 · Agda.Syntax.Abstracttype Rep ScopeCopyInfo = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"ScopeCopyInfo"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"ScopeCopyInfo"
'PrefixI 'True) (S1 ('MetaSel ('Just"renModules"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Ren ModuleName)) :*: S1 ('MetaSel ('Just"renNames"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Ren QName))))
The lhs of a clause in spine view (inside-out).
Projection patterns are contained in spLhsPats,
represented as ProjP d.
Instances12Eq, Show, Generic, NFData, HasRange, ToConcrete, …
Eq SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteKillRange SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractExprLike SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsLHSToSpine Clause SpineClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternClause instance.
LHSToSpine LHS SpineLHSDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.PatternLHS instance.
type Rep SpineLHS = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"SpineLHS"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"SpineLHS"
'PrefixI 'True) (S1 ('MetaSel ('Just"spLhsInfo"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHSInfo) :*: (S1 ('MetaSel ('Just"spLhsDefName"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QName) :*: S1 ('MetaSel ('Just"spLhsPats"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [NamedArg Pattern]))))type ConOfAbs SpineLHS = LHSDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Instances11SubstExpr, …
SubstExpr ExprDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubstExpr ModuleNameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubstExpr NameDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubstExpr a => SubstExpr (Arg a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubstExpr a => SubstExpr (FieldAssignment' a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubstExpr a => SubstExpr (List1 a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubstExpr a => SubstExpr (Maybe a)Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubstExpr a => SubstExpr [a]Defined in Agda-2.8.0.2 · Agda.Syntax.AbstractSubstExpr a => SubstExpr (Named name a)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract(SubstExpr a, SubstExpr b) => SubstExpr (Either a b)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract(SubstExpr a, SubstExpr b) => SubstExpr (a, b)Defined in Agda-2.8.0.2 · Agda.Syntax.Abstract
Types are just expressions. Use this type synonym for hinting that an expression should be a type.
Only Axioms.
A typed binding. Appears in dependent function spaces, typed lambdas, and
telescopes. It might be tempting to simplify this to only bind a single
name at a time, and translate, say, (x y : A) to (x : A)(y : A)
before type-checking. However, this would be slightly problematic:
We would have to typecheck the type
Aseveral times.If
Acontains a meta variable or hole, it would be duplicated by such a translation.
While 1. is only slightly inefficient, 2. would be an outright bug.
Duplicating A could not be done naively, we would have to make sure
that the metas of the copy are aliases of the metas of the original.
Instances16Eq, Show, Generic, NFData, HasRange, PrettyTCM, …
Eq TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractPrettyTCM TypedBindingDefined in Agda-2.8.0.2 · Agda.TypeChecking.PrettyToConcrete TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite TypedBindingDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractLensHiding TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBlankVars TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstractKillRange TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractBoundAndUsed TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.UsedNamesExprLike TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsBinder TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.InternalToAbstracttype Rep TypedBinding = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"TypedBinding"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"TBind"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypedBindingInfo)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 (NamedArg Binder))) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) :+: C1 ('MetaCons"TLet"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (List1 LetBinding))))type ConOfAbs TypedBinding = Maybe TypedBindingDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Extra information that is attached to a typed binding, that plays a
role during type checking but strictly speaking is not part of the
name : type" relation which a makes up a binding.
Constructors
TypedBindingInfotbTacticAttr :: TacticAttributeDoes this binding have a tactic annotation?
tbFinite :: BoolDoes this binding correspond to a Partial binder, rather than to a Pi binder? Must be present here to be reflected into abstract syntax later (and to be printed to the user later).
Instances9Eq, Show, Generic, NFData, Null, Hilite, …
Eq TypedBindingInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow TypedBindingInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric TypedBindingInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData TypedBindingInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNull TypedBindingInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHilite TypedBindingInfoDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractKillRange TypedBindingInfoDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractExprLike TypedBindingInfoDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep TypedBindingInfo = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"TypedBindingInfo"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"TypedBindingInfo"
'PrefixI 'True) (S1 ('MetaSel ('Just"tbTacticAttr"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TacticAttribute) :*: S1 ('MetaSel ('Just"tbFinite"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))
Constructors
WhereDeclswhereModule :: Maybe ModuleNamewhereAnywhere :: Boolis it an ordinary unnamed
where?whereDecls :: Maybe DeclarationThe declaration is a Section.
Instances13Eq, Show, Generic, NFData, Null, HasRange, …
Eq WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractShow WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractGeneric WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNFData WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractNull WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractHasRange WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractToConcrete WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcreteHilite WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Interaction.Highlighting.FromAbstractDeclaredNames WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.ViewsKillRange WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.AbstractExprLike WhereDeclarationsDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract.Viewstype Rep WhereDeclarations = D1 ('MetaDataDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract"WhereDeclarations"
"Agda.Syntax.Abstract"
"Agda-2.8.0.2-3KZoCGOoan2Kayji4DU37s"
'False) (C1 ('MetaCons"WhereDecls"
'PrefixI 'True) (S1 ('MetaSel ('Just"whereModule"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ModuleName)) :*: (S1 ('MetaSel ('Just"whereAnywhere"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just"whereDecls"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Declaration)))))type ConOfAbs WhereDeclarations = WhereClauseDefined in Agda-2.8.0.2 · Agda.Syntax.Translation.AbstractToConcrete
Spines corresponding to WhereDeclarations values.
Constructors
Instances1Show
Show WhereDeclarationsSpineDefined in Agda-2.8.0.2 · Agda.Syntax.Abstract
module Agda.Syntax.Abstract.Name