Module aya.base

Interface Expr

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

  • Method Details

    • descent

      @NotNull @NotNull Expr descent(@NotNull @NotNull UnaryOperator<@NotNull Expr> f)
    • resolveLax

      @Contract(pure=true) default Expr resolveLax(@NotNull @NotNull ModuleContext context)
      Do !!!NOT!!! use in the type checker. This is solely for cosmetic features, such as literate mode inline expressions, or repl.
      See Also:
    • toDoc

      @NotNull default @NotNull org.aya.pretty.doc.Doc toDoc(@NotNull @NotNull org.aya.util.distill.DistillerOptions options)
      Specified by:
      toDoc in interface AyaDocile
    • 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