All Classes and Interfaces

Class
Description
 
 
 
 
 
 
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 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.
Concrete classable definitions, corresponding to ClassDef.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Typed capture name, rather than plain strings
 
 
 
 
 
 
 
 
 
 
The shape to Sort term, I am not very work well at type theory, so improve this feel free!
 
Do not need to use Doc, because we do not care about output format.
 
 
 
 
 
Common parts of concrete definitions.
The .ayac file representation.
 
 
 
IApplyConfluence lmao
 
 
 
It's called distiller, and it serves as the pretty printer.
 
 
 
 
 
 
 
core data definition, corresponding to TeleDecl.DataDecl
 
Generic 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 `Expr`.
 
A convenient interface to obtain an endomorphism on `Term`.
A lift but in American English.
Not an IntelliJ Renamer.
Performs capture-avoiding substitution.
 
 
 
 
 
 
 
 
Array Expr
Array Comp(?)
 
 
 
 
 
 
 
 
 
 
 
Let Expression
 
 
 
 
 
 
 
 
partial element
generalized path type
 
 
 
Sugared overloaded projection as coercion syntax
 
def infix + add (a b : Nat) => ...
 
 
 
 
 
 
 
 
 
 
Resolves bindings.
 
 
 
 
ExprTycker.TermResult.type is the type of ExprTycker.TermResult.wellTyped.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Not generated
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A code block
 
 
 
 
 
Similar to GetTypeVisitor in Arend.
 
 
 
 
 
 
 
 
 
 
CheckedTriConsumer
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Partial elements.
partial type
Patterns in the core syntax.
 
 
 
Meta for Hole
It's 'pre' because there are also impossible clauses, which are removed after tycking.
 
 
 
 
generalized path type
'Generalized path' syntax.
Matches a term with a pattern.
Patterns in the concrete syntax.
 
Represent a (Pattern) as bind pattern
 
 
 
 
 
 
Sugared List Pattern
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
subst all binding to corresponding MetaPat
A traversal that disallow Pat.Meta
 
 
 
 
 
 
The unification of patterns.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Relations between size of formal function parameter and function argument in one recursive call.
decrease of callee argument wrt.
increase or unrelated of callee argument wrt.
 
 
 
 
A weaker Relation used in decrease amount (speed) comparison
The new one is better, and it beats all Selector.Evolve.junks, but it still worse than Selector.Evolve.betters
 
The old one is better, The new one is useless.
 
 
 
 
 
 
 
 
 
 
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?
 
 
 
 
 
 
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)).
 
 
 
 
Resolves expressions inside stmts, after StmtShallowResolver
simply adds all top-level names to the context
 
 
 
core struct definition, corresponding to TeleDecl.StructDecl
Fields 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.
 
 
 
 
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).
 
 
TODO[hoshino]: move to another place
This class implements pattern unification with delayed constraints solving.
 
 
 
 
 
 
UserDef<Ret extends Term>
Definitions by user.
 
 
 
 
Instantiates holes (assuming all holes are solved).