class MLStoreFunction[A] extends AnyRef
A compiled ML function specifically transmitting values from Scala to Isabelle.
The function is created by val f = MLStoreFunction(ml)
where ml
is ML code of type
data -> a
, and a
is the ML type corresponding to A
.
When f(data)
is invoked in Scala (with data
of type Data), the compiled ML function ml
is applied to data
(in the Isabelle process), and the resulting value is stored in the object store,
and an MLValue containing the ID is returned.
An MLStoreFunction is particularly useful for writing store methods when writing an MLValue.Converter.
The behavior of an MLStoreFunction[A]
is very similar to an MLFunction[Data,A]
but more efficient. And the MLStoreFunction additionally does not access the
store and retrieve functions of the converter
that is passed as an implicit argument. This is important because we use the MLStoreFunction for writing
those functions in the first place.
- Source
- MLValue.scala
- Alphabetic
- By Inheritance
- MLStoreFunction
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(data: Future[Data])(implicit isabelle: Isabelle, ec: ExecutionContext): MLValue[A]
Like apply(Data) but
data
can be a future.Like apply(Data) but
data
can be a future. The returned MLValuemlVal
will then internally contain that future (i.e., for examplemlVal.
retrieveNow will wait fordata
to complete first). - def apply(data: Data)(implicit isabelle: Isabelle, ec: ExecutionContext): MLValue[A]
Calls the compile ML function on
data
in the Isabelle process and returns an MLValue containing the result of that function. - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val id: Future[ID]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])