模块 aya.base
程序包 org.aya.core.pat

接口 Pat

所有超级接口:
AyaDocile
所有已知实现类:
Pat.Absurd, Pat.Bind, Pat.Ctor, Pat.End, Pat.Meta, Pat.ShapedInt, Pat.Tuple

public sealed interface Pat extends AyaDocile permits Pat.Meta, Pat.Bind, Pat.Absurd, Pat.Tuple, Pat.Ctor, Pat.End, Pat.ShapedInt
  • 嵌套类概要

    嵌套类
    修饰符和类型
    接口
    说明
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
     
    static final record 
    It's 'pre' because there are also impossible clauses, which are removed after tycking.
    static final record 
    TODO[literal]: literal type needs meta-solving for first-class patterns.
    static final record 
     
  • 方法概要

    修饰符和类型
    方法
    说明
    boolean
     
    static @NotNull kala.collection.immutable.ImmutableSeq<Term.Param>
    extractTele(@NotNull kala.collection.SeqLike<Pat> pats)
     
    @NotNull Pat
    inline(@Nullable LocalCtx ctx)
     
    @NotNull Pat
    rename(@NotNull Subst subst, @NotNull LocalCtx localCtx, boolean explicit)
     
    void
    storeBindings(@NotNull LocalCtx ctx)
     
    default @NotNull Arg<Term>
     
    default @NotNull org.aya.pretty.doc.Doc
    toDoc(@NotNull org.aya.util.distill.DistillerOptions options)
     
    @NotNull Expr
    toExpr(@NotNull org.aya.util.error.SourcePos pos)
     
    default @NotNull Term
     
    @NotNull Pat
    zonk(@NotNull Tycker tycker)
     

    从接口继承的方法 org.aya.generic.AyaDocile

    debuggerOnlyToDoc
  • 方法详细资料

    • explicit

      boolean explicit()
    • toTerm

      @NotNull default @NotNull Term toTerm()
    • toExpr

      @NotNull @NotNull Expr toExpr(@NotNull @NotNull org.aya.util.error.SourcePos pos)
    • toArg

      @NotNull default @NotNull Arg<Term> toArg()
    • toDoc

      @NotNull default @NotNull org.aya.pretty.doc.Doc toDoc(@NotNull @NotNull org.aya.util.distill.DistillerOptions options)
      指定者:
      toDoc 在接口中 AyaDocile
    • rename

      @NotNull @NotNull Pat rename(@NotNull @NotNull Subst subst, @NotNull @NotNull LocalCtx localCtx, boolean explicit)
    • zonk

      @NotNull @NotNull Pat zonk(@NotNull @NotNull Tycker tycker)
    • inline

      @NotNull @NotNull Pat inline(@Nullable @Nullable LocalCtx ctx)
      参数:
      ctx - when null, the solutions will not be inlined
      返回:
      inlined patterns
    • storeBindings

      void storeBindings(@NotNull @NotNull LocalCtx ctx)
    • extractTele

      @NotNull static @NotNull kala.collection.immutable.ImmutableSeq<Term.Param> extractTele(@NotNull @NotNull kala.collection.SeqLike<Pat> pats)