Packages

sealed trait Data extends AnyRef

An algebraic datatype that allows to encode trees of data containing integers (DInt), strings (DString), and IDs of objects (DObject) in the object store of the Isabelle process. A constructor DList is used to create a tree structure.

No particular semantics is given to these trees, their purpose is to be a sufficiently flexible datatype to be able to encode arbitrary data types for transfer.

A corresponding datatype is defined in the Control_Isabelle ML structure in the Isabelle process:

datatype data = DString of string | DInt of int | DList of data list | DObject of exn

Note that while DObject on the Scala side contains an ID of an object, on the ML side we instead directly have the object that is references (of type exn). Serialization and deserialization creates and dereferences object IDs as needed.

The data that can be stored in these trees is subject to the following additional limitations:

  • Strings must be ASCII (non-ASCII characters will be replaced by default characters).
  • Integers must be 64bit signed integers (this is enforced in Scala due to the size of the type Long but ML integers have no size limit (like BigInt)). Larger integers will be truncated to 64 bits.
  • Strings must be at most 67.108.856 characters long (String.maxSize in ML). Otherwise there an exception is raised in the Isabelle process
Source
Isabelle.scala
See also

applyFunction for details how to use this type to transfer data

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Data
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

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

Inherited from AnyRef

Inherited from Any

Ungrouped