所有类和接口
类
说明
Incremental and non-stopping compiler for SCCs.
Tyck statements in SCC.
Expression: where am I?
We think of all cubical reductions as beta reductions.
Introduces a locally bound variable to the context.
Call graph is a multi-graph; each vertex represents a definition and each edge from vertex `f`
to vertex `g` represents a call to `g` within `f`.
A call matrix for a call `f --> g` has dimensions `arity(g) * arity(f)`.
Resolve calls and build call graph of recursive functions,
after
StmtTycker.This exists solely for simplifying code in the tycker.
Concrete classable definitions, corresponding to
ClassDef.Common parts of concrete definitions.
The .ayac file representation.
The name is short for "condition checker"
It's called distiller, and it serves as the pretty printer.
core data definition, corresponding to
TeleDecl.DataDeclGeneric concrete definitions, corresponding to
GenericDef.Denotes that the definition has a result type
Denotes that the definition is telescopic
Denotes that the definition can be defined at top-level
Signature of a definition, used in concrete and tycking.
Elimination rules.
A convenient interface to obtain an endomorphism on `Term`.
A lift but in American English.
Not an IntelliJ Renamer.
Performs capture-avoiding substitution.
partial element
generalized path type
def infix + add (a b : Nat) => ...
Resolves bindings.
ExprTycker.TermResult.type is the type of ExprTycker.TermResult.wellTyped.A generic view for traversing Expr
Formation rules.
'Generalized path' syntax.
partial type
generalized path type
Introduction rules.
partial element
Similar to
GetTypeVisitor in Arend.CheckedTriConsumer
It's 'pre' because there are also impossible clauses, which are removed after tycking.
TODO[literal]: literal type needs meta-solving for first-class patterns.
Matches a term with a pattern.
The unification of patterns.
Relations between size of formal function parameter and function argument
in one recursive call.
decrease of callee argument wrt. caller parameter
increase or unrelated of callee argument wrt. caller parameter.
A weaker
Relation used in decrease amount (speed) comparisonThe new one is better, and it beats all
Selector.Evolve.junks, but it still worse than Selector.Evolve.bettersThe old one is better, The new one is useless.
serialized
AyaShapeSerialized version of
BindBlockSerialized version of
OpDecl.OpInfoTo use serialized operators in
AyaBinOpSetSerialized version of
ResolveInfo.RenamedOpDeclConcrete version of RefFinder but only header is searched.
Cubical-stable WHNF: those who will not change to other term formers
under face restrictions (aka cofibrations).
Resolves expressions inside stmts, after
StmtShallowResolversimply adds all top-level names to the context
core struct definition, corresponding to
TeleDecl.StructDeclFields or constructors, in contrast to
TopLevelDef."Substitution object"
Concrete telescopic definition, corresponding to
Def.Concrete data definition
Concrete function definition
Concrete structure definition
A well-typed and terminating term.
Bidirectional unification of terms, with abstract
TermComparator.solveMeta(org.aya.core.term.Term, org.aya.tyck.unify.TermComparator.Sub, org.aya.tyck.unify.TermComparator.Sub, org.aya.core.term.CallTerm.Hole).A convenient interface to consume a `Term`.
Top-level definitions.
This is a lightweight abstraction of a tycker,
primarily designed to be used in
Zonker.body order
header order
Currently we only deal with ambiguous equations (so no 'stuck' equations).
This class implements pattern unification with delayed constraints solving.
Definitions by user.
Instantiates holes (assuming all holes are solved).