class MLRetrieveFunction[A] extends AnyRef
A compiled ML function specifically transmitting values from Isabelle to Scala.
The function is created by val f = MLRetrieveFunction(ml) where ml is ML code of type
a -> data, and a is the ML type corresponding to A.
When f(mlVal : MLValue[A]) is invoked in Scala, the compiled ML function ml
is applied to the ML value of type a referenced by mlVal in the object store in the Isabelle process.
The result (of ML type data) is then transferred back to Scala and returned (in a Future).
An MLRetrieveFunction is particularly useful for writing retrieve methods when writing an MLValue.Converter.
The behavior of an MLRetrieveFunction[A] is very similar to an MLFunction[A,Data]
but more efficient. And the MLRetrieveFunction 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 MLRetrieveFunction for writing
those functions in the first place.
- Source
- MLValue.scala
- Alphabetic
- By Inheritance
- MLRetrieveFunction
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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(value: MLValue[A])(implicit isabelle: Isabelle, ec: ExecutionContext): Future[Data]
Calls the compiled function on the value of ML type
areferenced byvalueand returns the result to the Isabelle process (in a Future). -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )