Synchronously build a configuration.
Synchronously build a configuration.
This operation is idempotent, but not parallel-safe. It must not be running
simultaneously for the same setup, not
even on different JVMs or with differnet configurations. Parallel
invocations of create
should be avoided, but are safe under the
condition that they are using independent configurations, or that the
common ancestors of the configurations have already been successfully
built. Refer to the
documentation of configurations
for more details.
A true
return value indicates a successful build. Currently, there is no
way to elaborate on a failed build.
In the background, this will spawn a prover instance running in a special,
non-interactive mode. Build products will be put into ~/.isabelle
on the
file system.
Asynchronously create a new system based on the specified configuration.
Asynchronously create a new system based on the specified configuration.
The behaviour of this function when the given configuration has not been built yet is unspecified. Since building is idempotent, it is recommended to always build a configuration at least once before creating a system.
This function is thread-safe. It is safe to create multiple system based on the same environment or even configuration. It is guaranteed that they are independent, that is, calling any method will not influence other systems.
Build products will be read from ~/.isabelle
on the file system.
Functions to build and create systems.