- All Superinterfaces:
AyaDocile,org.aya.guest0x0.cubical.Restr.TermLike<Expr>,org.aya.util.error.SourceNode
- All Known Subinterfaces:
Expr.Sort
- All Known Implementing Classes:
Expr.App,Expr.Array,Expr.BinOpSeq,Expr.Coe,Expr.Do,Expr.Error,Expr.Hole,Expr.Idiom,Expr.ISet,Expr.Lambda,Expr.Let,Expr.Lift,Expr.LitInt,Expr.LitString,Expr.Match,Expr.New,Expr.PartEl,Expr.Path,Expr.Pi,Expr.Proj,Expr.Prop,Expr.RawProj,Expr.RawSort,Expr.Ref,Expr.Set,Expr.Sigma,Expr.Tuple,Expr.Type,Expr.Unresolved
public sealed interface Expr
extends AyaDocile, org.aya.util.error.SourceNode, org.aya.guest0x0.cubical.Restr.TermLike<Expr>
permits Expr.PartEl, Expr.Lambda, Expr.Unresolved, Expr.Error, Expr.Hole, Expr.App, Expr.Pi, Expr.Do, Expr.Idiom, Expr.Sigma, Expr.Ref, Expr.Lift, Expr.RawSort, Expr.Sort, Expr.Tuple, Expr.Proj, Expr.RawProj, Expr.Coe, Expr.New, Expr.Match, Expr.LitInt, Expr.LitString, Expr.BinOpSeq, Expr.Path, Expr.Array, Expr.Let
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordstatic final recordArray Exprstatic final recordstatic final recordcalls toPrimDef.ID.COEPrimDef.ID.COEFILLPrimDef.ID.COEINVPrimDef.ID.COEINVFILLdesugared fromExpr.RawProjfor simplicity.static final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordLet Expressionstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordstatic final recordpartial elementstatic final recordgeneralized path typestatic final recordstatic final recordstatic final recordstatic final recordSugared overloaded projection as coercion syntaxstatic final recordstatic final recorddef infix + add (a b : Nat) => ...static final recordstatic final recordstatic interfacestatic final recordstatic final recordstatic final recordstatic interfaceNested classes/interfaces inherited from interface org.aya.guest0x0.cubical.Restr.TermLike
org.aya.guest0x0.cubical.Restr.TermLike.Factory<T> -
Method Summary
Modifier and TypeMethodDescriptionstatic @NotNull Exprapp(@NotNull Expr function, @NotNull kala.collection.SeqView<org.aya.util.error.WithPos<Expr.NamedArg>> arguments) static @NotNull ExprbuildLam(@NotNull org.aya.util.error.SourcePos sourcePos, @NotNull kala.collection.SeqView<Expr.Param> params, @NotNull Expr body) static @NotNull ExprbuildLet(@NotNull org.aya.util.error.SourcePos sourcePos, @NotNull kala.collection.SeqView<Expr.LetBind> binds, @NotNull Expr body) static <P extends org.aya.util.error.SourceNode>
@NotNull ExprbuildNested(@NotNull org.aya.util.error.SourcePos sourcePos, @NotNull kala.collection.SeqView<P> params, @NotNull Expr body, @NotNull kala.function.TriFunction<org.aya.util.error.SourcePos, P, Expr, Expr> constructor) convert flattened terms into nested right-associate termsstatic @NotNull ExprbuildPi(@NotNull org.aya.util.error.SourcePos sourcePos, @NotNull kala.collection.SeqView<Expr.Param> params, @NotNull Expr body) @NotNull Exprdescent(@NotNull UnaryOperator<@NotNull Expr> f) default ExprresolveLax(@NotNull ModuleContext context) Do !!!NOT!!! use in the type checker.default @NotNull org.aya.pretty.doc.DoctoDoc(@NotNull org.aya.util.distill.DistillerOptions options) static @NotNull Exprunapp(@NotNull Expr expr, @Nullable kala.collection.mutable.MutableList<Expr.NamedArg> args) static @NotNull Exprunlam(@NotNull Expr expr, int max, @NotNull Consumer<Expr.Param> params) Methods inherited from interface org.aya.generic.AyaDocile
debuggerOnlyToDocMethods inherited from interface org.aya.guest0x0.cubical.Restr.TermLike
asFormulaMethods inherited from interface org.aya.util.error.SourceNode
sourcePos
-
Method Details
-
descent
-
resolveLax
Do !!!NOT!!! use in the type checker. This is solely for cosmetic features, such as literate mode inline expressions, or repl. -
toDoc
@NotNull default @NotNull org.aya.pretty.doc.Doc toDoc(@NotNull @NotNull org.aya.util.distill.DistillerOptions options) -
app
@NotNull static @NotNull Expr app(@NotNull @NotNull Expr function, @NotNull @NotNull kala.collection.SeqView<org.aya.util.error.WithPos<Expr.NamedArg>> arguments) -
unapp
@NotNull static @NotNull Expr unapp(@NotNull @NotNull Expr expr, @Nullable @Nullable kala.collection.mutable.MutableList<Expr.NamedArg> args) -
unlam
@NotNull static @NotNull Expr unlam(@NotNull @NotNull Expr expr, int max, @NotNull @NotNull Consumer<Expr.Param> params) -
buildPi
@NotNull static @NotNull Expr buildPi(@NotNull @NotNull org.aya.util.error.SourcePos sourcePos, @NotNull @NotNull kala.collection.SeqView<Expr.Param> params, @NotNull @NotNull Expr body) -
buildLam
@NotNull static @NotNull Expr buildLam(@NotNull @NotNull org.aya.util.error.SourcePos sourcePos, @NotNull @NotNull kala.collection.SeqView<Expr.Param> params, @NotNull @NotNull Expr body) -
buildLet
@NotNull static @NotNull Expr buildLet(@NotNull @NotNull org.aya.util.error.SourcePos sourcePos, @NotNull @NotNull kala.collection.SeqView<Expr.LetBind> binds, @NotNull @NotNull Expr body) -
buildNested
@NotNull static <P extends org.aya.util.error.SourceNode> @NotNull Expr buildNested(@NotNull @NotNull org.aya.util.error.SourcePos sourcePos, @NotNull @NotNull kala.collection.SeqView<P> params, @NotNull @NotNull Expr body, @NotNull @NotNull kala.function.TriFunction<org.aya.util.error.SourcePos, P, Expr, Expr> constructor) convert flattened terms into nested right-associate terms
-