All Classes and Interfaces

Class
Description
 
 
 
 
 
 
 
 
 
Aya inline code.
 
Incremental and non-stopping compiler for SCCs.
 
 
 
Tyck statements in SCC.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Expression: where am I? Top-level expression may not need parentheses, stone free! An argument of an application! Stay in parentheses! An operand of a binary application! Applications within are safe, but other binary applications are in danger! Codomain of a telescope
We think of all cubical reductions as beta reductions.
 
Introduces a locally bound variable to the context.
 
 
 
 
 
Callable.Factory<D extends Def,S extends Decl>
This exists solely for simplifying code in the tycker.
Call to a TeleDecl.
Resolve calls and build call graph of recursive functions, after StmtTycker.
ClassCall is a very special construction in Aya.
Concrete classable definitions, corresponding to ClassDef.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Typed capture name, rather than plain strings
Do not need to use Doc, because we do not care about output format.
 
 
 
 
 
Common parts of concrete definitions.
The .ayac file representation.
 
Terms that behave like a ConCall, for example: IntegerTerm behaves like a ConCall, in a efficient way RuleReducer.Con behaves like a ConCall, but it produce a special term Of course, ConCall haves like a ConCall
 
This is the 2.5-th base class of a tycker.
 
IApplyConfluence lmao
 
 
 
It's the pretty printer.
 
 
 
 
 
 
 
 
core data definition, corresponding to TeleDecl.DataDecl
 
Generic concrete definitions, corresponding to GenericDef.
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 `Expr`.
 
A convenient interface to obtain an endomorphism on `Term`.
A lift but in American English.
subst all binding to corresponding MetaPat
A traversal that disallow Pat.Meta
Not an IntelliJ Renamer.
Performs capture-avoiding substitution.
 
 
 
 
 
 
 
 
 
Array Expr
Array Comp(?)
 
 
 
 
 
 
 
 
 
 
 
 
Let Expression
 
 
 
 
 
 
 
 
 
partial element
generalized path type
 
 
 
def infix + add (a b : Nat) => ...
 
 
 
 
 
 
 
 
 
 
Resolves bindings.
 
 
 
 
 
 
 
 
 
 
 
 
 
Term formers, definitely.
 
 
 
 
 
 
 
 
Not generated
 
 
 
 
 
 
 
 
 
 
 
 
 
IntegerOps<Core extends Def,Concrete extends TeleDecl<?>>
IntegerOps acts like a DefVar with special reduce rule.
 
 
 
An efficient represent for Nat
 
 
 
 
 
 
 
 
This is the third base-base class of a tycker.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Constraints on a meta variable.
The meta variable is a type.
The meta variable is the domain of a pi type which is of a known type.
The type of the meta is known.
 
 
 
This is the 2.25-th base class of a tycker.
 
CheckedTriConsumer
 
A data class that contains all public definitions/re-exports of some module.
 
 
This interface represents a name to some module, which can be a relative `ModuleName.ThisRef` or a qualified name `ModuleName.Qualified`.
 
 
An absolute path to a module.
A container of symbols.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A Nested structure is something consists of a head and a body, for example: Expr.Lambda is a nested structure, it has a Expr.Param as a head and a Expr as a body Expr.Let is a nested structure, it has a Expr.LetBind as a head and a Expr as a body If you wish, Expr.App is also a nested structure in some way
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Partial elements.
Type of partial elements.
Patterns in the core syntax.
 
 
 
Meta for Hole
It's 'pre' because there are also impossible clauses, which are removed after tycking.
 
 
 
'Generalized path' syntax.
Matches a term with a pattern.
 
 
 
 
 
Expecting a certain ctor, ShapeMatcher will crash if the is invalid (such as undefined or not a DataShaped thing)
Patterns in the concrete syntax.
 
Represent a (Pattern) as bind pattern
 
 
 
 
 
 
Sugared List Pattern
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A Pattern Tycker for only one use.
 
 
The unification of patterns.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Result.Default.type is the type of Result.Default.wellTyped.
 
 
 
A special ConCall which can be reduced to something interesting.
 
 
 
 
 
 
 
 
 
 
 
serialized AyaShape
Serialized version of BindBlock
Serialized version of OpDecl.OpInfo
To use serialized operators in AyaBinOpSet
Serialized version of ResolveInfo.RenamedOpDecl
serialized ShapeRecognition
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
What should I do after I creating a new Shape?
Shaped.Applicable<T extends AyaDocile,Core extends Def,Concrete extends TeleDecl<?>>
Something Shaped which is applicable, like FnDef, CtorDef, and probably DataDef
 
 
 
 
 
 
 
 
 
Concrete version of RefFinder but only header is searched.
 
 
Cubical-stable WHNF: those who will not change to other term formers after a substitution (this usually happens under face restrictions (aka cofibrations)).
This is the second base-base class of a tycker.
 
 
 
 
Resolves expressions inside stmts, after StmtShallowResolver
simply adds all top-level names to the context
 
 
Coconstructors or constructors, in contrast to TopLevelDef.
"Substitution object"
Similar to GetTypeVisitor in Arend.
 
 
 
Concrete telescopic definition, corresponding to Def.
 
 
 
Concrete data definition
 
 
Concrete function definition
 
 
A well-typed and terminating term.
 
 
 
 
A convenient interface to consume a `Term`.
 
 
 
 
 
 
 
 
The shape to Sort term, I am not very work well at type theory, so improve this feel free!
Top-level definitions.
 
 
 
 
 
 
 
 
This is the base-base class of a tycker.
 
 
 
 
 
 
body order
header order
 
 
 
 
Currently we only deal with ambiguous equations (so no 'stuck' equations).
 
 
 
This is the fourth base-base class of a tycker.
This class implements pattern unification with delayed constraints solving.
 
 
 
 
 
 
 
 
 
 
 
UserDef<Ret extends Term>
Definitions by user.
 
 
 
YouTrack checks confluence.
Instantiates holes (assuming all holes are solved).