IsabelleClientFull (isabelle_elixir v0.2.0)
View SourceGenServer-backed Isabelle client.
The process owns the TCP socket, so callers may safely use the same client from multiple processes. Operations are serialized deliberately: Isabelle's server can run asynchronous tasks, but a single TCP stream is still easiest to reason about when one process owns reads and writes.
Summary
Functions
Builds an Isabelle session image and waits for the task result.
Returns a specification to start this module under a supervisor.
Stops the client process and closes its socket.
Runs a synchronous Isabelle command through the client process.
Alias for start_link/1.
Round-trips a JSON value through Isabelle's echo command.
Returns the server command names supported by Isabelle.
Purges theories from the active session.
Asks the Isabelle server process to shut down.
Starts a GenServer-backed Isabelle client.
Starts an Isabelle session and stores its session_id in the client process.
Stops the active Isabelle session.
Checks theories in the active session and waits for the task result.
Functions
Builds an Isabelle session image and waits for the task result.
Returns a specification to start this module under a supervisor.
See Supervisor.
Stops the client process and closes its socket.
Runs a synchronous Isabelle command through the client process.
Alias for start_link/1.
Round-trips a JSON value through Isabelle's echo command.
Returns the server command names supported by Isabelle.
Purges theories from the active session.
Asks the Isabelle server process to shut down.
Starts a GenServer-backed Isabelle client.
Starts an Isabelle session and stores its session_id in the client process.
Stops the active Isabelle session.
Checks theories in the active session and waits for the task result.