Packages

final class TVar extends ConcreteTyp

A schematic type variable (ML constructor TVar). name is the name of the type variable (e.g., "'a'") and sort its sort. (The sort is a list of fully qualified type class names.)

Schematic type variables are the ones that are represented with a leading question mark in Isabelle's parsing and pretty printing. E.g., ?'a is a TVar with name="'a" and index=0. And ?'b1 or ?'b.1 is a TVar with name="'b" and index=1.

Note that type variables whose names do not start with ' are not legal in Isabelle.

Source
Typ.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TVar
  2. ConcreteTyp
  3. Typ
  4. FutureValue
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def -->:(that: Typ)(implicit ec: ExecutionContext): Type

    t -->: u is shorthand for Type("fun", t, u), i.e., for a function from t to u.

    t -->: u is shorthand for Type("fun", t, u), i.e., for a function from t to u.

    Definition Classes
    Typ
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def await: Unit

    Blocks until this future value is computed.

    Blocks until this future value is computed. (Or throws an exception if the computation fails.)

    Definition Classes
    TVarFutureValue
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. val concrete: TVar.this.type

    returns

    this

    Definition Classes
    ConcreteTypTyp
  9. def concreteComputed: Boolean

    returns

    true

    Definition Classes
    ConcreteTypTyp
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(that: Any): Boolean

    Equality of types.

    Equality of types. Returns true iff the two Typ instances represent the same type in the Isabelle process. (E.g., a Ctyp and a TFree can be equal.) May throw an exception if the computation of the terms fails. (But will not fail if await or a related FutureValue method has returned successfully on both terms.)

    Definition Classes
    Typ → AnyRef → Any
  12. def force: TVar.this.type

    Waits till the computation of this value (in the Isabelle process) has finished.

    Waits till the computation of this value (in the Isabelle process) has finished. (Or until an exception is thrown.)

    returns

    this value, but it is guaranteed to have completed the computation

    Definition Classes
    FutureValue
  13. def forceFuture(implicit ec: ExecutionContext): Future[TVar.this.type]

    A future containing this object with the computation completed.

    A future containing this object with the computation completed. In particular, if this value throws an exception upon computation, the future holds that exception.

    Roughly the same as Future { this.force }.

    Definition Classes
    TVarFutureValue
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. def hashCode(): Int

    Hash code compatible with equals.

    Hash code compatible with equals. May fail with an exception, see equals.

    Definition Classes
    TVarTyp → AnyRef → Any
  16. val index: Int
  17. val initialMlValue: MLValue[Typ]
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. implicit val isabelle: Isabelle

    Isabelle instance relative to which this type was constructed.

    Isabelle instance relative to which this type was constructed.

    Definition Classes
    TVarTyp
  20. lazy val mlValue: MLValue[Typ]

    Transforms this type into an MLValue containing this type.

    Transforms this type into an MLValue containing this type. This causes transfer of the type to Isabelle only the first time it is accessed (and not at all if the type came from the Isabelle process in the first place).

    Definition Classes
    TVarTyp
  21. val name: String
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  25. def pretty(ctxt: Context)(implicit ec: ExecutionContext): String

    Produces a string representation of this type.

    Produces a string representation of this type. Uses the Isabelle pretty printer.

    ctxt

    The Isabelle proof context to use (this contains syntax declarations etc.)

    Definition Classes
    Typ
  26. def someFuture: Future[Any]

    Returns a future that completes when the computation of this object is complete.

    Returns a future that completes when the computation of this object is complete. (Or that holds an exception if that computation throws an exception.) However, upon successful completion, the future may return an arbitrary (and thus useless) value. May be faster to implement than forceFuture because there may be already a future available but that returns the wrong value.

    Definition Classes
    TVarFutureValue
  27. val sort: List[String]
  28. def stateString: String

    A utility method that returns "" if this value was successfully computed, " (computing)" if it still computes, and " (failed)" if it finished with an exception.

    A utility method that returns "" if this value was successfully computed, " (computing)" if it still computes, and " (failed)" if it finished with an exception.

    This can be useful to constructing human readable messages about this value.

    Definition Classes
    FutureValue
  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. def toString: String

    Produces a string representation of this type.

    Produces a string representation of this type.

    This is not a "pretty" representation, it does not use Isabelle syntax, and subterms that are stored only in the Isabelle process are replaced with a placeholder (thus this method does not invoke any potentially communication with the Isabelle process).

    Definition Classes
    TVarTyp → AnyRef → Any
    See also

    pretty for pretty printed type

  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from ConcreteTyp

Inherited from Typ

Inherited from FutureValue

Inherited from AnyRef

Inherited from Any

Ungrouped