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.Do, Expr.Error, Expr.Hole, Expr.Idiom, Expr.ISet, Expr.Lambda, Expr.Let, Expr.LetOpen, Expr.Lift, Expr.LitInt, Expr.LitString, Expr.Match, Expr.New, Expr.PartEl, Expr.Path, Expr.Pi, Expr.Proj, Expr.RawSort, Expr.Ref, Expr.Set, Expr.Sigma, Expr.Tuple, Expr.Type, Expr.Unresolved

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final record 
     
    static final record 
    Array Expr
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
    Let Expression
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
    partial element
    static final record 
    generalized path type
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
    def infix + add (a b : Nat) => ...
    static final record 
     
    static final record 
     
    static interface 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static interface 
     

    Nested classes/interfaces inherited from interface org.aya.guest0x0.cubical.Restr.TermLike

    org.aya.guest0x0.cubical.Restr.TermLike.Factory<T>
  • Method Summary

    Modifier and Type
    Method
    Description
    static @NotNull Expr
    app(@NotNull Expr function, @NotNull kala.collection.SeqView<org.aya.util.error.WithPos<Expr.NamedArg>> arguments)
     
    static @NotNull Expr
    buildLam(@NotNull org.aya.util.error.SourcePos sourcePos, @NotNull kala.collection.SeqView<Expr.Param> params, @NotNull Expr body)
     
    static @NotNull Expr
    buildLet(@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 Expr
    buildNested(@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 terms
    static @NotNull Expr
    buildPi(@NotNull org.aya.util.error.SourcePos sourcePos, @NotNull kala.collection.SeqView<Expr.Param> params, @NotNull Expr body)
     
    @NotNull Expr
    descent(@NotNull UnaryOperator<@NotNull Expr> f)
     
    default Expr
    resolveLax(@NotNull ModuleContext context)
    Do !!!NOT!!! use in the type checker.
    default @NotNull org.aya.pretty.doc.Doc
    toDoc(@NotNull org.aya.util.prettier.PrettierOptions options)
     
    static @NotNull Expr
    unapp(@NotNull Expr expr, @Nullable kala.collection.mutable.MutableList<Expr.NamedArg> args)
     

    Methods inherited from interface org.aya.generic.AyaDocile

    debuggerOnlyToDoc

    Methods inherited from interface org.aya.guest0x0.cubical.Restr.TermLike

    asFormula

    Methods inherited from interface org.aya.util.error.SourceNode

    sourcePos
  • 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.prettier.PrettierOptions 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)
    • 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