Module aya.base

Interface TeleTycker

All Superinterfaces:
Contextful
All Known Subinterfaces:
TeleTycker.Impl
All Known Implementing Classes:
TeleTycker.Con, TeleTycker.Default

public sealed interface TeleTycker extends Contextful permits TeleTycker.Impl
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final record 
     
    static final record 
     
    static interface 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    bindTele(kala.collection.immutable.ImmutableSeq<org.aya.syntax.ref.LocalVar> binds, kala.collection.mutable.MutableSeq<org.aya.syntax.core.term.Param> tele)
    Replace FreeTerm in with appropriate index
    default @NotNull org.aya.syntax.core.def.Signature
    checkSignature(@NotNull kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.Expr.Param> cTele, @NotNull org.aya.util.error.WithPos<org.aya.syntax.concrete.Expr> result)
     
    default @NotNull kala.collection.immutable.ImmutableSeq<org.aya.util.error.WithPos<org.aya.syntax.core.term.Param>>
    checkTele(@NotNull kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.Expr.Param> cTele)
    Does not zonk the result.
    default @NotNull kala.collection.mutable.MutableSeq<org.aya.syntax.core.term.Param>
    checkTeleFree(kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.Expr.Param> cTele)
    Check the tele with free variables remaining in the localCtx.
    @NotNull org.aya.syntax.core.term.Term
    checkType(@NotNull org.aya.util.error.WithPos<org.aya.syntax.concrete.Expr> typeExpr)
    Tyck a expr that is expected to be a type
    static void
    loadTele(@NotNull kala.collection.SeqView<org.aya.syntax.ref.LocalVar> binds, @NotNull org.aya.syntax.core.def.Signature signature, @NotNull ExprTycker tycker)
     

    Methods inherited from interface org.aya.tyck.tycker.Contextful

    freshMeta, generatePi, localCtx, mockTerm, setLocalCtx, subscoped, with
  • Method Details

    • checkType

      @NotNull @NotNull org.aya.syntax.core.term.Term checkType(@NotNull @NotNull org.aya.util.error.WithPos<org.aya.syntax.concrete.Expr> typeExpr)
      Tyck a expr that is expected to be a type
      Returns:
      well-typed type or ErrorTerm
    • checkSignature

      @Contract(pure=true) @NotNull default @NotNull org.aya.syntax.core.def.Signature checkSignature(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.Expr.Param> cTele, @NotNull @NotNull org.aya.util.error.WithPos<org.aya.syntax.concrete.Expr> result)
      Returns:
      a locally nameless signature computed from what's in the localCtx.
    • checkTele

      @NotNull default @NotNull kala.collection.immutable.ImmutableSeq<org.aya.util.error.WithPos<org.aya.syntax.core.term.Param>> checkTele(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.Expr.Param> cTele)
      Does not zonk the result. Need you to zonk them.
    • checkTeleFree

      @Contract(pure=true) @NotNull default @NotNull kala.collection.mutable.MutableSeq<org.aya.syntax.core.term.Param> checkTeleFree(kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.Expr.Param> cTele)
      Check the tele with free variables remaining in the localCtx. Does not zonk!
    • bindTele

      @Contract(mutates="param2") static void bindTele(kala.collection.immutable.ImmutableSeq<org.aya.syntax.ref.LocalVar> binds, kala.collection.mutable.MutableSeq<org.aya.syntax.core.term.Param> tele)
      Replace FreeTerm in with appropriate index
    • loadTele

      @Contract(mutates="param3") static void loadTele(@NotNull @NotNull kala.collection.SeqView<org.aya.syntax.ref.LocalVar> binds, @NotNull @NotNull org.aya.syntax.core.def.Signature signature, @NotNull @NotNull ExprTycker tycker)