final class Transition extends MLValueWrapper[Transition]
Represents a transition between proof states (ML type Toplevel.transition) in the Isabelle process.
Use Transition.parseOuterSyntax to parse Isar source code into into a list of transitions.
An instance of this class is merely a thin wrapper around an MLValue.
- Source
- Transition.scala
- Alphabetic
- By Inheritance
- Transition
- MLValueWrapper
- FutureValue
- 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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
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
- MLValueWrapper → FutureValue
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
execute(state: ToplevelState, timeout: Duration = Duration.Inf, interactive: Boolean = false)(implicit isabelle: Isabelle): ToplevelState
Execute the transition on a TopLevelState (ML function
Toplevel.command_exception).Execute the transition on a TopLevelState (ML function
Toplevel.command_exception).- state
The state on which to execute the transition.
- timeout
Maximum duration (after which the execution is aborted with an IsabelleMLException). The minimum granularity should be 1 ms, but it seems the timeout gets rounded up to full seconds by ML. Timeouts smaller than 1ms are treated as 1ms (rather than infinite, as in ML
Timeout.apply). Timeouts are scaled by the Isabelletimeout_scalesystem option, though the default is 1.- interactive
Whether the command is run interactively (as in jEdit) or in a batch (as in
isabelle build).
-
def
force: Transition.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
-
def
forceFuture(implicit isabelle: Isabelle): Future[Transition.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.
- Definition Classes
- FutureValue
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
isIgnored(implicit isabelle: Isabelle): Boolean
Returns whether the transition is just whitespace, comments, text (ML function
Toplevel.is_ignored). -
def
isInit(implicit isabelle: Isabelle): Boolean
Returns whether this transition introduces a theory ("theory ..
Returns whether this transition introduces a theory ("theory .. begin", ML function
Toplevel.is_init).Init transitions can only be applied to toplevel states in theory mode.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isMalformed(implicit isabelle: Isabelle): Boolean
Returns true if the transition is a parsing error (ML function
Toplevel.is_malformed). -
val
mlValue: MLValue[Transition]
An MLValue referencing
this(in the Isabelle process).An MLValue referencing
this(in the Isabelle process). Sincethisis just a thin wrapper around an MLValue, mlValue carries exactly the same data asthisand can be converted back and forth quickly (no transfer of data to/from the Isabelle process involved).Same as MLValue
(this), assuming the correct MLValue.Converter from the companion object forAis imported.- Definition Classes
- Transition → MLValueWrapper
-
def
name(implicit isabelle: Isabelle): String
Returns the command name (ML function
Toplevel.name_of).Returns the command name (ML function
Toplevel.name_of).Examples: "theory", "section", "lemma", "by", "using", "definition", 'locale", "record", "end". The name is "<ignored>" if and only if isIgnored is true. The name is "<malformed>" if and only if isMalformed is true.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
def
position(implicit isabelle: Isabelle): Position
Returns the position of this transition's command name.
-
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
- MLValueWrapper → FutureValue
-
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
-
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( ... )