Packages

  • package root
    Definition Classes
    root
  • package de
    Definition Classes
    root
  • package unruh
    Definition Classes
    de
  • package isabelle

    This library allows to control an Isabelle process from a Scala application.

    This library allows to control an Isabelle process from a Scala application. For first steps and pointers, see the README.

    Definition Classes
    unruh
  • package control

    This package contains classes for instantiating and controlling an Isabelle process.

    This package contains classes for instantiating and controlling an Isabelle process. The main class is Isabelle, see there for documentation. Controlling the process via the classes in this package is quite low-level. See mlvalue.MLValue for a higher level mechanism.

    Definition Classes
    isabelle
  • object Isabelle
    Definition Classes
    control
  • DInt
  • DList
  • DObject
  • DString
  • Data
  • ID
  • Setup

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. Protected

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(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    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(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. 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 AnyRef

Inherited from Any

Ungrouped